ErrorDetail
The inner error object serialised inside ErrorResponse.
This is the exact shape the API spec requires: { "type": "...", "message": "...", "location": null, "suggestion": null }
Callers must branch on type, never on message.
typeErrorType (string)required
Canonical error type identifiers. The string value is the wire value.
Rules (from API spec):
- Callers must branch on .type, never on .message.
- Message text is for humans; type is for machines.
- The enum spelling is the ground truth for YAML, HTTP, and Python alike. In particular: z_score (not zscore), not_found (not 404), conflict (not 409).
Possible values: [syntax_error, type_error, semantic_error, reference_error, parameter_error, graph_error, execution_error, execution_timeout, auth_error, not_found, conflict, rate_limit_exceeded, bounds_exceeded, action_binding_failed]
messageMessage (string)required
location object
anyOf
- string
- null
string
suggestion object
anyOf
- string
- null
string
ErrorDetail
{
"type": "syntax_error",
"message": "string",
"location": "string",
"suggestion": "string"
}