# AICD API: complete public help AICD API turns public local-government records into structured, source-linked data for people and AI agents. Availability: AICD API is in prelaunch. Public coverage research is available. Account and API access are limited to enabled workspaces. Paid MCP tools are not available yet. Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Canonical help index: https://aicdapi.com/help # Getting started Canonical: https://aicdapi.com/help/getting-started Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API Learn what AICD API does, what is public now, and how to check a source before you use a result. ## What AICD API does AICD API collects public local-government records, keeps the source link, and returns structured data that software and AI agents can use. The first region is Dallas-Fort Worth. Texas-wide coverage is planned. The current public catalog is research evidence, not proof that every listed record is already in the live feed. ## What is available now - The public coverage catalog can be read without an API key. - The catalog records a research pass for 238 active municipalities and 16 counties in the DFW region. - Public no-key MCP access is closed during prelaunch. - The authenticated MCP route exists for release testing, but paid tool calls return beta_unavailable. Do not retry them automatically. - Permit and other new record-family imports are not claimed as live until their source and release checks pass. ### Links - [View public coverage](/api/v1/public/coverage): Dated source evidence and known research gaps. - [Check featured meeting-source status](/api/v1/public/source-status): Current health for featured DFW meeting sources. ## Your first useful query Start with coverage. It tells you where evidence exists and where a gap remains. Then follow the returned source URL before you rely on a record. 1. Read the catalog researchDate and catalogVersion. 2. Check the evidence code and limits for the record subtype you need. 3. Follow sourceUrl to the publishing government page. 4. If the publisher is in the featured meeting-source list, check its source status. Otherwise follow the government source and treat missing or stale data as unknown. ### Read the public coverage catalog ```bash curl --fail --silent --show-error \ 'https://aicdapi.com/api/v1/public/coverage?limit=10' ``` ## Read the evidence codes - M means a public machine-readable query, sample, or count succeeded. - D means a public record or document was opened and read. - P means an official source or portal was found, but record extraction was not proved. - R means access, terms, account, payment, or reuse restrictions need resolution. - U means no source was proved in this pass. It does not mean unavailable. - N means the family or named subtype is explicitly not applicable. > An evidence code does not prove full history, current completeness, commercial reuse rights, or production ingestion. # Accounts and sign-in Canonical: https://aicdapi.com/help/accounts Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API Create or enter a workspace, understand roles, and fix common sign-in problems. ## Create or enter your account 1. Open Create account and continue with Google. 2. After sign-in, AICD API sends you to the account page. 3. If your workspace has beta access, an owner or admin can create its API account and manage agent keys. ### Links - [Create account](/sign-up) - [Sign in](/sign-in) - [Open account](/account) ## Roles - Workspace owners and admins can create, rotate, and revoke API keys. - Other workspace members can view the account but cannot manage keys. - A self-service account starts with MCP read access only. Civic read and export scopes must be enabled for the account before a key can use them. ## Sign out and account recovery Use Sign out at the bottom of the account page when you finish on a shared computer. AICD API uses Google sign-in. If Google cannot verify you, use Google's account recovery first. If you can sign in but cannot reach the correct workspace, contact AICD API and include your workspace name. Never send an API key or password. ## Access problems - 401 means your browser session ended. Sign in again. - 403 on key controls means your workspace role cannot manage keys. Ask an owner or admin. - 404 account_not_found means the workspace API account has not been created or enabled. - An inactive API account cannot create or rotate keys. ### Links - [Troubleshooting](/help/troubleshooting) - [Contact support](mailto:hello@aicdapi.com) # API keys Canonical: https://aicdapi.com/help/api-keys Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API Create one scoped key per agent, copy it once, and replace or revoke it safely. ## Create a key 1. Sign in and open Account. 2. Create the API account if your workspace is eligible and it does not exist yet. 3. Choose a name that identifies one agent or integration. 4. Choose only the scopes it needs and an expiry of 30, 90, 180, or 365 days. The default is 90 days. 5. Copy the full secret when it appears. AICD API does not show it again. ### Links - [Open account](/account) ## Choose scopes - mcp:read allows the authenticated MCP route. - civic:read allows health, change-feed, and batch reads. - civic:export allows creation of a new snapshot and reads from that snapshot. - A key cannot get a scope that its account does not have. ## Store the key The simple setup is to paste the key into your MCP client's secret or bearer-token setting. You can also use an environment variable or a secret store. 1Password is optional. A client-held key can stay out of the model prompt and tool arguments. A local agent with broad computer access may still be able to read local settings or environment variables. Give that agent only the access you accept. ### Environment variable template ```bash AICD_API_KEY=paste-your-key-here ``` > An AICD API key authorizes data access. It is not a wallet signing key and cannot approve a blockchain payment. ## Replace or revoke 1. For a planned move, create a new key with the same needed scopes. 2. Update the one agent that uses it. 3. Test the replacement without exposing it in logs. 4. Revoke the old key from Account. - The Account page's Replace action revokes the selected key immediately and creates one replacement. Use it only when you can update the agent at once. A replacement key expires after 90 days. - Revoke a key at once if it may have been exposed or the agent no longer needs access. - A revoked or expired key returns 401 and cannot be restored. # Agent and MCP setup Canonical: https://aicdapi.com/help/mcp-setup Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API Prepare a safe Streamable HTTP connection and understand the current beta gate. ## Current support status The authenticated server route is built at https://aicdapi.com/api/v1/mcp. It requires a bearer key with mcp:read. Paid MCP tool calls are not available yet. They return beta_unavailable and tell clients not to retry automatically. No desktop or command-line client is labeled as fully supported until its ordinary-user release test passes. > Do not use the old /api/mcp route as a no-key server. It is closed during prelaunch. ## Connection values for invited testing - Transport: Streamable HTTP over HTTPS. - Server URL: https://aicdapi.com/api/v1/mcp. - Authentication: Authorization bearer header from AICD_API_KEY. - Current protocol version: 2026-07-28. - The server keeps a stateless compatibility path for the 2025-06-18 initialize flow. - Maximum request body: 65,536 bytes. Tool timeout: 10 seconds. ### Generic client values ```json { "url": "https://aicdapi.com/api/v1/mcp", "bearerTokenEnvVar": "AICD_API_KEY" } ``` ## Safe setup 1. Create one mcp:read key for this agent. 2. Put the secret in the client's secret field or AICD_API_KEY environment variable. 3. Add the HTTPS server URL and reconnect the client. 4. When paid beta opens, list tools before making a call and check each returned source link. 5. Revoke the key when you remove the client. > Do not put a raw key in a URL, command argument, prompt, chat message, screenshot, or source file. ## Search one classified topic The search_agenda tool requires query. Add topicSlug to select an exact topic slug. A topic slug uses 1 to 64 lowercase letters, numbers, underscores, or hyphens. Each result includes publisher names and the source type. It also includes the source freshness status and the last successful check time when one exists. - The query, topic, jurisdiction, and date filters are combined with AND. - A result must have a classified topic match for the exact topicSlug. A word in an agenda title or body does not create that match by itself. - Freshness can be healthy, stale, failing, or inactive. Healthy, stale, and failing use the source's expected check interval, last success, and latest failure. Inactive means the source endpoint is no longer scheduled, while its historical records stay searchable. - lastSuccessfulCheckAt is the time of the latest successful source check. It is not proof that the source was complete or that a record was published at that time. - An empty result does not prove that no government action occurred. Check coverage, the topic slug, the date range, and the government source. ### Search one classified topic ```json { "query": "data center", "topicSlug": "development_approval", "jurisdictionSlug": "dallas", "fromDate": "2026-09-01", "toDate": "2026-09-10" } ``` ## Client compatibility - Generic Streamable HTTP configuration is documented from the server contract. - Codex, Claude, ChatGPT, and other named clients are pending ordinary-user release checks. - Client-specific menus and configuration shapes can change. Follow the client maker's current documentation. ### Links - [API keys](/help/api-keys) - [Troubleshooting](/help/troubleshooting) # API and data guide Canonical: https://aicdapi.com/help/api-and-data Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API Use public coverage, authenticated snapshots, changes, and source links without overstating the data. ## Public research routes Public coverage and source-status routes do not require a key. Coverage describes dated research evidence and gaps. The public coverage route has a default and maximum page size of 20. Source status reports live health for a featured set of DFW meeting sources. It does not cover every entry in the research catalog. ### Links - [Coverage](/api/v1/public/coverage) - [Source status](/api/v1/public/source-status) ## Authenticated civic data routes Health keeps lifetime document fetch failures in pipeline.documentDeadLetters. The separate pipeline.actionableDocumentDeadLetters count covers failed documents for meetings today or later in America/Chicago. A current document fetch failure causes degraded status unless it is an oversized-document failure covered by another document from the same source, meeting time, and title. Coverage accepts any readable or OCR document with `document_type` other than `minutes`: agendas, packets, staff reports, attachments, and HTML documents. Unknown document errors remain uncovered and cause degraded status. Historical or covered oversized-document failures remain in the history but do not set status to degraded. Stale sources, current source errors, including unrecognized errors categorized as upstream_failure, and extraction or classification dead letters also set degraded status. - POST /api/v1/data/snapshots creates a seven-day snapshot and needs civic:export. - GET /api/v1/data/snapshots/{snapshotId}/{resource} reads one snapshot resource and needs civic:export. - GET /api/v1/data/changes reads ordered changes and needs civic:read. - POST /api/v1/data/batch reads up to 100 record IDs across bounded requests and needs civic:read. - GET /api/v1/data/health reports feed health and needs civic:read. ### Read feed health ```bash curl --fail --silent --show-error \ --header "Authorization: Bearer $AICD_API_KEY" \ https://aicdapi.com/api/v1/data/health ``` ## Authenticated pagination and limits - Authenticated civic data has a default page size of 100 and a service ceiling of 500. Your account can have a lower limit. - Use the opaque nextCursor value exactly as returned. Do not edit or decode it to make business decisions. - A cursor can expire after the replay window. A snapshot can also expire. - If a response exceeds your account byte limit, request a smaller page. ## Time, source evidence, and missing records - Machine timestamps use ISO 8601. UTC timestamps end in Z. A source or meeting timezone is kept when known. - A source link is evidence, not a guarantee that the publisher will keep the page unchanged. - No result does not prove that no government action occurred. Check coverage, spelling, time range, and source publication delay. If the publisher is in the featured meeting-source list, also check its source status. - Keep AICD API metadata and the government source URL when you store or publish a result. - The public catalog's M, D, P, R, U, and N codes describe one named subtype only. They do not promise full-family coverage. ## Response shape Successful agent-facing HTTP responses use data and may include meta. Errors use error.code and error.message. Authenticated responses are not stored in shared caches. ### Error shape ```json { "error": { "code": "invalid_parameter", "message": "Invalid civic data request" } } ``` # MCP payments Canonical: https://aicdapi.com/help/payments Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API Understand what is planned for pay-as-you-go MCP and what is not available yet. ## Current status Pay-as-you-go MCP payment is not live. Hosted tool calls stop at beta_unavailable before civic work runs. AICD API does not publish a production price, wallet network, or asset until the paid release checks and commercial approval are complete. > Do not fund a wallet or approve a payment based on a draft, old screenshot, or test configuration. ## Read one settled receipt If your account has a settled payment, read its receipt at GET /api/v1/account/receipts/{operationId}. Replace {operationId} with the payment operation UUID and use a signed-in browser session for that account. The response includes the operation ID, amount in the asset’s smallest units, asset, network, settled status, transaction reference, and settlement time. Stored query results and payment proofs stay private. Every response uses Cache-Control: no-store. A missing sign-in returns 401 unauthorized. Invalid, missing, unsettled, and other-account receipts all return 404 receipt_not_found. A temporary store error returns 500 internal_error. Receipt history and spending-cap screens are still pending. Paid MCP calls remain closed during prelaunch. ### Links - [Account access](/help/accounts) ## Planned safe flow 1. Read the exact quote, asset, network, recipient, tool, and arguments. 2. Compare the amount with your own spending cap. 3. Approve with a wallet that you control. An AICD API key cannot sign the payment. 4. Keep the returned receipt or payment reference. 5. If the result is uncertain, check the receipt and usage record before you retry. ## Avoid double charges - Do not retry automatically after an uncertain payment or network timeout. - Use the same request or receipt reference only when the released client flow says it is safe. - Set a wallet or client spending cap outside the model when your tooling supports it. - Never send a wallet seed phrase, private key, API key, or signed payment payload to support. ## Failed payments When paid beta opens, a payment can fail because the wallet has insufficient funds, uses the wrong network or asset, rejects the quote, or cannot reach the payment service. Follow the error's safe next step. Do not switch networks or send funds until the production guide names the supported values. ### Links - [Troubleshooting](/help/troubleshooting) - [Trust and support](/help/trust-and-support) # Monthly billing Canonical: https://aicdapi.com/help/billing Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API See the planned separation between monthly account billing and pay-as-you-go MCP. ## Current status Public monthly billing is not live. Prices, refunds, cancellation timing, invoice delivery, and failed-charge handling remain pending commercial approval. The account page must not be treated as a live purchase flow. ## Approved direction for later release - Monthly billing will be separate from MCP pay-as-you-go payments. - The planned offer has no free trial. - The planned first month is paid at signup, followed by renewals. - Final prices and policy terms will be published before checkout is opened. > These points describe the planned offer. They are not an offer to buy service today. ## Before you pay 1. Read the price and renewal period shown by the live checkout. 2. Read the cancellation and refund terms linked from that checkout. 3. Confirm the workspace and billing contact. 4. Keep the payment confirmation and invoice. ## Billing help When billing opens, include the workspace name and invoice or checkout reference in a support request. Do not send card details, API keys, passwords, or wallet secrets. ### Links - [Contact support](mailto:hello@aicdapi.com) # Troubleshooting Canonical: https://aicdapi.com/help/troubleshooting Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API Map common HTTP and MCP errors to a safe fix without sharing a secret. ## Authentication and access - 401 unauthorized: the key is missing, malformed, unknown, revoked, expired, or belongs to an inactive account. Add the correct bearer key or replace it. Do not paste it into a support message. - 403 forbidden: the valid key does not have the required scope, or the account or workspace role cannot perform the action. Use a properly scoped key or ask an owner or admin. - 404 account_not_found: the workspace API account is not enabled. An owner or admin can try Account or contact support. - 404 not_found on a snapshot: the snapshot does not exist, does not belong to this feed context, or expired. Create a new snapshot. ## Limits and stale cursors - 410 cursor_expired: create a fresh snapshot and restart from its boundary cursor. - 413 request_too_large: reduce the request body. A batch can contain at most 100 total IDs and the request body can be at most 64 KiB. - 413 response_too_large: lower the page limit or request fewer records. - 429 rate_limited: wait for the number of seconds in Retry-After, then retry once. Do not run a tight retry loop. ## Availability and timeouts - MCP tool error beta_unavailable: the paid MCP flow is not open. Do not retry automatically. - 503 feed_unavailable: check source health and retry later with bounded backoff. - MCP tool error service_unavailable: retry later with bounded backoff. - 503 mcp_unavailable: reconnect once after a delay. If it continues, report the time and request ID if one was returned. - 504 timeout: use a smaller data API query and retry later. - MCP tool error timeout: use a smaller query and retry later. The MCP tool limit is 10 seconds. ## No records found 1. Check the public coverage entry for the exact place and record subtype. 2. If the publisher is in the featured meeting-source list, check source status and the last successful check. 3. Remove optional filters and confirm dates and local timezone. 4. Open the government source link to see whether it published the record. 5. Report the missing record with the public source URL. Do not include a key. ## Unsupported client or payment A client is unsupported until AICD API publishes a completed ordinary-user test for it. Paid MCP is closed, so wallet or payment errors in a draft setup are not a supported production flow. ### Links - [Agent and MCP setup](/help/mcp-setup) - [Contact support](mailto:hello@aicdapi.com) # Trust and support Canonical: https://aicdapi.com/help/trust-and-support Content version: 2026-09-15.1 Reviewed: 2026-09-15 Reviewed against source commit: a6e88209e0c64247031416f27f11b050e0333088 Owner: AICD API Review privacy, data limits, corrections, support, and change notices. ## Privacy and secret safety The public privacy page explains the current launch waitlist, anonymous visit measurement, PostHog waitlist events, and metadata-only inbox records. Complete inbox records for email sent to an @aicdapi.com address keep bounded delivery metadata: the provider event and message IDs, delivery time, sender and recipient addresses, subject, and attachment metadata such as provider IDs, names, file types, content disposition (such as inline or attached), and content IDs. They also keep a SHA-256 digest of the signed webhook payload. If bounded delivery metadata is invalid or over its limit, AICD API keeps a smaller omitted-metadata quarantine record. It keeps the provider event and message IDs, delivery time, one matched @aicdapi.com recipient, reason codes, safe recipient and attachment counts when known, and a SHA-256 digest of the signed webhook payload. In this record, the sender, full recipient lists, subject, and attachment metadata are empty. AICD API does not store message bodies or attachment files during this first stage. Resend receives the full message so it can deliver and forward it. Do not send passwords, API keys, payment card details, or other secrets by email. Support will not ask for an API key, password, wallet seed phrase, private key, authorization header, or signed payment payload. ### Links - [Privacy](/privacy) ## Known data limits - Government publishers can change pages, fields, schedules, and history without notice. - A research-catalog entry does not prove a source is active in production. - An empty result can mean no match, incomplete coverage, publication delay, or source trouble. - A classification helps discovery. Read the underlying agenda text and government source before acting. - Keep proposed actions separate from adopted actions. A meeting agenda does not prove final approval. ## Report bad data or a bug 1. Email hello@aicdapi.com. 2. State whether this is bad data, missing data, access trouble, or a software bug. 3. Include the public government source URL, AICD API page or route, approximate time, and safe error code. 4. Remove keys, authorization headers, personal data, and wallet secrets before you send it. ### Links - [Email AICD API](mailto:hello@aicdapi.com) ## Service status and changes A public status page and public release-note feed are not available yet. Until they ship, source status shows health only for featured DFW meeting sources. Use this Help Center for current public product limits. AICD API will update the related help page when authentication, routes, tools, schemas, limits, prices, errors, or supported clients change. Breaking changes need clear migration notes before release. ### Links - [Source status](/api/v1/public/source-status) - [Agent index](/llms.txt) - [Full agent guide](/llms-full.txt)