Error-code reference.
Every Createrun API response carries a machine-readable, namespace-prefixed code in the standard envelope. This page is the public snapshot of the registry; the live API is always authoritative.
GET /api/v1/error-codes— all codes ·GET /api/v1/error-codes?namespace=VAL— one namespace ·GET /api/v1/error-codes/{code}— single code detail. Public, no auth.
AUTH — authentication and authorization (IDM)
| Code | HTTP | Description |
|---|
AUTH_TOKEN_MISSING | 401 | JWT Bearer token missing |
AUTH_TOKEN_INVALID | 401 | JWT signature or shape invalid |
AUTH_TOKEN_EXPIRED | 401 | JWT exp claim has passed |
AUTH_SCOPE_INSUFFICIENT | 403 | Token scope does not include the required permission |
AUTH_MFA_REQUIRED | 401 | MFA step-up required |
AUTH_TENANT_MISMATCH | 403 | Cross-tenant access denied |
VAL — input validation
| Code | HTTP | Description |
|---|
VAL_REQUIRED | 400 | Required field missing |
VAL_INVALID_FORMAT | 400 | Field failed format/regex validation (email, phone, guid, ...) |
VAL_OUT_OF_RANGE | 400 | Numeric/date value out of range |
VAL_LENGTH | 400 | String length violates min/max |
VAL_UNIQUE_VIOLATION | 409 | Unique constraint violated (email, slug, ...) |
STORE — marketplace operations
| Code | HTTP | Description |
|---|
STORE_APP_NOT_FOUND | 404 | appId not found in catalog |
STORE_VERSION_CONFLICT | 409 | Same appId + version already submitted |
STORE_MANIFEST_INVALID | 400 | manifest.json parse/schema failed |
STORE_SIGNATURE_INVALID | 400 | Package manifest signature verification failed (ECDSA P-256) |
STORE_CHECKSUM_MISMATCH | 400 | Package SHA-256 mismatch |
STORE_UPLOAD_SESSION_EXPIRED | 410 | Chunked upload session TTL exceeded |
STORE_UPLOAD_CHUNK_INVALID | 400 | Upload chunk sha256/order failed |
STORE_SEAT_LIMIT_EXCEEDED | 402 | License seat count insufficient |
STORE_DEPENDENCY_MISSING | 409 | A required dependency app is not installed |
STORE_DEPENDENCY_CYCLE | 409 | Dependency graph cycle detected |
LICENSE — verify / activate / revoke
| Code | HTTP | Description |
|---|
LICENSE_INVALID | 403 | License JWT verification failed |
LICENSE_EXPIRED | 402 | License exp claim has passed |
LICENSE_REVOKED | 403 | License is on the revocation list |
LICENSE_AUDIENCE_MISMATCH | 403 | aud=app:{guid} does not match the current app |
LICENSE_SUBJECT_MISMATCH | 403 | sub=instance:{id} does not match the current instance |
LICENSE_FEATURE_NOT_LICENSED | 402 | features[] does not include the requested feature |
LICENSE_GRACE_EXPIRED | 402 | License grace window elapsed and the license server is unreachable |
COMPILER — Compiler runtime
| Code | HTTP | Description |
|---|
COMPILER_BUSY | 429 | Compiler pool overflow; retry after the indicated delay |
COMPILER_TIMEOUT | 504 | Worker RPC timeout |
COMPILER_WORKER_UNAVAILABLE | 503 | Supervisor is restarting the worker |
COMPILER_SYNTAX | 400 | Roslyn syntax diagnostic |
COMPILER_SEMANTIC | 400 | Roslyn semantic diagnostic |
SETUP — installer
| Code | HTTP | Description |
|---|
SETUP_MANIFEST_SIGNATURE_INVALID | 400 | Setup manifest signature verification failed |
SETUP_SPKI_PIN_MISMATCH | 495 | TLS SPKI pinning failed (possible MITM) |
SETUP_SHA256_MISMATCH | 400 | Payload SHA-256 checksum failed |
SETUP_PORT_OCCUPIED | 409 | Target bind port is already in use |
SETUP_SESSION_CORRUPT | 500 | session.json decrypt failed |
SETUP_REGISTER_FAILED | 502 | Instance-ready webhook could not reach the Store (retrying) |
SETUP_MANAGEMENT_READINESS_TIMEOUT | 504 | Instance management UI did not become reachable within the readiness probe timeout |
GIT · MCP · RATE_LIMIT · INTERNAL
| Code | HTTP | Description |
|---|
GIT_REPO_NOT_FOUND | 404 | Git repository not found |
GIT_PUSH_CONFLICT | 409 | Remote has changes (non-fast-forward) |
GIT_AUTH_FAILED | 401 | Git Server token invalid or expired |
MCP_ACTION_UNKNOWN | 400 | Action payload not found in dispatch |
MCP_HUMAN_GATE_REQUIRED | 200 | Destructive operation must be completed in the UI |
MCP_TOKEN_INVALID | 401 | MCP token header mismatch |
RATE_LIMIT_EXCEEDED | 429 | Per-path rate limit exceeded; a Retry-After header is returned |
INTERNAL_ERROR | 500 | Unknown exception (detail is logged; the client receives a generic message) |
INTERNAL_DEPENDENCY_DOWN | 503 | An upstream service (DB, IDM, cache) is unreachable |
UNSPECIFIED | 500 | Unclassified errors are reported as UNSPECIFIED |