Response shape
Every response uses the same envelope. On success,payload holds the result and error is null. The one exception is a successful Confirm payment, which answers 200 with an empty body.
payload is null and error carries a machine readable code, a human readable message, a requestId, and, for validation failures, per field details.
Request IDs
Every response from doola’s API servers, success or failure, carries anx-request-id header. On a failure, error.requestId holds the same value. It is 32 lowercase hex characters and identifies the request’s trace.
Log it with your own record of the call. When you contact doola support about a request, quote this id and support can find that trace on our side. Never use it as an idempotency or deduplication key: use Idempotency-Key for that.
It identifies the request’s trace and is not guaranteed to be unique per call, so use it for correlation only. An x-request-id header you send is not echoed back.
Global error reference
These can be returned by any endpoint. Endpoint specific codes are documented in the API reference.Industry errors
Returned only by Create company. The Choosing an industry guide has the full context.Expedited EIN errors
Returned only by Create company whenrequestedServices is present. The Expedited EIN guide has the full context.
Required action errors
Returned by the required-action reads and the resolution endpoint. The Required actions guide has the full context.Signature errors
Returned by the signing endpoints. The SS-4 and Form 8821 signing guide has the full context.Annual Report Filing errors
Returned by the Annual Report Filing endpoints. The guide lists which endpoint returns each one.Embedded SDK errors
Returned by the two Partner API endpoints an Embedded SDK integration calls from your server. SDK errors covers what the SDK reports in the browser.
Creating a customer session also returns
409 E_EMAIL_IN_USE from the global reference, and is limited to 600 sessions a minute per tenant (429 E_RATE_LIMITED).