Skip to main content
POST

Authorizations

Authorization
string
header
required

Partner API key. Send the raw key as the Authorization header value — e.g. dk_test_… in sandbox or dk_live_… in production. Generate and rotate keys in the doola Partner Portal.

Headers

Idempotency-Key
string
required

Unique key that makes the import safe to retry. Reuse the same value to retry; if the import fails before committing, the key is released, so retry with the same value.

Body

application/json

Request body to import a company your customer already formed outside doola. Nothing is filed: the company is recorded as it exists today.

doolaCustomerId
string
required

doola customer ID (KSUID) that owns the company.

Minimum string length: 1
entityType
enum<string>
required

Entity type. An LLC takes members; a CCorp takes executiveMembers and ccorpValuation.

Available options:
LLC,
CCorp
Minimum string length: 1
Example:

"LLC"

state
string
required

US state of formation (two-letter abbreviation).

Minimum string length: 1
Example:

"WY"

nameOptions
object[]
required

The legal name as filed with the state, as exactly one name option: the name without the entity ending, and an ending that belongs to entityType. position is ignored.

formationFilingDate
string<date>
required

Date the state formed the company. Cannot be in the future.

Example:

"2023-04-12"

formationFilingNumber
string
required

Filing number the state assigned when it formed the company. A state and filing number can be registered with doola only once.

Maximum string length: 255
Example:

"2023-001234567"

industry
string
required

Unique NAICS industry label (the industry value from GET /v1/partner/references/naics-codes).

Minimum string length: 1
Example:

"Custom Computer Programming Services"

description
string
required

Short description of what the business does.

Required string length: 1 - 50
Example:

"Custom software development for small businesses."

responsibleParty
object
required

The person legally responsible for the company.

addresses
object[]
required

The company's principal (business) and mailing addresses. Exactly one of each, both with provider set to customer: doola is not the company's registered agent.

registeredAgent
object
required

The registered agent the company has today.

managementType
enum<string>

Who runs the LLC. Required for an LLC, where members lists the owners either way; omit for a CCorp, which its officers run.

Available options:
MEMBER_MANAGED,
MANAGER_MANAGED
Example:

"MEMBER_MANAGED"

ein
string

Employer Identification Number, if the company has one.

Pattern: ^[0-9]{2}-[0-9]{7}$
Example:

"99-1234567"

members
object[]

LLC members with their ownership percentages, which must total 100. Required for an LLC; omit for a CCorp.

managers
object[]

Managers of a manager-managed LLC: at least one is required when managementType is MANAGER_MANAGED, and none may be sent otherwise. Each follows the same rules as responsibleParty. members still lists the owners.

executiveMembers
object[]

C-Corp officers and directors. Required for a CCorp; omit for an LLC. Include at least one President, Secretary, Treasurer, and Director.

ccorpValuation
object

C-Corp authorized shares and par value. Required for a CCorp; omit for an LLC.

Response

Imported. importStatus is AWAITING_DOCUMENTS and documentRequirements lists the documents to upload next: the Articles always, and the EIN letter when you sent an EIN.

A company, including formation progress and post-formation details.

doolaCompanyId
string

doola company ID (KSUID).

doolaCustomerId
string

Owning doola customer ID (KSUID).

entityType
enum<string>

Entity type.

Available options:
LLC,
CCorp
Example:

"LLC"

state
string

State of formation.

Example:

"DE"

nameOptions
object[]
industry
string

Unique NAICS industry label the company was classified under.

Example:

"Custom Computer Programming Services"

description
string
responsibleParty
object

The person legally responsible for the company (used for tax filings).

addresses
object[]
members
object[]
managementType
enum<string>

Who runs the LLC: MEMBER_MANAGED, its owners, or MANAGER_MANAGED, the people in managers. Absent for a CCorp and for an LLC that did not state it.

Available options:
MEMBER_MANAGED,
MANAGER_MANAGED
Example:

"MEMBER_MANAGED"

managers
object[]

Managers of a manager-managed LLC, with masked SSNs. Present only when managementType is MANAGER_MANAGED; members still lists the owners.

adminNotes
object[]

Internal notes visible to the partner.

formationSubmissionStatus
enum<string>

Tracks doola's handling of the formation request, from intake until the state filing is recorded. AWAITING_PAYMENT: submitted through the SDK, waiting on your payment confirmation — nothing is filed and no cost is incurred yet. PENDING: request received and being processed. SUBMITTED: accepted and formation started. COMPLETED: the state filing is recorded, set when company_formation_completed fires. FAILED: submission failed (see adminNotes). CANCELLED: withdrawn by doola before payment was confirmed; nothing was filed and a payment confirmation for it is refused.

Available options:
AWAITING_PAYMENT,
PENDING,
SUBMITTED,
COMPLETED,
FAILED,
CANCELLED
ein
string

Employer Identification Number, once issued.

Example:

"99-1234567"

formationFilingDate
string<date>

Date the formation was filed with the state, once filed.

formationFilingNumber
string | null

Filing number assigned by the state when the formation was filed, once filed.

Example:

"2024-001234567"

services
object[]

Services attached to the company.

executiveMembers
object[]

C-Corp officers and directors. Present for a CCorp.

ccorpValuation
object

C-Corp share structure. Present for a CCorp.

signatureRequirements
object[]

Signature steps required for this company, with their current status. Under the partner workflow, a valid SSN on any member, executive member, or responsible party exempts the company from formation signatures. An ITIN does not grant that exemption. SSNs are checked for format, not issuance. Otherwise SS-4 is required, plus Form 8821 for expedited EIN. Each status is COMPLETED once that document is signed, otherwise PENDING. Always present — an empty list means no signature is required, not that the field is absent.

origin
enum<string>

DOOLA for a company doola formed through the API, IMPORTED for one the partner imported after forming it elsewhere.

Available options:
DOOLA,
IMPORTED
Example:

"DOOLA"

importStatus
enum<string>

Where an imported company stands. AWAITING_DOCUMENTS: the documents in documentRequirements are not all on file. IN_REVIEW: they are, and the company is being checked. VERIFIED: the company was checked; annual filing is allowed. A verified company can go back to IN_REVIEW if it needs another check. Absent for a company formed through doola.

Available options:
AWAITING_DOCUMENTS,
IN_REVIEW,
VERIFIED
Example:

"AWAITING_DOCUMENTS"

documentRequirements
object[]

The documents an imported company must upload: the Articles always, and the EIN letter when the import sent an EIN. Absent for a company formed through doola.