Skip to main content
The API uses standard HTTP status codes and returns detailed error information in JSON format.

HTTP Status Codes

Error Response Format

All error responses follow this structure:
Validation errors include additional location information:

Common Errors

Authentication Errors (401)

Missing or expired token:
Solution: Re-authenticate with pragma auth login.

Not Found Errors (404)

Resource or build job does not exist:
Solution: Verify the resource ID exists in your namespace.

Conflict Errors (409)

Invalid Lifecycle Transition

Attempting an invalid state change:
Solution: Wait for the current operation to complete before modifying.

Resource In Processing

Modifying a resource while it’s being processed:
Solution: Wait for the resource to reach READY or FAILED state.

Validation Errors (422)

Missing Required Fields

Solution: Include all required fields in your request.

Dependency Validation Failed

Dependencies don’t exist or aren’t ready:
Solution: Ensure all dependencies exist and are in READY state.

Field Reference Resolution Failed

A field reference points to a non-existent output:
Solution: Verify the referenced resource exists and has the expected outputs.

Build Errors (400/404)

Build Job Not Found

Solution: Verify the job name from the push response.

Build Creation Failed

Solution: Check that the provider code archive is valid.

Deployment Errors (404/500)

Deployment Not Found

Solution: Deploy the provider first with the deploy endpoint.

Lifecycle State Reference

Understanding lifecycle states helps interpret errors:

Best Practices

  1. Check response status codes before parsing the body
  2. Retry with backoff for 5xx errors
  3. Don’t retry 4xx errors without fixing the request
  4. Poll status endpoints for async operations (builds, deployments)
  5. Log correlation IDs from responses for debugging