{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-receipt-verify-request-schema.json",
  "title": "ReceiptVerifyRequest",
  "description": "A receipt to verify against this Hub's pinned live signing identities.\n\nThe endpoint intentionally accepts no caller-supplied public key: allowing one\nwould turn verification into a self-signed assertion. The bounded HTTP body and\nthe additional serialized-size check in the handler keep the public verifier from\nbecoming a JSON amplification surface.\n\nA receipt signed by a federation peer is checked against the key this Hub pinned for\nthat peer, never one taken from the request. `receipt_binding` (spec §7.3.9) is\nchecked against the key of the Hub that answered — this one or a pinned peer — and,\nwhen `response`, `input` or `client_nonce` are sent, against them as well.",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hub-attestedmemory-openapi.json#/components/schemas/ReceiptVerifyRequest",
  "properties": {
    "receipt": {
      "additionalProperties": true,
      "type": "object",
      "title": "Receipt"
    },
    "receipt_binding": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Receipt Binding"
    },
    "response": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Response"
    },
    "input": {
      "title": "Input"
    },
    "client_nonce": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 128
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Nonce"
    }
  },
  "type": "object",
  "required": [
    "receipt"
  ]
}