aicdapi-com · Schema

FeedSubscriptionCollectionEnvelope

CompanyCivicDataGovernmentAPIMCP

Properties

Name Type Description
data object
View JSON Schema on GitHub

JSON Schema

aicdapi-com-feed-subscription-collection-envelope-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/aicdapi-com/json-schema/aicdapi-com-feed-subscription-collection-envelope-schema.json",
  "title": "FeedSubscriptionCollectionEnvelope",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/aicdapi-com-openapi.json#/components/schemas/FeedSubscriptionCollectionEnvelope",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "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)$",
                "description": "Server-assigned subscription id. Stable for the feed's life."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "description": "The caller-chosen name, unique per account and key among live feeds."
              },
              "resource": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "jurisdictions",
                      "public_bodies",
                      "source_endpoints",
                      "topics",
                      "meetings",
                      "documents",
                      "agenda_items",
                      "topic_matches",
                      "classification_evidence",
                      "civic_events",
                      "aliases"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The pinned resource filter, which the poll request cannot override. One of the civic resource names the `CivicResource` component lists, or null for every resource."
              },
              "keyId": {
                "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)$",
                "description": "The credential this feed is bound to, fixed for the feed's life. Only this exact credential can poll it: a replacement key must register a new feed, and may carry a retained cursor position from the old feed onto it while that position is still replayable."
              },
              "startCursor": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512,
                "description": "The change-feed position captured when the feed was created. Polling without a cursor starts here, and it is subject to the same replay retention as every other position: once it is older than the retained floor, a poll is refused with 410 and the feed must be reconciled from a fresh snapshot boundary."
              },
              "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)))$",
                "description": "UTC timestamp ending in Z."
              }
            },
            "required": [
              "id",
              "name",
              "resource",
              "keyId",
              "startCursor",
              "createdAt"
            ],
            "additionalProperties": false
          }
        },
        "activeCount": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Live subscriptions on the whole account, across every key, because the cap is per account."
        },
        "maxActiveSubscriptions": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "The account's current cap from its frozen paid tier: Pro 10, Ultra 100."
        }
      },
      "required": [
        "items",
        "activeCount",
        "maxActiveSubscriptions"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/aicdapi-com-feed-subscription-collection-envelope"
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.