Authentication
Brief, search, and export requests carry Authorization: Bearer aigi_live_<32hex>. Mint a
read-only key at Account » API keys.
The source catalog is public and does not require a customer key.
Developer surface
Public source-catalog access plus tenant-scoped bearer-token access
to briefs, search, and exports. Cursor pagination and the current
OpenAPI document are available at /openapi.json.
Brief, search, and export requests carry Authorization: Bearer aigi_live_<32hex>. Mint a
read-only key at Account » API keys.
The source catalog is public and does not require a customer key.
# Python
import os, httpx
response = httpx.get(
"https://api.aigovbrief.com/api/v1/briefs",
params={"limit": 5},
headers={"Authorization": f"Bearer {os.environ['AIGI_API_KEY']}"},
)
response.raise_for_status()
for brief in response.json()["items"]:
print(brief["title"])// TypeScript
const response = await fetch(
"https://api.aigovbrief.com/api/v1/briefs?limit=5",
{ headers: { Authorization: `Bearer ${process.env.AIGI_API_KEY}` } },
);
if (!response.ok) throw new Error(`AIGI API ${response.status}`);
const page = await response.json();
console.log(page.items.map((brief) => brief.title));# curl
curl -H "Authorization: Bearer aigi_live_…" \
https://api.aigovbrief.com/api/v1/briefs?limit=5| Path | Method | Purpose |
|---|---|---|
/api/v1/briefs | GET | List briefs (filters + cursor) |
/api/v1/briefs/{id} | GET | Get one brief |
/api/v1/sources | GET | Catalog of AIGI sources |
/api/v1/search | GET | Full-text search |
/api/v1/exports | POST | Create a bulk export; the current implementation returns when ready |
/api/v1/exports/{id} | GET | Read export status and integrity metadata |
/api/v1/exports/{id}/download | GET | Download a ready export |
/api/v1/api-keys | GET / POST / DELETE | Manage API keys (cookie auth) |
| Tier | Daily limit |
|---|---|
| free | 100 |
| individual | 10,000 |
| team | 100,000 |
| enterprise | 1,000,000 |
Bearer-authenticated responses include X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
A 429 response carries Retry-After and an RFC 7807
body of type https://aigovbrief.com/errors/rate_limit.
Send Idempotency-Key: <opaque> on authenticated /api/v1 POST, PUT, or PATCH requests. A
24-hour replay window returns the cached response with header X-AIGI-Idempotency-Replay: true.
Authenticated /api/v1 resource errors return application/problem+json with fields type, title, status, detail, instance, request_id.
Type slugs: validation, auth, forbidden, not_found, rate_limit, idempotency_replay, tenant_scope, server_error.