{
  "openapi": "3.1.0",
  "info": {
    "title": "EveryAILaw.com",
    "description": "Static JSON API for AI regulation obligations, provisions, and jurisdictions. Read-only, no authentication required.",
    "version": "1.0.0",
    "contact": {
      "name": "PAICE",
      "url": "https://paice.work/contact/"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://paice.work/"
    }
  },
  "servers": [
    {
      "url": "https://everyailaw.com/api/v1",
      "description": "Production (GitHub Pages)"
    }
  ],
  "paths": {
    "/index.json": {
      "get": {
        "summary": "API manifest with all available endpoints",
        "operationId": "getApiIndex",
        "responses": {
          "200": {
            "description": "API manifest"
          }
        }
      }
    },
    "/obligations.json": {
      "get": {
        "summary": "All compliance obligations",
        "operationId": "getObligations",
        "responses": {
          "200": {
            "description": "Obligation list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObligationsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/regulations.json": {
      "get": {
        "summary": "Complete tracked regulation corpus, including terminal historical instruments",
        "operationId": "getRegulations",
        "responses": {
          "200": {
            "description": "Complete regulation list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegulationsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/provisions.json": {
      "get": {
        "summary": "All provisions mapped to obligations",
        "operationId": "getProvisions",
        "responses": {
          "200": {
            "description": "Provision list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProvisionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/provision-details.json": {
      "get": {
        "summary": "Current provision requirements, qualified penalties, source locators, OF links and labeled dates; no point-in-time history",
        "operationId": "getProvisionDetails",
        "responses": {
          "200": {
            "description": "Current provision details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProvisionDetailsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pending-bills.json": {
      "get": {
        "summary": "Pre-enactment bill register",
        "operationId": "getPendingBills",
        "responses": {
          "200": {
            "description": "Bills in scope tracked from committee passage through signature; not binding law"
          }
        }
      }
    },
    "/stats.json": {
      "get": {
        "summary": "Coverage counts across the reference",
        "operationId": "getStats",
        "responses": {
          "200": {
            "description": "Counts of instruments, regulations, standards, obligations, provisions, authorities, tracked jurisdictions, and registry status breakdown"
          }
        }
      }
    },
    "/standards.json": {
      "get": {
        "summary": "Voluntary standards and frameworks",
        "operationId": "getStandards",
        "responses": {
          "200": {
            "description": "Standard list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StandardsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/jurisdictions.json": {
      "get": {
        "summary": "All jurisdictions (195+ countries) with tracking status",
        "operationId": "getJurisdictions",
        "responses": {
          "200": {
            "description": "Jurisdiction list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JurisdictionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/authorities.json": {
      "get": {
        "summary": "Regulatory authorities",
        "operationId": "getAuthorities",
        "responses": {
          "200": {
            "description": "Authority list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthoritiesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/obligation-matrix.json": {
      "get": {
        "summary": "Sparse current-instrument provision-mapping grid",
        "operationId": "getObligationMatrix",
        "responses": {
          "200": {
            "description": "Current-instrument mappings; terminal historical instruments are excluded, and an absent cell is not a legal no-duty conclusion"
          }
        }
      }
    },
    "/evidence.json": {
      "get": {
        "summary": "Verification evidence records",
        "operationId": "getEvidence",
        "responses": {
          "200": {
            "description": "Evidence list"
          }
        }
      }
    },
    "/all.json": {
      "get": {
        "summary": "Complete entity arrays with current-only aggregates",
        "operationId": "getAll",
        "responses": {
          "200": {
            "description": "Complete entity records; nested matrix and comparisons exclude terminal historical instruments"
          }
        }
      }
    },
    "/upcoming.json": {
      "get": {
        "summary": "Upcoming deadlines and recently changed instruments",
        "operationId": "getUpcoming",
        "responses": {
          "200": {
            "description": "Upcoming instruments"
          }
        }
      }
    },
    "/changelog.json": {
      "get": {
        "summary": "Build changelog with content hashes for change detection",
        "operationId": "getChangelog",
        "responses": {
          "200": {
            "description": "Changelog"
          }
        }
      }
    },
    "/by-jurisdiction/{id}.json": {
      "get": {
        "summary": "Current regulations and provisions for a jurisdiction",
        "operationId": "getByJurisdiction",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Jurisdiction ID (ISO 3166-based)"
          }
        ],
        "responses": {
          "200": {
            "description": "Current-instrument jurisdiction slice; terminal historical instruments are excluded"
          }
        }
      }
    },
    "/by-institution/{id}.json": {
      "get": {
        "summary": "Current regulations and provisions for a non-territorial institution",
        "operationId": "getByInstitution",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Institution slug (kebab-case of the institution name, e.g. international-organization-for-standardization)"
          }
        ],
        "responses": {
          "200": {
            "description": "Current-instrument institution slice. Institutions hold competence, not territory, and have no by-jurisdiction slice"
          }
        }
      }
    },
    "/by-obligation/{id}.json": {
      "get": {
        "summary": "Current provisions and regulations for an obligation",
        "operationId": "getByObligation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Obligation ID (kebab-case)"
          }
        ],
        "responses": {
          "200": {
            "description": "Current-instrument obligation slice; terminal historical instruments are excluded"
          }
        }
      }
    },
    "/exclusions.json": {
      "get": {
        "summary": "Laws evaluated and excluded from tracking, with exclusion principles and categories",
        "operationId": "getExclusions",
        "responses": {
          "200": {
            "description": "Exclusions list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExclusionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/crosswalk.json": {
      "get": {
        "summary": "Standards-to-obligations crosswalk mapping which standards address which obligations and related regulations",
        "operationId": "getCrosswalk",
        "responses": {
          "200": {
            "description": "Crosswalk data"
          }
        }
      }
    },
    "/diff.json": {
      "get": {
        "summary": "Structured diff showing new, updated, and removed regulations since last build, plus upcoming milestones",
        "operationId": "getDiff",
        "responses": {
          "200": {
            "description": "Diff data with change summary"
          }
        }
      }
    },
    "/change-events.json": {
      "get": {
        "summary": "Pending source-change events with stable origin batches and a current-build carrier",
        "operationId": "getChangeEvents",
        "responses": {
          "200": {
            "description": "Profile-addressable change events and fail-closed blockers"
          }
        }
      }
    },
    "/regulation-comparisons.json": {
      "get": {
        "summary": "Current-instrument pairwise regulation obligation overlap comparisons",
        "operationId": "getRegulationComparisons",
        "responses": {
          "200": {
            "description": "Current regulation comparison data; terminal historical instruments are excluded"
          }
        }
      }
    },
    "/of/index.json": {
      "get": {
        "summary": "Obligation-First record manifest",
        "operationId": "getObligationFirstIndex",
        "responses": {
          "200": {
            "description": "Obligation-First API manifest"
          }
        }
      }
    },
    "/of/obligationCategories.json": {
      "get": {
        "summary": "Obligation-First obligation categories",
        "operationId": "getObligationCategories",
        "responses": {
          "200": {
            "description": "Jurisdiction-neutral gist:Category duty concepts; obligations join via gist:isCategorizedBy"
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "summary": "OpenAPI 3.1 schema for this API",
        "operationId": "getOpenApiSchema",
        "responses": {
          "200": {
            "description": "OpenAPI schema"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Meta": {
        "type": "object",
        "properties": {
          "generated": {
            "type": "string",
            "format": "date-time"
          },
          "count": {
            "type": "integer"
          }
        }
      },
      "Obligation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "group": {
            "type": "string",
            "enum": [
              "accountability",
              "competence",
              "compliance",
              "disclosure",
              "fairness",
              "governance"
            ]
          },
          "status": {
            "type": "string"
          },
          "search_terms": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string"
          },
          "provision_count": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "Regulation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "decree",
              "framework",
              "law",
              "regulation",
              "standard"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "enacted",
              "enforcing",
              "phased-enforcement",
              "proposed",
              "repealed",
              "voluntary"
            ]
          },
          "jurisdiction": {
            "type": "string"
          },
          "jurisdiction_name": {
            "type": "string"
          },
          "authority": {
            "type": "string"
          },
          "effective": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "enacted": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "provision_count": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "status"
        ]
      },
      "Provision": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "regulation": {
            "type": "string"
          },
          "authority": {
            "type": "string"
          },
          "source_heading": {
            "type": "string"
          },
          "obligations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scope": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "affected-person",
                "authorized-representative",
                "controller",
                "deployer",
                "distributor",
                "employer",
                "financial-entity",
                "government",
                "healthcare-provider",
                "importer",
                "insurer",
                "intermediary",
                "program-participant",
                "provider",
                "regulated-professional",
                "researcher",
                "supplier"
              ]
            }
          }
        },
        "required": [
          "id",
          "regulation",
          "obligations",
          "roles"
        ]
      },
      "Standard": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "decree",
              "framework",
              "law",
              "regulation",
              "standard"
            ]
          },
          "status": {
            "type": "string"
          },
          "official_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "Jurisdiction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "name_local": {
            "type": "string"
          },
          "iso": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "type": "string",
            "enum": [
              "national",
              "subnational",
              "supranational"
            ]
          },
          "region": {
            "type": "string",
            "nullable": true,
            "enum": [
              "africa",
              "americas",
              "asia",
              "europe",
              "oceania",
              "global"
            ]
          },
          "parent": {
            "type": "string",
            "nullable": true
          },
          "legal_system": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "tracked",
              "watch-list",
              "evaluated",
              "unevaluated"
            ]
          },
          "instruments": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "level",
          "status"
        ]
      },
      "Authority": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "advisor",
                "enforcer",
                "legislator",
                "regulator",
                "standards-body"
              ]
            }
          },
          "regulations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "ObligationsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "obligations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Obligation"
            }
          }
        }
      },
      "RegulationsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "regulations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Regulation"
            }
          }
        }
      },
      "ProvisionsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "provisions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Provision"
            }
          }
        }
      },
      "ProvisionDetail": {
        "type": "object",
        "required": [
          "id",
          "regulation",
          "name",
          "requirements",
          "penalties",
          "scope",
          "context",
          "instrument_notes",
          "roles",
          "status",
          "source",
          "of",
          "dates"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "regulation": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "requirements": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "penalties": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "description": "Complete parsed rows, including conditions and qualifications; never a universal fine lookup."
          },
          "context": {
            "type": [
              "string",
              "null"
            ],
            "description": "Native provision context, preserved without removing scope or timing qualifications."
          },
          "instrument_notes": {
            "type": [
              "string",
              "null"
            ],
            "description": "Native instrument of_notes; separately labeled whole-instrument qualifications."
          },
          "scope": {
            "type": [
              "string",
              "null"
            ]
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "type": "object",
            "required": [
              "url",
              "locator",
              "citation"
            ],
            "properties": {
              "url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "locator": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "citation": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "of": {
            "type": "object",
            "required": [
              "term",
              "obligations"
            ],
            "properties": {
              "term": {
                "type": "string",
                "format": "uri"
              },
              "obligations": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uri"
                }
              }
            }
          },
          "dates": {
            "type": "object",
            "required": [
              "recorded_effective",
              "verified",
              "checked",
              "instrument_last_verified",
              "instrument_amendments",
              "interpretation",
              "history_supported"
            ],
            "properties": {
              "recorded_effective": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Native provision value, which may contain qualification text. Not the start of the current wording version."
              },
              "verified": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "checked": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "instrument_last_verified": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "instrument_amendments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                },
                "description": "Whole-instrument context; not every amendment affects this provision, and no provision-version interval is inferred."
              },
              "interpretation": {
                "type": "string"
              },
              "history_supported": {
                "const": false
              }
            }
          }
        }
      },
      "ProvisionDetailsResponse": {
        "type": "object",
        "required": [
          "meta",
          "provisions"
        ],
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "provisions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProvisionDetail"
            }
          }
        }
      },
      "StandardsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "standards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Standard"
            }
          }
        }
      },
      "JurisdictionsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "jurisdictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Jurisdiction"
            }
          }
        }
      },
      "AuthoritiesResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "authorities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Authority"
            }
          }
        }
      },
      "Exclusion": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "citation": {
            "type": "string"
          },
          "effective": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "principle": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "state",
          "name",
          "principle"
        ]
      },
      "ExclusionPrinciple": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "test": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "ExclusionsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Meta"
          },
          "scope": {
            "type": "object",
            "properties": {
              "inclusion_criteria": {
                "type": "string"
              },
              "exclusion_principles": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExclusionPrinciple"
                }
              }
            }
          },
          "categories": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            }
          },
          "exclusions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Exclusion"
            }
          }
        }
      }
    }
  }
}