---
schema: formation.doc/v0.1
kind: doc
visibility: public
canonical_url: https://topologyindex.com/docs/schemas/error/v0.1.md
document_kind: error
document_schema: formation.error/v0.1
max_document_bytes: 262144
path: /docs/schemas/error/v0.1.md
product_api_version: v1
schema_version: v0.1
title: formation.error/v0.1
---

# formation.error/v0.1

Frontmatter fields of a `error` document. Every security-, cost- and execution-relevant
value is a typed field; prose in the body can explain a rule but never override it. Undeclared
fields are rejected.

## Fields

- `schema` (required): exactly `formation.error/v0.1`
- `kind` (required): exactly `error`
- `code` (required): one of `malformed_syntax`, `invalid_credentials`, `insufficient_scope`, `plan_required`, `owner_approval_required`, `not_found`, `not_acceptable`, `conflict`, `idempotency_conflict`, `payload_too_large`, `unsupported_media_type`, `validation_failed`, `unsupported_version`, `unsupported_capability`, `quota_exceeded`, `internal_error`, `service_unavailable`
- `retryable` (required): boolean
- `request_id` (required): resource identifier, pattern `^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$`, at most 128 characters
- `next_action` (required): map (fields listed below)
- `next_action.type` (required): one of `none`, `read_document`, `fix_request`, `retry_later`, `request_evaluation_plan`, `start_evaluation`, `start_registered_runner`, `poll_status`, `fetch_evidence`, `fetch_decision`, `request_owner_approval`
- `next_action.path` (optional): resource path, pattern `^\/[A-Za-z0-9._~/-]{0,255}$`, at most 256 characters
- `next_action.starts_work` (optional): boolean
- `created_at` (optional): ISO 8601 UTC timestamp, pattern `^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,9}))?Z$`, at most 30 characters
- `invalid_fields` (optional): array of 0 to 64 items, each field path, pattern `^[A-Za-z0-9_]+(?:\[\d{1,6}\]|\.[A-Za-z0-9_]+)*$`, at most 256 characters
- `supported_schemas` (optional): array of 0 to 64 items, each schema identifier, pattern `^formation\.[a-z][a-z0-9_]{0,63}\/v\d{1,4}\.\d{1,4}$`, at most 96 characters
- `retry_after_seconds` (optional): integer from 1 to 2678400
