Skip to main content

Overview

CommandDescriptionCost
naive formation naics-codesList NAICS industry codesFree
naive formation submit [options]Step 1: Validate KYC + create $249 hosted checkoutFree (creates checkout)
naive formation retry-payment <id>Generate fresh checkout URL if original expiredFree
naive formation execute <id>Step 2: Submit for filing after payment$249 paid via hosted checkout
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)   → payment webhook marks formation as paid
3. naive formation execute <id>      → Dispatches the filing (decrypts PII from the encrypted identity vault)

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 hosted 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.usenaive.ai/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 the formation"
  }
}

Retry Payment

If the hosted 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.usenaive.ai/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 for filing)

Run after the user has paid via the checkout URL. Decrypts PII from the encrypted identity vault and submits the filing.
naive formation execute <formation-id>

Output

{
  "success": true,
  "action": "formation.execute",
  "result": {
    "id": "formation-uuid",
    "formation_customer_id": "formation-customer-id",
    "formation_company_id": "formation-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).