Reference

Errors

HTTP status codes, error types and error codes returned by the Macaaw Public API.

Successful calls answer with a 2xx status. Errors answer with a 4xx or 5xx status and a JSON body:

402 Payment Required
{
  "type": "limit_error",
  "code": "LIMIT_AGREEMENTS",
  "detail": "Your plan includes 3 documents for signature a month, and they have all been used.",
  "info": {
    "limit": 3
  }
}
  • type — the broad class, for your error handling.
  • code — the specific reason, stable over time (the same codes the website uses).
  • detail — a plain-English explanation for logs. Do not parse it; it may change.
  • info (sometimes) — machine-readable extras such as reason, limit, fields (validation problems by path) or roles.

Error types#

typeTypical statusMeaning
request_error400, 413, 415, 422The request is invalid: a missing or wrong field, a file that is too large, of the wrong type or cannot be read.
authentication_error401Missing, malformed, unknown or revoked API key. See Authentication.
permission_error403The key is valid but not allowed: live key without API access, suspended account, team role, sandbox recipient rule.
not_found404No such object — or it belongs to another workspace, or to the other environment (live vs sandbox).
conflict409The object is in the wrong state, e.g. sending a document that is not a draft, or a repeated Idempotency-Key with a different body.
limit_error402, 403, 409A plan limit is used up (agreements this month, signers, OCR pages, credits…) or an account limit is reached (API keys, webhooks).
rate_limit429Too many requests. Wait for Retry-After seconds. See Rate limits.
server_error500, 502, 503, 504Something failed on our side. Retry with backoff; calls with an Idempotency-Key are safe to repeat.

HTTP status codes#

StatusMeaning
200 OKSuccess.
201 CreatedA document, task, webhook subscription or session was created.
204 No ContentDeleted.
400 Bad RequestValidation failed. The detail names the field.
401 UnauthorizedNo valid API key.
403 ForbiddenNot allowed for this key, plan or account.
404 Not FoundUnknown id or path.
409 ConflictWrong state for this action.
413 Payload Too LargeFile above your plan’s size limit (25 MB in the sandbox) or JSON above 2 MB.
422 Unprocessable EntityThe file is damaged, password-protected or otherwise cannot be processed.
429 Too Many RequestsRate limit reached; see Retry-After.
5xxServer error; retry later.

Common codes#

codeWhat to do
VALIDATIONFix the request; the detail says which field.
API_KEY_INVALIDCheck the Authorization header and that the key has not been revoked.
OAUTH_NOT_SUPPORTEDUse Authorization: API-Key …; Bearer tokens are reserved for OAuth.
SANDBOX_RECIPIENTSandbox documents go only to your own email domain.
IDEMPOTENCY_CONFLICTThe Idempotency-Key was used for a different request, or the first request is still running.
REQUEST_TOO_LARGEJSON over 2 MB, or an upload over your size limit.
API_ACCESS_REQUIREDLive keys need a plan with API access. Use a sandbox key or upgrade.
INVALID_STATERead the object’s status first; e.g. only drafts can be sent.
LIMIT_AGREEMENTSMonthly agreement allowance used up.
LIMIT_SIGNERSToo many signers for your plan.
LIMIT_FILE_SIZEFile too large for your plan.
FILE_DAMAGEDThe PDF cannot be read.
FILE_PASSWORDRemove the password from the PDF first.
RATE_LIMITEDWait Retry-After seconds.
Errors · Macaaw API