HTTP Status Codes
| Code | Meaning | When it occurs |
|---|---|---|
200 | Success | Request completed successfully |
201 | Created | Resource created successfully |
202 | Accepted | Request accepted for async processing |
204 | No Content | Successful deletion (no response body) |
400 | Bad Request | Invalid request parameters |
401 | Unauthorized | Missing or invalid authentication |
403 | Forbidden | Authenticated but not authorized |
404 | Not Found | Resource does not exist |
409 | Conflict | Invalid state transition or concurrent modification |
422 | Validation Error | Request body failed validation |
500 | Server Error | Internal server error |
Error Response Format
All error responses follow this structure:Common Errors
Authentication Errors (401)
Missing or expired token:pragma auth login.
Not Found Errors (404)
Resource or build job does not exist:Conflict Errors (409)
Invalid Lifecycle Transition
Attempting an invalid state change:Resource In Processing
Modifying a resource while it’s being processed:Validation Errors (422)
Missing Required Fields
Dependency Validation Failed
Dependencies don’t exist or aren’t ready:Field Reference Resolution Failed
A field reference points to a non-existent output:Build Errors (400/404)
Build Job Not Found
Build Creation Failed
Deployment Errors (404/500)
Deployment Not Found
Lifecycle State Reference
Understanding lifecycle states helps interpret errors:| State | Description | Can Modify? |
|---|---|---|
draft | Initial state, not yet committed | Yes |
pending | Committed, waiting to be processed | No |
processing | Currently being handled by a provider | No |
ready | Successfully processed | Yes |
failed | Processing failed, error recorded | Yes |
Best Practices
- Check response status codes before parsing the body
- Retry with backoff for 5xx errors
- Don’t retry 4xx errors without fixing the request
- Poll status endpoints for async operations (builds, deployments)
- Log correlation IDs from responses for debugging