{
  "version": "v1",
  "description": "Stable error codes returned by Receiz verification endpoints and validators.",
  "errors": [
    {
      "code": "invalid_json",
      "surface": "api.verify, api.events",
      "meaning": "Request body is not valid JSON."
    },
    {
      "code": "invalid_body",
      "surface": "api.verify",
      "meaning": "Request body shape is invalid."
    },
    {
      "code": "missing_fields",
      "surface": "api.verify",
      "meaning": "Required fields are missing."
    },
    {
      "code": "missing_signing_key",
      "surface": "api.verify",
      "meaning": "Server signing key is not configured."
    },
    {
      "code": "unsupported_content_type",
      "surface": "api.document-seal, api.document-verify",
      "meaning": "Request must use multipart/form-data."
    },
    {
      "code": "missing_file",
      "surface": "api.document-seal, api.document-verify",
      "meaning": "Multipart payload is missing the file field."
    },
    {
      "code": "file_too_large",
      "surface": "api.document-seal, api.document-verify",
      "meaning": "Uploaded artifact exceeds configured route limits."
    },
    {
      "code": "optional_link_too_long",
      "surface": "api.document-verify",
      "meaning": "optionalLink is present but exceeds the accepted character length."
    },
    {
      "code": "invalid_upload",
      "surface": "api.document-seal",
      "meaning": "Direct upload body could not be parsed as a valid file payload."
    },
    {
      "code": "document_seal_failed",
      "surface": "api.document-seal",
      "meaning": "Document sealing flow failed while generating or embedding proof material."
    },
    {
      "code": "document_verify_failed",
      "surface": "api.document-verify",
      "meaning": "Document verification flow failed before returning a deterministic verification result."
    },
    {
      "code": "invalid_event",
      "surface": "api.events",
      "meaning": "Unsupported funnel event name."
    },
    {
      "code": "invalid_receiz_bundle",
      "surface": "api.receiz.meta",
      "meaning": "Artifact bundle shape or integrity checks failed."
    },
    {
      "code": "signin_required",
      "surface": "api.receiz.anchor",
      "meaning": "Anchor write requires an authenticated account for this target record."
    },
    {
      "code": "forbidden_not_owner",
      "surface": "api.receiz.anchor",
      "meaning": "Anchor write attempted by a user that is not the owner of the target record."
    },
    {
      "code": "signin_required_for_privileged_anchor",
      "surface": "api.receiz.anchor",
      "meaning": "Privileged anchor fields require sign-in."
    },
    {
      "code": "privileged_anchor_requires_owned_receiz",
      "surface": "api.receiz.anchor",
      "meaning": "Privileged anchor fields are rejected unless the parent record is owned by the authenticated author."
    },
    {
      "code": "owner_lookup_failed",
      "surface": "api.receiz.anchor",
      "meaning": "Owner lookup dependency failed before anchor persistence."
    },
    {
      "code": "anchor_timeout",
      "surface": "api.receiz.anchor",
      "meaning": "Anchor persistence exceeded configured timeout."
    },
    {
      "code": "anchor_persist_failed",
      "surface": "api.receiz.anchor",
      "meaning": "Anchor persistence failed and no durable anchor record was written."
    },
    {
      "code": "anchor failed",
      "surface": "make flow",
      "meaning": "Anchor seal operation did not return a valid anchor payload."
    },
    {
      "code": "refresh_failed",
      "surface": "make flow",
      "meaning": "Final sealed preview refresh failed."
    }
  ]
}
