Skip to main content

Documentation Index

Fetch the complete documentation index at: https://usenaive.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Overview

CommandDescriptionCost
naive formation naics-codesList NAICS industry codesFree
naive formation submit [options]Step 1: Validate KYC + create $249 Stripe CheckoutFree (creates checkout)
naive formation retry-payment <id>Generate fresh checkout URL if original expiredFree
naive formation execute <id>Step 2: Submit to Doola after payment$249 paid via Stripe
naive formation listList all formationsFree
naive formation status <id>Get formation detailsFree
naive formation documents <id>List formation documentsFree
naive formation download <formationId> <docId>Get document download URLFree

Two-Step Flow

1. naive formation submit ...        → Returns checkout_url for $249 payment
2. (User opens checkout_url, pays)   → Stripe webhook marks formation as paid
3. naive formation execute <id>      → Submits to Doola (decrypts PII from Footprint)

List NAICS Codes

naive formation naics-codes
Returns industry codes needed for the --naics parameter when submitting.

Submit Formation (Step 1: Create Checkout)

Requires completed KYC verification for all founders. Returns a Stripe Checkout URL for the $249 formation fee.
naive formation submit \
  --verification-id 3dcde53f-abaa-4bb6-a5b5-2d704fad6c19 \
  --state WY \
  --naics 2o8v0kcaCWyPyi3LJFsCiTCFSyk \
  --description "AI-powered business automation" \
  --names '[{"name":"Acme Tech","entity_type_ending":"LLC"},{"name":"Acme Solutions","entity_type_ending":"LLC"}]'

Options

FlagRequiredDescription
--verification-id <id>YesUUID of completed KYC verification
--state <state>Yes2-letter US state code
--naics <naicsCodeId>YesNAICS code ID
--description <desc>YesBusiness description (max 256 chars)
--names <json>YesJSON array of name options
--address <json>NoJSON mailing address (defaults to KYC address)

Output

{
  "success": true,
  "action": "formation.submit",
  "result": {
    "id": "formation-uuid",
    "status": "awaiting_payment",
    "payment_status": "unpaid",
    "checkout_url": "https://checkout.stripe.com/c/pay/cs_test_xxx",
    "price_usd": "$249",
    "next_step": "Open the checkout_url to complete payment, then call POST /v1/formation/:id/submit to submit to Doola"
  }
}

Retry Payment

If the Stripe Checkout session expires before the user completes payment, the formation moves to failed. Use this command to generate a new checkout URL without losing the business info.
naive formation retry-payment <formation-id>
{
  "success": true,
  "action": "formation.retry-payment",
  "result": {
    "id": "formation-uuid",
    "status": "awaiting_payment",
    "checkout_url": "https://checkout.stripe.com/c/pay/cs_test_new_xxx",
    "price_usd": "$249"
  }
}
Cannot be used on formations that are already paid — those should use execute instead.

Execute Formation (Step 2: Submit to Doola)

Run after the user has paid via the checkout URL. Decrypts PII from Footprint and submits to Doola.
naive formation execute <formation-id>

Output

{
  "success": true,
  "action": "formation.execute",
  "result": {
    "id": "formation-uuid",
    "doola_customer_id": "doola-customer-id",
    "doola_company_id": "doola-company-id",
    "status": "submitted",
    "payment_status": "paid"
  }
}
If payment_status is not paid, returns an invalid_input error.

List Formations

naive formation list

Check Status

naive formation status <formation-id>

List Documents

naive formation documents <formation-id>
Available after formation completes. Types: ArticlesOfOrganization, EinLetter, Mail.

Download Document

naive formation download <formation-id> <document-id>
Returns a temporary signed download URL (expires in ~1 hour).