Error Codes & Responses
HTTP status codes, error shapes, and how to handle them.
All API errors return a JSON body with an error field:
{
"error": "Description of what went wrong."
}Status Codes
| Code | Meaning | Common Causes |
|---|---|---|
400 | Bad Request | Invalid JSON body, missing required fields |
401 | Unauthorized | Missing, invalid, expired, or revoked API key |
402 | Payment Required | Insufficient credits to start the run |
403 | Forbidden | Insufficient scope (read key used for write action) or feature not available on your plan |
404 | Not Found | Suite or run ID doesn't exist in your workspace |
422 | Unprocessable | Validation error (e.g., suite_id is required) |
500 | Server Error | Unexpected error — contact support |
Authentication Errors
"Missing API key"— no key in headers. UseX-API-KeyorAuthorization: Bearer."Invalid API key format"— key doesn't start withplm_live_."Invalid or revoked API key"— key not found or was revoked."API key has expired"— create a new key.
Rate Limiting
The API does not currently enforce rate limits, but this may change. Design your integration to handle 429 responses with exponential backoff.