VARUX AXIS Deterministic PostgreSQL Write-Path Control
v0.6 · Pilot Readiness
AXIS Documentation / Integration / Error Codes

Error Codes

VerifiedStructured: error_code + message + error_id

AXIS returns structured errors with a stable error_code machine-readable identifier. Clients should switch on error_code, not on message text.

Response shape
HTTP/1.1 403 Forbidden
{
  "error_code": "blocked_by_policy",
  "message": "Blocked by policy rule rule-1 (approval_required_batch)",
  "error_id": "err_01HG8X..."
}

Request validation

CodeHTTPMeaning
invalid_json400Request body is not valid JSON
empty_sql400SQL field is empty
missing_field400Required context field missing
multi_statement_rejected400Multiple statements in one payload (default policy)
oversized_request413Body exceeds AXIS_MAX_BODY_BYTES
oversized_sql413SQL exceeds AXIS_MAX_SQL_BYTES
rate_limit_exceeded429Rate limit or burst limit hit

Parser & classification

CodeHTTPMeaning
parser_error400SQL could not be parsed
parser_unsupported_syntax400Parsed but syntax not supported by the classifier
unsupported_sql_shape400SQL shape unsupported (fail-closed)
unsafe_read_shape400Write-like read form (SELECT INTO, data-modifying CTE, locking read)
PARSE_REJECTED_UNTRUSTED_INPUT400Invalid UTF-8, NUL bytes, mixed encodings, unparseable extended-protocol bind values

Policy & decisions

CodeHTTPMeaning
blocked_by_policy403Policy returned BLOCK
policy_not_loaded503No active policy loaded
policy_validation_failed400Candidate failed validation
policy_activation_failed409expected_hash mismatch or activation failure (previous policy kept)
policy_candidate_not_found404Candidate version does not exist
policy_rollback_not_allowed409Target is rejected or otherwise not rollback-able
unauthorized_operator401/403Missing or invalid operator token

Approvals

CodeHTTPMeaning
approval_not_found404Unknown approval_id
approval_expired410TTL elapsed; not executable
approval_rejected409Approval resolved as reject; execution blocked
approval_resolution_immutable409Already resolved; one decision per approval
approval_invalid_decision400decision value not approve/reject
approval_store_error500Approval store failure

Database & execution

CodeHTTPMeaning
db_connection_failed502Could not connect to PostgreSQL
db_query_timeout504Query exceeded AXIS_DB_QUERY_TIMEOUT_MS; execution_state: unknown
db_execution_error502PostgreSQL returned an error; failure evidence recorded
db_unavailable503Database unavailable

Audit & evidence

CodeHTTPMeaning
audit_wal_failure500WAL write failed — protected writes do not proceed
audit_corruption_detected500Hash-chain or continuity corruption found; never silently repaired
evidence_range_invalid400Invalid start_seq/end_seq for evidence export

Prepared statements

CodeHTTPMeaning
session_not_found404EXECUTE without resolvable session (fail closed)
prepared_statement_not_found404Statement name unknown in the session
prepared_statement_conflict409PREPARE with an existing name in the session
session_limit_exceeded429AXIS_MAX_PREPARED_SESSIONS reached

Client guidance

Related: API Reference · Troubleshooting