API REFERENCE · Review evidence
Read a case and append-only decisions
Complete request parameters, body fields, response formats, examples, and errors for GET /cases/{id}.
Base URL: https://www.sanctionskit.com/api/v1. Documentation examples are saved and require no API key to read.
GET/cases/{id}Read a case and append-only decisions
Authentication: Authorization: Bearer YOUR_API_KEY (required). Use a server-side key for the intended environment and scopes.
Required API key scope: results:read. Decision history is ordered chronologically and bounded to limit (default 25, maximum 100). Continue using nextDecisionCursor as cursor. The complete retained case archive is available separately.
Request parameters
- Path parameters
id- Headers
Authorization(required)- JSON body fields
- None.
This operation has no request body.
Headers, path and query parameters
idpathRequired- string
Opaque resource identifier owned by the authenticated organization.
Format: uuid.
limitqueryOptional- integer
Maximum number of items to return. A response may contain fewer items; use its next cursor to decide whether another page exists.
Minimum: 1. Maximum: 100. Default: 25.
cursorqueryOptional- string
Pass nextDecisionCursor from the previous page; omit for the first page. Continue until the response cursor is null. Keep the same filters between pages.
Format: uuid.
Request body
This operation has no request body.
Responses
200Successful response. JSON object with the required data key. All properties marked required are present, including keys whose value may be null. Unmarked properties can be omitted; clients should tolerate additional response properties.
Response headers
X-Request-Id- string
Server-generated request correlation identifier.
Format: uuid.
application/jsonResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
dataRequired- objectView CaseDetail schema
data fields and rules
dataRequired.id - string
Format: uuid.
dataRequired.environment - string
dataRequired.screening_id - string
Format: uuid.
dataRequired.monitor_id - string or null
May be null.
data.monitor_id fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
dataRequired.decision - string
dataRequired.business_disposition - string
dataRequired.review_started_at - string
Format: date-time.
dataRequired.superseded_by_screening_id - string or null
May be null.
data.superseded_by_screening_id fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
dataRequired.superseded_by_case_id - string or null
May be null.
data.superseded_by_case_id fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
dataRequired.created_at - string
Format: date-time.
dataRequired.updated_at - string
Format: date-time.
dataRequired.latest_screening_id - string or null
May be null.
data.latest_screening_id fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
dataRequired.counterparty_id - string or null
May be null.
data.counterparty_id fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
dataRequired.assignee_id - string or null
May be null.
data.assignee_id fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.priority - string
dataRequired.due_at - string or null
May be null.
data.due_at fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
dataRequired.escalated_at - string or null
May be null.
data.escalated_at fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
dataRequired.revision - integer
dataRequired.requires_second_review - boolean
dataRequired.review_state - string
dataRequired.submitted_by - string or null
May be null.
data.submitted_by fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.approved_by - string or null
May be null.
data.approved_by fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.submitted_screening_id - string or null
May be null.
data.submitted_screening_id fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
dataRequired.retention_policy - string
dataRequired.retention_years - integer or null
May be null.
data.retention_years fields and rules
Allowed alternatives
- integer
- null
May be null.
dataRequired.retention_days - integer or null
May be null.
data.retention_days fields and rules
Allowed alternatives
- integer
- null
May be null.
dataRequired.closed_at - string or null
May be null.
data.closed_at fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
dataRequired.retention_expires_at - string or null
May be null.
data.retention_expires_at fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
dataRequired.retention_trigger - string
dataRequired.retention_event_at - string or null
May be null.
data.retention_event_at fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
dataRequired.retention_event_reason - string or null
May be null.
data.retention_event_reason fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.retention_event_actor - string or null
May be null.
data.retention_event_actor fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.subjectName - string or null
May be null.
data.subjectName fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.entityType - string or null
May be null.
data.entityType fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.origin - string
dataRequired.status - string or null
May be null.
data.status fields and rules
Allowed alternatives
- string
Values: "potential_match", "no_match".
- null
May be null.
- string
dataRequired.matchCount - integer
Minimum: 0.
dataRequired.evidenceAvailable - boolean
dataRequired.retention - string
Values: "standard", "minimal".
dataRequired.expiresAt - string or null
May be null.
data.expiresAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
dataRequired.decisions - object[]
data.decisions item fields
Each array item: object.
dataRequired.decisions[] .id - string
Format: uuid.
dataRequired.decisions[] .actor_id - string
dataRequired.decisions[] .decision - string
Values: "open", "confirmed", "dismissed".
dataRequired.decisions[] .business_disposition - string
Values: "pending", "allow", "restrict", "escalate".
dataRequired.decisions[] .appliedControls - AppliedDecisionControls or null
May be null.
data.decisions[].appliedControls fields and rules
Allowed alternatives
- AppliedDecisionControls
See all AppliedDecisionControls fields for the complete structure, required properties and constraints.
- null
May be null.
- AppliedDecisionControls
dataRequired.decisions[] .notes - string or null
May be null.
data.decisions[].notes fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.decisions[] .created_at - string
Format: date-time.
dataRequired.decisions[] .actor_email - string or null
May be null.
data.decisions[].actor_email fields and rules
Allowed alternatives
- string
- null
May be null.
dataRequired.decisions[] .screening_id - string or null
May be null.
data.decisions[].screening_id fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
dataRequired.nextDecisionCursor - string or null
May be null.
data.nextDecisionCursor fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
Example response
Recorded from the real application handler against an isolated synthetic database. IDs, times and nonfunctional temporary secrets are normalized. No customer data or live provider request.
{
"data": {
"id": "00000000-0000-4000-8000-000000000001",
"environment": "sandbox",
"screening_id": "00000000-0000-4000-8000-000000000002",
"latest_screening_id": null,
"decision": "open",
"review_state": "open",
"business_disposition": "pending",
"counterparty_id": "00000000-0000-4000-8000-000000000003",
"created_at": "2026-09-17T12:00:00.000Z",
"updated_at": "2026-09-17T12:00:00.000Z",
"monitor_id": null,
"review_started_at": "2026-09-17T12:00:00.000Z",
"revision": 1,
"assignee_id": null,
"priority": "normal",
"due_at": null,
"escalated_at": null,
"requires_second_review": false,
"submitted_by": null,
"approved_by": null,
"submitted_screening_id": null,
"superseded_by_screening_id": null,
"superseded_by_case_id": null,
"retention_policy": "calendar_years",
"retention_years": 10,
"retention_days": null,
"closed_at": null,
"retention_expires_at": null,
"retention_trigger": "business_event",
"retention_event_at": null,
"retention_event_actor": null,
"retention_event_reason": null,
"subjectName": "Alex Morgan",
"entityType": "person",
"origin": "manual",
"status": "potential_match",
"matchCount": 1,
"evidenceAvailable": true,
"retention": "standard",
"expiresAt": null,
"decisions": [
{
"id": "00000000-0000-4000-8000-000000000004",
"actor_id": "system:screening",
"decision": "open",
"business_disposition": "pending",
"created_at": "2026-09-17T12:00:00.000Z",
"appliedControls": {
"restrictedRoles": {
"approval": [],
"production": []
},
"screeningPolicy": {
"id": "00000000-0000-4000-8000-000000000005",
"review": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
},
"version": 1
},
"governanceRevision": 1,
"organizationApproval": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
}
},
"notes": "Potential matches require analyst review.",
"actor_email": null,
"screening_id": "00000000-0000-4000-8000-000000000002"
}
],
"nextDecisionCursor": null
}
}400invalid_request — Correct the request fields, resource identifiers, JSON body or query parameters before retrying.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Correct the request fields, resource identifiers, JSON body or query parameters before retrying.
{
"error": {
"code": "invalid_request",
"message": "The request is invalid.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}401authentication_required — Send Authorization: Bearer with a valid API key. An omitted header can produce authentication_required; invalid supplied credentials produce invalid_api_key. invalid_api_key — Use an active key for the intended environment.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
WWW-Authenticate- string
Bearer authentication challenge.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Send Authorization: Bearer with a valid API key. An omitted header can produce authentication_required; invalid supplied credentials produce invalid_api_key.
{
"error": {
"code": "authentication_required",
"message": "Sign in to continue.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}invalid api key
Synthetic error example. Use an active key for the intended environment.
{
"error": {
"code": "invalid_api_key",
"message": "The API key is invalid, expired, or revoked.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}403permission_denied — Ask an organization owner to grant the required role or API-key scope. insufficient_scope — Use a key with the scope stated in this operation.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Ask an organization owner to grant the required role or API-key scope.
{
"error": {
"code": "permission_denied",
"message": "Your role does not allow this action.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}insufficient scope
Synthetic error example. Use a key with the scope stated in this operation.
{
"error": {
"code": "insufficient_scope",
"message": "The API key does not grant this action.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}404not_found — Check the identifier and selected environment. The resource must belong to your organization and remain available.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Check the identifier and selected environment. The resource must belong to your organization and remain available.
{
"error": {
"code": "not_found",
"message": "Case not found.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}405method_not_allowed — Use a method in the Allow response header. OPTIONS lists supported methods; HEAD follows GET authorization and returns no body.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
Allow- string
Comma-separated supported HTTP methods.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Use a method in the Allow response header. OPTIONS lists supported methods; HEAD follows GET authorization and returns no body.
{
"error": {
"code": "method_not_allowed",
"message": "This method is not supported for this endpoint.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}413response_too_large — Reduce the requested page size or use the documented segmented case archive. No evidence is silently truncated.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Reduce the requested page size or use the documented segmented case archive. No evidence is silently truncated.
{
"error": {
"code": "response_too_large",
"message": "This response exceeds the size limit. Request a smaller page or a segmented export.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}429rate_limited — Wait for the request window to reset and retry with backoff.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
Retry-After- string
When present, a delay in seconds or an HTTP-date before which the client should not retry. Service-unavailable responses default to a one-second delay unless another safe value is supplied. A usage allowance error may require quota recovery instead of retrying.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Wait for the request window to reset and retry with backoff.
{
"error": {
"code": "rate_limited",
"message": "The per-minute request limit has been reached.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}500internal_error — Retry with backoff. For writes reuse the same idempotency key and identical input; include requestId when contacting support.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Retry with backoff. For writes reuse the same idempotency key and identical input; include requestId when contacting support.
{
"error": {
"code": "internal_error",
"message": "The request could not be completed.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}503temporarily_unavailable — Honor Retry-After when present and retry with bounded backoff. Follow this endpoint’s retry contract; preserve the same key and input for idempotent writes. Contact support with requestId if the failure persists.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
Retry-After- string
When present, a delay in seconds or an HTTP-date before which the client should not retry. Service-unavailable responses default to a one-second delay unless another safe value is supplied. A usage allowance error may require quota recovery instead of retrying.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Honor Retry-After when present and retry with bounded backoff. Follow this endpoint’s retry contract; preserve the same key and input for idempotent writes. Contact support with requestId if the failure persists.
{
"error": {
"code": "temporarily_unavailable",
"message": "The service is temporarily unavailable. Retry shortly.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}