Skip to content
SENS Platform Docs

Errors

HTTP API errors use one shared response shape:

{
"error": {
"code": "VALIDATION_FAILED",
"category": "validation",
"message": "Request validation failed.",
"correlationId": "correlation-1234",
"details": { "field": "identifier" }
}
}
CategoryDefault codeMeaning
validationVALIDATION_FAILEDInput failed validation.
authenticationAUTHENTICATION_FAILEDAuthentication is missing or invalid.
authorizationAUTHORIZATION_FAILEDAuthenticated caller lacks permission.
not_foundRESOURCE_NOT_FOUNDResource does not exist or is deliberately hidden.
conflictCONFLICTRequest conflicts with current state.
dependency_failureDEPENDENCY_FAILURERequired dependency failed or is unavailable.
flow_failureFLOW_FAILURETelemetry flow execution failed safely.
rate_limitRATE_LIMITEDRetry only after the response delay.
internalINTERNAL_ERRORUnexpected server-side failure.

Auth API status semantics are:

  • 400 invalid request payload;
  • 401 missing, invalid, expired, or revoked authentication;
  • 403 insufficient permission, disallowed browser origin, or a required password change;
  • 404 resource absent or deliberately hidden by tenant/organization scope;
  • 409 protected five-second refresh race, with Retry-After: 1;
  • 429 login throttle or exhausted password-check capacity, with Retry-After;
  • 503 unavailable PostgreSQL dependency;
  • 500 unexpected internal failure.

Bearer 401 responses include WWW-Authenticate: Bearer. Authentication responses, including errors, use Cache-Control: no-store.

details values are limited to strings, numbers, booleans, and null. They must not contain passwords, tokens, credentials, secrets, raw payloads, or data from another tenant or organization. Clients should include the response x-correlation-id when reporting a failure to support or operations.