JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/aicdapi-com/json-schema/aicdapi-com-civic-change-item-schema.json",
"title": "CivicChangeItem",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/aicdapi-com-openapi.json#/components/schemas/CivicChangeItem",
"oneOf": [
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "jurisdictions",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_jurisdictions"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "jurisdictions",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "public_bodies",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_public_bodies"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "public_bodies",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "source_endpoints",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_source_endpoints"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "source_endpoints",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "topics",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_topics"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "topics",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "meetings",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_meetings"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "meetings",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "documents",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_documents"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "documents",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "agenda_items",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_agenda_items"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "agenda_items",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "topic_matches",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_topic_matches"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "topic_matches",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "classification_evidence",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_classification_evidence"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "classification_evidence",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "civic_events",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_civic_events"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "civic_events",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "aliases",
"type": "string"
},
"operation": {
"const": "upsert",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"$ref": "#/$defs/CivicData_aliases"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
},
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "Opaque continuation token. Store and replay without modification."
},
"resource": {
"const": "aliases",
"type": "string"
},
"operation": {
"const": "remove",
"type": "string"
},
"recordId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "Monotonic decimal bigint. Compare as an integer, never as floating point."
},
"changedAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp ending in Z."
},
"data": {
"type": "null"
}
},
"required": [
"cursor",
"resource",
"operation",
"recordId",
"version",
"changedAt",
"data"
]
}
],
"$defs": {
"CivicData_agenda_items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"meetingId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"documentId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"externalId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"itemNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"type": "string"
},
"rawText": {
"type": "string"
},
"normalizedText": {
"type": "string"
},
"actionType": {
"type": "string",
"minLength": 1
},
"pageNumber": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"sourceUrl": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"sourceHash": {
"type": "string",
"minLength": 1
},
"classification": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pending",
"complete",
"failed"
]
},
"classifiedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"reclassificationRequestedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"attempts": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"lastAttemptAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"classifiedAt",
"reclassificationRequestedAt",
"attempts",
"lastAttemptAt"
],
"additionalProperties": false
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"id",
"meetingId",
"documentId",
"externalId",
"itemNumber",
"title",
"rawText",
"normalizedText",
"actionType",
"pageNumber",
"sourceUrl",
"sourceHash",
"classification",
"createdAt",
"updatedAt"
],
"additionalProperties": false
},
"CivicData_aliases": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"namespace": {
"type": "string",
"minLength": 1
},
"resource": {
"type": "string",
"enum": [
"jurisdictions",
"public_bodies",
"source_endpoints",
"topics",
"meetings",
"documents",
"agenda_items",
"topic_matches",
"classification_evidence",
"civic_events"
]
},
"legacyId": {
"type": "string",
"minLength": 1
},
"upstreamId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[
# --- truncated at 32 KB (70 KB total) ---
# Full source: https://artifacts.apis.io/aicdapi-com/json-schema/aicdapi-com-civic-change-item-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/aicdapi-com-civic-change-item"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.