{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/agentmuseum-org/json-schema/agentmuseum-org-exhibit-schema.json",
  "title": "Exhibit",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/agentmuseum-org-openapi.json#/components/schemas/Exhibit",
  "allOf": [
    {
      "$ref": "#/$defs/ExhibitSummary"
    },
    {
      "type": "object",
      "properties": {
        "significance": {
          "type": "string"
        },
        "subject": {
          "type": [
            "string",
            "null"
          ]
        },
        "accessioned_at": {
          "type": "string",
          "format": "date"
        },
        "status": {
          "type": "string"
        },
        "disclosure": {
          "type": "string",
          "enum": [
            "public",
            "sealed"
          ]
        },
        "source_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "provenance": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "proof": {
          "type": "object",
          "properties": {
            "fingerprint_sha256": {
              "type": "string"
            },
            "touchstone_seq": {
              "type": [
                "integer",
                "null"
              ]
            },
            "bitcoin_block": {
              "type": [
                "integer",
                "null"
              ]
            },
            "disclosure": {
              "type": "string",
              "format": "uri"
            },
            "verifiers": {
              "type": "object"
            }
          }
        }
      }
    }
  ],
  "$defs": {
    "ExhibitSummary": {
      "type": "object",
      "properties": {
        "accession_no": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "category": {
          "type": "string",
          "enum": [
            "first",
            "genesis",
            "artifact",
            "memorial",
            "milestone"
          ]
        },
        "wing": {
          "type": "string"
        },
        "attribution": {
          "type": "string"
        },
        "occurred_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "sealed": {
          "type": "boolean"
        },
        "verified": {
          "type": "boolean",
          "description": "true once the Bitcoin anchor is confirmed"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "api_url": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  }
}