{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/dap-solutions/json-schema/dap-solutions-record-schema.json",
  "title": "Record",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bellwether-openapi.json#/components/schemas/Record",
  "type": "object",
  "required": [
    "id",
    "regulator",
    "jurisdiction",
    "category",
    "title",
    "published_at",
    "first_collected_at",
    "revision"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{32}$"
    },
    "regulator": {
      "type": "string"
    },
    "jurisdiction": {
      "type": "string",
      "enum": [
        "CA",
        "US",
        "UK",
        "EU"
      ]
    },
    "category": {
      "type": "string",
      "enum": [
        "rules",
        "enforcement",
        "guidance",
        "news"
      ]
    },
    "title": {
      "type": "string"
    },
    "summary": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "published_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "The publication date the regulator gave. Null when the source publishes none: collection time is never put in its place."
    },
    "first_collected_at": {
      "type": "string",
      "format": "date-time"
    },
    "last_confirmed_at": {
      "type": "string",
      "format": "date-time"
    },
    "revision": {
      "type": "integer",
      "minimum": 1,
      "description": "Above 1 when the record was amended after first collection."
    }
  }
}