Skip to main content
Errors use a stable code and a safe explanation. Do not branch on human-readable message text.
The example has HTTP 422. meta.data_status: complete describes the error response, not successful completion of the requested workflow.

Error catalog

Retry decisions

Honor error.retryable and Retry-After when provided. A source error or internal error can require investigation; its HTTP class alone does not establish that repeating a command is safe. Preserve the idempotency key for the same POST action. Do not retry malformed input, invalid credentials, missing permissions, or stale resource versions without resolving the cause. Do not broaden subject IDs or permissions in response to an authorization error.

Insufficient credits

A billable workflow returns 402 insufficient_credits when available credits cannot cover its cost. CAD 200.00 is an automatic top-up trigger, not a processing floor. Requests may continue below it while funded. Pending payments are excluded from available credits. The rejection occurs before work is accepted, without a usage debit. After credits are available, retry the same intended request with the same idempotency key; a pre-execution insufficient-credit rejection does not reserve the key as an accepted operation. Read-only reports and baseline retrieval do not require a new usage charge. Signal reassessment is included in Signal, not billed as another Insights underwriting.

Partial results versus request errors

A valid request can return usable partial data with meta.data_status: partial. Job-level errors and resource missing_fields explain the missing scope. Do not treat a 200 as evidence that every provider succeeded, or an unavailable metric as zero.

Diagnostics

Record the AMLOK request_id, operation, timestamp, environment, HTTP status, error code, and relevant resource/job IDs in your restricted operational logs. Redact keys, signing secrets, signed links, raw identity evidence, and full response bodies. Provide sanitized request IDs through your agreed support channel. Your agreement defines support channels and response commitments. For an accepted job that later runs short of credits, inspect waiting_for_credits rather than submitting a duplicate run. See processing lifecycle.