{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/africacompliancedata-com/json-schema/africacompliancedata-com-change-schema.json",
  "title": "Change",
  "description": "One changed value",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/africacompliancedata-com-openapi.json#/components/schemas/Change",
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "format": "date",
      "description": "Day the change was logged"
    },
    "country": {
      "type": "string"
    },
    "feature": {
      "type": "string",
      "enum": [
        "holidays",
        "vat",
        "wht",
        "tin_format",
        "filing_deadlines",
        "treaties",
        "finance_law",
        "history",
        "payroll",
        "other"
      ]
    },
    "path": {
      "type": "string",
      "description": "The value inside the country's data, e.g. wht/items[payment_type=royalties]/non_resident_rate"
    },
    "old": {
      "description": "Value before (null: not given before)"
    },
    "new": {
      "description": "Value after (null: no longer given)"
    },
    "kind": {
      "type": "string",
      "enum": [
        "law_change",
        "correction",
        "new_source",
        "coverage"
      ],
      "description": "law_change: the law changed; correction: our record was wrong (the law did not change); new_source: same value, better source; coverage: a value not given before"
    },
    "effective_from": {
      "type": [
        "string",
        "null"
      ],
      "format": "date",
      "description": "law_change: the day the new value applies (null if not known)"
    },
    "source": {
      "type": "string",
      "description": "The law or text the new value comes from"
    },
    "source_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "source_note": {
      "type": "string",
      "description": "Why there is no link"
    },
    "commit": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data revision that made the change"
    }
  }
}