The BotDigit Developer Platform uses conventional HTTP response codes and a standardized JSON error envelope to indicate the success or failure of API operations.
{
"error": {
"code": "insufficient_scope",
"message": "This endpoint requires the 'proposals.submit' scope.",
"request_id": "req_09182a7b_9182_4821",
"documentation_url": "https://developer.botdigit.com/docs/authentication#scopes-matrix"
}
}| Status Code | Error Code | Meaning & Guidance |
|---|---|---|
| 400 Bad Request | validation_error | Malformed JSON, out-of-bounds parameters, or invalid characters. |
| 401 Unauthorized | unauthorized | Missing, invalid, expired, or revoked Personal Access Token. |
| 403 Forbidden | insufficient_scope | The token lacks the required scope or attempts to cross tenant boundaries (IDOR). |
| 404 Not Found | not_found | The requested project, contract, draft, or thread does not exist. |
| 409 Conflict | conflict | Draft is already approved/processing, or Idempotency-Key reused with different body. |
| 429 Too Many Requests | rate_limited | Rate limit exceeded. Check the Retry-After response header. |
| 500 Server Error | internal_error | Unexpected server issue. Includes a unique request_id for support. |