This endpoint is read-only. It quotes a price; it neither starts a filing, stores anything, nor charges the customer.
filingRequired— is there an annual report to file in this state at all?needsInput— can the fee be quoted yet, or are figures still needed?
amount. An amount of 0 on its own is ambiguous: some states file the report free of charge, and some file no report at all.
Quoting the fee
POST with no body asks what the state needs.
Omitting
answers and sending [] are different requests, not two spellings of the same one:
When the amount comes straight back
Most calls end here. The state prices from data doola already holds, so the quote is settled on the first request.formula shows the working. A computed fee is not a request for input; only needsInput tells you which case you are in.
When figures are needed first
Zero is two different situations
Some states file an annual report and charge nothing for it. Others file no annual report at all. Both come back withamount: 0, and only filingRequired tells them apart.
filingRequired: false is a normal answer, not an error — as of today it covers Alabama, New Mexico, Ohio and South Carolina, which between them hold a meaningful share of doola companies. Annual report requirements reports the same filingRequired: false for those companies, with an empty fields list.
Sending answers
Answers are keyed byfieldId, and each field may appear at most once. A repeated fieldId is rejected with 400 rather than resolved: two figures for one field is a request with no correct answer, and quietly picking one would be a guess about money.
A fieldId the state does not price from is ignored. This matters because the requirements list mixes the state’s questions with company details, some of them numeric, so posting the whole list back is a natural mistake. Send what inputFieldIds names and nothing more, but a stray field will not corrupt the quote.
value is always a string, whatever the field’s type. A blank or unparseable figure counts as zero rather than failing the quote, so a half-filled worksheet still returns a price.
Errors
422 should not occur for a company created through this API. Every US state and DC is covered for both LLC and CCorp, so it is declared for completeness — a state added before its pricing lands, or an entity type outside this API’s reach. A state that simply files no annual report is not a 422: it answers 200 with filingRequired: false.422 on the same condition, and report the same filingRequired, because both read the same source.
Ownership is enforced the same way across the Partner API: a company that exists but isn’t yours returns 404, never 403, so existence cannot be probed across partners. See Errors.