Skip to main content
POST
Submit a company's annual report

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.

Path Parameters

companyId
string
required

doola company ID (KSUID).

Body

application/json

An annual report to file, supplied whole.

fiscalYear
integer<int32> | null

Fiscal year the report covers. Defaults to the current year when omitted.

Required range: 2000 <= x <= 2100
Example:

2026

answers
object[] | null

One entry per question the requirements published. Omit for a state that asks none, which is most of them.

companyDetails
object | null

Corrections to the company details doola holds. Omit when there are none.

Response

The report is on file and replaced an unconfirmed one for the same fiscal year; same annualReportId, isReplaced true.

An annual report on record.

annualReportId
string

Annual report ID (KSUID). Keep it: confirm and the status reads address the report by it.

Example:

"2Ns8vJqZ1lQwErTyUiOpAsDfGhJ"

doolaCompanyId
string

doola company ID (KSUID).

Example:

"2Ns8vJqZ1lQwErTyUiOpAsDfGhJ"

fiscalYear
integer<int32>

Fiscal year the report covers.

Example:

2026

state
string

US state the report is filed in.

Example:

"WY"

entityType
enum<string>

Entity type the report was filed for.

Available options:
LLC,
CCorp
Example:

"LLC"

status
enum<string>

Where the report stands.

Available options:
FILLED,
IN_PROGRESS,
AWAITING_INFORMATION,
FILING_COMPLETED
Example:

"FILLED"

priceInCents
integer<int64>

The state fee for this report in whole US cents, fixed when it was recorded. Nothing is charged through this API. 0 where the state charges nothing.

Example:

6225

submittedAt
string | null

Date the report was handed to doola's filing pipeline (yyyy-MM-dd). Null on a report that has only just been recorded; read status for where the report stands.

Example:

"2026-03-01"

createdAt
string<date-time> | null

When the report was first recorded. Null if the row carries no timestamp.

Example:

"2026-02-01T09:00:00Z"

updatedAt
string<date-time> | null

When the report last changed. Null if the row carries no timestamp.

Example:

"2026-02-02T09:00:00Z"

answers
object[]

The answers on record, addressed by the field ids the requirements published. Empty for a state that asks no questions, which is most of them.

isReplaced
boolean

True when a report was already on file for this year and this one took its place, which is allowed only while the report is still FILLED.

Example:

false