Skip to main content

Errors

Check the HTTP status before reading an answer. A failed request returns no output.

Every response, including an error, has an X-Blatent-Request-ID header. Include it when you contact support.

Error bodies​

Most errors use an error object:

{
"error": {
"code": "SCHEMA_NOT_FOUND",
"message": "Schema version not found",
"path": "",
"request_id": "0b9f6c2e-4d1a-4f3b-9a57-2c8e1d6b7f40"
}
}

Branch on code, not message. path is a JSON Pointer to the failing schema or output location, or "" when there is none. request_id equals the X-Blatent-Request-ID header. There is no retryable field; the tables below say which failures to retry.

Two failures use detail instead:

401: a missing or invalid API key returns this body with the WWW-Authenticate: Bearer header:

{"detail":"Missing or invalid API key"}

Check the key and its Bearer header before retrying.

422 request validation: a body that does not match the request format returns a detail list. Each item has loc (where the problem is), msg and type. For example, sending neither schema nor schema_id returns {"detail":[{"loc":["body"],"msg":"Provide exactly one of schema or schema_id.","type":"value_error"}]}.

Other 422 responses use the error object: the request was well formed but cannot run. Check for detail before reading error.code. A 403 from the edge firewall has no JSON body.

Request, schema and reference errors​

StatusCodeMeaningRetry
404NOT_FOUNDUnknown route.No
405METHOD_NOT_ALLOWEDKnown route, wrong method. The Allow header lists the methods.No
404SCHEMA_NOT_FOUND, POLICY_NOT_FOUNDThe reference does not exist for your key.No
409VERSION_CONFLICTThe version or alias holds other content. Nothing changed.Read the current version first
413REQUEST_TOO_LARGEThe body is over its size limit, or the request needs more work than one request may use.No
422SCHEMA_INVALID, SCHEMA_UNSUPPORTED, UNSUPPORTED_RUNTIMEThe schema is invalid or uses an unsupported feature. path points to it.No
422UNSATISFIABLE_SCHEMA, UNSATISFIABLE_CONTEXT, NO_VALID_TRANSITIONNo output can satisfy the schema with this input and context.No
422CONTEXT_INVALID, CONTEXT_TOO_LARGEThe input, state, parameters or user context fail the schema's request rules, or are too large.No
422CONSTRAINT_BUDGET_EXCEEDEDThe schema needs more constrained decisions or validation time than one request allows. Long outputs and costly schema checks, such as complex patterns over many values, can reach it.No
422CONSTRAINT_SEARCH_EXHAUSTEDNo schema-compliant output was found within the execution budget. This is not proof that none exists.A simpler schema or task may succeed
422STATE_EFFECT_INVALID, OUTPUT_VALIDATION_FAILEDThe result failed the schema's state or output checks. No output is returned.No
422INVALID_REQUESTThe service rejected the request, for example an invalid X-Blatent-Retry-Count header.No

Policy errors​

StatusCodeMeaningRetry
403POLICY_DENIEDThe policy denied every candidate.No
422POLICY_SEARCH_EXHAUSTEDNo allowed output was found within policy_max_retries. This is not proof that none exists.A larger policy_max_retries may succeed
422POLICY_INVALID, POLICY_REJECTED, POLICY_EXECUTION_FAILED, POLICY_FEEDBACK_UNAVAILABLE, POLICY_FEEDBACK_BOUNDARY_UNAVAILABLE, POLICY_PLAN_INVALID, POLICY_PLAN_CAPACITY, POLICY_PLAN_UNSATISFIABLEThe policy, its feedback mode or its plan cannot be used for this request.No
429POLICY_CAPACITY_BUSYThe policy engine is busy.Yes, after a short pause
503POLICY_UNAVAILABLE, POLICY_CAPABILITY_UNAVAILABLEPolicy evaluation is unavailable or failed inside the service, not because of your policy.Yes, later

Policy failures never return a rejected candidate as output.

Account and limit errors​

StatusCodeMeaningRetry
403BUDGET_EXHAUSTEDThe remaining balance cannot cover the request's maximum cost.No
403PREVIEW_UNAVAILABLEInference is not enabled for this key's account.No
403SCHEMA_LIMIT_REACHEDThis key has saved as many schema and policy versions as allowed. Nothing was saved.No
429RATE_LIMITEDYour account reached its request or token rate limit, or your network sent too many requests.Yes, after Retry-After
429CONCURRENCY_LIMITEDYour account already has as many requests running as its limit allows.Yes, after Retry-After (1 second)

Service errors​

StatusCodeMeaningRetry
409OUTCOME_INDETERMINATEThe request may have run, but no result came back. Also returned when a request carries an X-Blatent-Retry-Count above 0.Never automatically. Read a registration or alias back before trying again
409RUNTIME_CONTRACT_ERRORThe service produced a result it could not verify. No output is returned.No
500INTERNAL_ERRORUnexpected failure.Not automatically
503RUNTIME_UNAVAILABLEThe service was unavailable before the request started.Yes, after Retry-After
503GPU_CAPABILITY_UNAVAILABLEA model capability the request needs, such as schema checking, is unavailable or failed inside the service.Yes, later
529CAPACITY_BUSYCapacity is full. On a registration, inspection or alias, another schema is compiling.Yes, after Retry-After
504CAPACITY_BUSYThe request deadline passed. Execution may already have started; no output is returned.Yes, within a bounded retry budget

The service may add codes. Keep unknown codes and the request ID for diagnostics.

Follow the retry guide rather than retrying all failures the same way.