Skip to main content
All Manka error responses share a single JSON shape:
{
  "message": "Human-readable error description"
}
The HTTP status code is the primary signal — the message field is a hint for humans and may change between releases.

Status codes

StatusCategoryTypical cause
400Bad requestMissing required field, unreadable PDF, or password required and not supplied
401UnauthorizedMissing or invalid API token
402Payment neededAccount has no remaining analysis credits
404Not foundTask ID is unknown or has expired (24 h TTL)
500Server errorInternal error processing the request
503UnavailableUnderlying datastore is unreachable

Handling errors

Verify the Authorization header is present and the token has not been revoked or rotated. Generate a fresh token from Developer Tools.
Each call to /analysis, /transactions, or /analysis-combined deducts one credit. Check your balance on the Manka dashboard or contact support to top up.
Re-submit with the password field set. For /analysis-combined, pass a JSON array via passwords positionally matching the files.
Task records expire 24 hours after creation. Re-submit the statement if you still need a result.

Example

401 Unauthorized
{ "message": "Invalid API token" }
402 Payment Required
{ "message": "Insufficient analysis credits" }