Skip to main content
Version: 2.0.x (Latest)

HTTP Errors and Recovery

Middleware-generated problems include title, status, type, errorCode, and traceId; validation may also include errors. Endpoint-specific errors can have different bodies.

CodeTypical HTTP statusRecovery
UNAUTHENTICATED401Supply a valid token and required claims.
FORBIDDEN403Use the correct role/owner/scope for the action.
INVALID_REQUEST400Correct argument shape or required values.
VALIDATION_FAILED400Inspect field errors.
NOT_FOUND404Verify identifier and visibility.
MANIFEST_ID_MISMATCH409Match route ID to metadata.name.
ACTIVATION_CONFLICT409Read current revision before activating.
IDEMPOTENCY_KEY_REQUIRED400Supply a stable key for the mutation.
IDEMPOTENCY_CONFLICT409Do not reuse a key for changed input.
AMBIGUOUS_OR_MISSING_BINDING400Supply a valid explicit binding or configure exactly one.
AUTHORITY_EXPIRED410Obtain current authority; do not replay expired approval.
PAYLOAD_TOO_LARGE413Reduce the manifest size.
CREDENTIAL_UNAVAILABLE503Check provider, secret version, state, and expiry.
CREDENTIAL_WRITE_CONFLICT409Re-read version/state before updating.
NO_ACTIVE_BUNDLE503 in exception pathStore and activate a valid bundle.
GOVERNANCE_DEPENDENCY_UNAVAILABLE503Restore the reported dependency.
STARTUP_SECRETS_UNAVAILABLE503Restore startup-secret readiness.
VERIFICATION_NOT_CONFIGURED409Configure a supported verifier for the operation.
CANCELLATION_UNSUPPORTED_OR_ALREADY_DISPATCHED409Inspect execution; cancellation is not rollback.
GRANT_EXPIRY_MUST_BE_FUTURE400Supply a future expiry.
GRANT_OPERATION_SCOPE_REQUIRED400Include permitted operations.
INTERNAL_ERROR500Retain trace ID and inspect sanitized server logs.

Important distinctionsโ€‹

An invocation denied by governance returns an invocation result with 403 rather than the middleware problem envelope. NO_ACTIVE_BUNDLE can also appear as a governance reason, depending on the path.

Some SYN-... diagnostics are classified as validation even when their messages concern permissions or missing records, producing 400. Do not infer HTTP status solely from the wording.

The current middleware maps database update exceptions to CREDENTIAL_WRITE_CONFLICT; that name does not prove the failure was limited to credential storage.

Was this helpful?