---
title: "Read the current state of up to 100 records"
method: POST
path: "/api/v1/data/batch"
tags: ["Customer civic data"]
---

# Read the current state of up to 100 records

`POST /api/v1/data/batch`

## Request

- Base URL: `https://aicdapi.com`
- URL: `https://aicdapi.com/api/v1/data/batch`
- Auth: HTTP bearer

Missing and removed IDs are absent; compare response IDs with the request. Total IDs across all requests must not exceed 100. JSON body cap is 65536 bytes.

## Request body

- object
  - `requests` object[], required
    - `resource` 'jurisdictions' | 'public_bodies' | 'source_endpoints' | 'topics' | 'meetings' | 'documents' | 'agenda_items' | 'topic_matches' | 'classification_evidence' | 'civic_events' | 'aliases', required
    - `ids` string[], required

## Response `200`

Current records.

- object
  - `data` object, required
    - `items` CivicSnapshotItem[], required
      - union
        - object
          - `resource` 'jurisdictions', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataJurisdictions, required
            - `id` string, uuid, required
            - `slug` string, required
            - `name` string, required
            - `type` 'city' | 'town' | 'village' | 'county' | 'special_district', required
            - `state` string, required
            - `countyName` string, nullable, required
            - `nctcogMember` boolean, required
            - `population` integer, nullable, required
            - `timezone` string, required
            - `websiteUrl` string, nullable, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
        - object
          - `resource` 'public_bodies', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataPublicBodies, required
            - `id` string, uuid, required
            - `jurisdictionId` string, uuid, required
            - `slug` string, required
            - `name` string, required
            - `bodyType` 'city_council' | 'commissioners_court' | 'planning_zoning' | 'board_adjustment' | 'economic_development' | 'parks' | 'other', required
            - `active` boolean, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
        - object
          - `resource` 'source_endpoints', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataSourceEndpoints, required
            - `id` string, uuid, required
            - `publicBodyId` string, uuid, required
            - `sourceSystem` 'legistar' | 'civicplus_agenda_center' | 'civicweb' | 'civicclerk' | 'granicus' | 'municode' | 'onbase_agenda_online' | 'pdf_directory' | 'arcgis_feature_service' | 'docspublished' | 'novusagenda' | 'agendaquick', required
            - `recordKind` 'agenda' | 'record_stream', required
            - `officialSourceUrl` string, required
            - `pollIntervalMinutes` integer, required
            - `lastSuccessAt` string, date-time, nullable, required
            - `lastErrorAt` string, date-time, nullable, required
            - `errorCategory` 'timeout' | 'dns' | 'authorization' | 'not_found' | 'size_limit' | 'invalid_document' | 'upstream_failure', nullable, required
            - `active` boolean, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
        - object
          - `resource` 'topics', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataTopics, required
            - `id` string, uuid, required
            - `slug` string, required
            - `name` string, required
            - `publicLabel` string, required
            - `description` string, required
            - `keywords` string[], required
            - `negativeKeywords` string[], required
            - `selectable` true, required
            - `classificationActive` boolean, required
            - `taxonomyManaged` boolean, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
        - object
          - `resource` 'meetings', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataMeetings, required
            - `id` string, uuid, required
            - `sourceEndpointId` string, uuid, required
            - `publicBodyId` string, uuid, required
            - `externalId` string, required
            - `title` string, required
            - `meetingAt` string, date-time, required
            - `meetingTimePrecision` 'date' | 'time' | 'unknown' | 'null', nullable: Optional precision. date has no supplied clock; time is a verified source clock; unknown is unverified. Absent or null preserves pre-contract legacy precision and does not certify a clock.
            - `status` 'scheduled' | 'cancelled' | 'completed' | 'unknown', required
            - `agendaUrl` string, nullable, required
            - `packetUrl` string, nullable, required
            - `minutesUrl` string, nullable, required
            - `videoUrl` string, nullable, required
            - `sourceDocuments` object[], required
              - …
            - `sourceHash` string, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
        - object
          - `resource` 'documents', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataDocuments, required
            - `id` string, uuid, required
            - `meetingId` string, uuid, nullable, required
            - `sourceEndpointId` string, uuid, required
            - `documentType` 'agenda' | 'packet' | 'minutes' | 'staff_report' | 'attachment' | 'html', required
            - `sourceUrl` string, required
            - `contentType` string, nullable, required
            - `sha256` string, required
            - `fetchedAt` string, date-time, required
            - `createdAt` string, date-time, required
            - `extraction` object, required
              - …
            - `archive` object, required
              - …
        - object
          - `resource` 'agenda_items', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataAgendaItems, required
            - `id` string, uuid, required
            - `meetingId` string, uuid, required
            - `documentId` string, uuid, nullable, required
            - `externalId` string, nullable, required
            - `itemNumber` string, nullable, required
            - `title` string, required
            - `rawText` string, required
            - `normalizedText` string, required
            - `actionType` string, required
            - `pageNumber` integer, nullable, required
            - `sourceUrl` string, nullable, required
            - `sourceHash` string, required
            - `classification` object, required
              - …
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
        - object
          - `resource` 'topic_matches', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataTopicMatches, required
            - `id` string, uuid, required
            - `agendaItemId` string, uuid, required
            - `topicId` string, uuid, required
            - `matchMethod` 'keyword' | 'llm' | 'manual', required
            - `confidence` integer, required
            - `headline` string, nullable, required
            - `summary` string, required
            - `businessImpact` string, required
            - `evidenceQuote` string, required
            - `affectedLocation` object, required
            - `proceduralStage` 'proposed' | 'scheduled' | 'recommended' | 'continued' | 'approved' | 'denied' | 'adopted' | 'unknown', required
            - `actingBodyRole` 'recommending' | 'final_decision_maker' | 'unknown', required
            - `nextBodyName` string, nullable, required
            - `nextMeetingDate` string, nullable, required
            - `actionKind` 'public_comment' | 'registration' | 'meeting' | 'staff_contact' | 'unknown', required
            - `actionUrl` string, nullable, required
            - `model` string, nullable, required
            - `classifiedAt` string, date-time, required
            - `createdAt` string, date-time, required
        - object
          - `resource` 'classification_evidence', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataClassificationEvidence, required
            - `id` string, uuid, required
            - `agendaItemId` string, uuid, nullable, required
            - `topicId` string, uuid, nullable, required
            - `decision` 'keyword_no_candidate' | 'llm_no_match' | 'llm_match' | 'error', required
            - `candidateTopicSlugs` string[], required
            - `provider` string, nullable, required
            - `model` string, nullable, required
            - `confidence` integer, nullable, required
            - `headline` string, nullable, required
            - `summary` string, nullable, required
            - `businessImpact` string, nullable, required
            - `evidenceQuote` string, nullable, required
            - `affectedLocation` object, required
            - `proceduralStage` string, nullable, required
            - `actingBodyRole` string, nullable, required
            - `nextBodyName` string, nullable, required
            - `nextMeetingDate` string, nullable, required
            - `actionKind` string, nullable, required
            - `actionUrl` string, nullable, required
            - `errorCategory` 'classification_failed', nullable, required
            - `classifiedAt` string, date-time, required
            - `createdAt` string, date-time, required
        - object
          - `resource` 'civic_events', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataCivicEvents, required
            - `id` string, uuid, required
            - `jurisdictionId` string, uuid, required
            - `publicBodyId` string, uuid, nullable, required
            - `sourceEndpointId` string, uuid, required
            - `recordType` 'building_permit' | 'agenda_item_match', required
            - `category` 'residential' | 'commercial' | 'infrastructure' | 'government' | 'utilities' | 'education' | 'public_safety' | 'economic_development', required
            - `title` string, required
            - `summary` string, nullable, required
            - `evidenceQuote` string, nullable, required
            - `evidence` object, required
            - `sourceUrl` string, required
            - `occurredAt` string, date-time, nullable, required
            - `detectedAt` string, date-time, required
            - `externalRef` string, required
            - `dedupeHash` string, required
            - `address` string, nullable, required
            - `latitude` number, nullable, required
            - `longitude` number, nullable, required
            - `parcelId` string, nullable, required
            - `impactLevel` string, nullable, required
            - `impact` object, nullable, required
            - `payload` object, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
        - object
          - `resource` 'aliases', required
          - `recordId` string, uuid, required
          - `version` string, required: Monotonic decimal bigint. Compare as an integer, never as floating point.
          - `data` CivicDataAliases, required
            - `id` string, uuid, required
            - `namespace` string, required
            - `resource` 'jurisdictions' | 'public_bodies' | 'source_endpoints' | 'topics' | 'meetings' | 'documents' | 'agenda_items' | 'topic_matches' | 'classification_evidence' | 'civic_events', required
            - `legacyId` string, required
            - `upstreamId` string, uuid, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required

## Other responses

- `400`: Invalid parameter, duplicate query field or malformed JSON.
- `401`: Missing, invalid, expired or revoked credential.
- `403`: Customer lacks the required grant.
- `404`: Snapshot does not exist, belongs to another customer, or expired.
- `410`: Cursor is older than the retained replay floor; start a new snapshot.
- `413`: Request or response exceeds its size cap; reduce the page limit.
- `429`: A per-account request, burst or export allowance was exhausted, or the account-wide abuse ceiling was reached. The abuse ceiling is account-wide, is not charged against the paid quota, and is charged after the identity lookup and before a revoked, expired, unpaid, or scope-denied rejection is decided.
- `500`: Unexpected operation failure; the response contains no private database details.
- `503`: Authentication, limit store or feed state is unavailable.
- `504`: Database statement or request deadline exceeded.

---

[API](https://skmtc.dev/aicdapi/apis/aicd-api.md) · [All operations](https://skmtc.dev/aicdapi/apis/aicd-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aicdapi/apis/aicd-api/revisions/0f3752fae465?raw)
