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.

After the user pays the $249 formation fee via the Stripe Checkout URL returned from POST /v1/formation, call this endpoint to submit the formation to Doola. This step:
  1. Verifies payment_status === "paid" (returns invalid_input if not)
  2. Creates a Doola customer
  3. Decrypts PII (SSN, DOB, address, etc.) from Footprint vault for each KYC member
  4. Maps fields to Doola’s schema (SSN format, DOB format, country code conversion)
  5. Submits formation to Doola
id
string
required
UUID of the formation (from POST /v1/formation response).
curl -X POST https://api.usenaive.ai/v1/formation/formation-uuid/submit \
  -H "Authorization: Bearer nv_sk_live_..."
{
  "id": "formation-uuid",
  "company_id": "company-uuid",
  "verification_id": "verification-uuid",
  "doola_customer_id": "doola-customer-id",
  "doola_company_id": "doola-company-id",
  "entity_type": "LLC",
  "state": "WY",
  "status": "submitted",
  "payment_status": "paid",
  "doola_error": null,
  "documents": null,
  "created_at": "2026-05-04T12:00:00.000Z",
  "updated_at": "2026-05-04T12:05:00.000Z"
}
If the formation has already been submitted, this returns the current state (idempotent). If any step fails, the formation status becomes failed and doola_error contains the error message — but the doola_customer_id is preserved so a retry can resume from where it left off.