Errors
Every status the Mangrove API returns, when, and with which body.
| Status | When | Body |
|---|---|---|
| 400 | Missing or invalid fields | Plain-text validation message |
| 401 | Missing or invalid API key | Unauthorized |
| 402 | The account has no API credits left. Run creation only — polling and streaming existing runs keep working | {"error": "No remaining credits (EUR)"} |
| 404 | Unknown run ID, or a run belonging to another API key | {"error": "Not found"} |
| 413 | An uploaded file is over the limit for its kind — 10 MB image, 250 MB recording, 50 MB document | Plain-text message naming the file and the limit |
| 415 | The uploaded file's extension is not one the document converter accepts | Plain-text message naming the extension and listing the accepted ones |
| 429 | Rate limit exceeded — 600 requests per 5-minute window per account, shared across every GreenPT API endpoint | Plain-text Too many requests, please try again later., with RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After headers |
| 502 | The vision model or document conversion failed while reading an uploaded file | Plain-text message describing the failure |
| 503 | Something the run needs is switched off or unreachable for the environment | Plain-text, one of Agent service is not enabled, Temporary file storage is not enabled, Temporary file storage is unavailable, or Document conversion service is not enabled |
A 503 carries four distinct causes, so read the body rather than the status:
only the first means Mangrove is switched off. The others mean uploads are
unavailable while the rest of the API works normally.