// REST API

Errors and validation

How error responses are shaped and how to read them.

Every error response carries a small JSON body:

{
  "errorcode": "InvalidParameter",
  "error": "invalid project ID"
}

Common error codes

| Code | Meaning | |------|---------| | InvalidParameter | A required field is missing, malformed, or references a resource the caller can't see. | | InsufficientPermissions | The service account is authenticated but doesn't hold the required role. | | UnknownError | Reserved for the rare unexpected failure path. |

Validation errors

Endpoints that run DTO-level validation (FluentValidation) respond with 400 and a validationErrors object keyed by field name with an array of messages, in addition to the base errorcode / error pair.

Resource limit conflicts

Deploy and promote endpoints can fail with 409 Conflict and errorcode = ResourceUsageLimitExceeded plus a resourceUsageErrors array when the deploying organization has hit a plan limit.