API Reference
The Govera Public API is read-only and returns application/json. It contains no agency, tenant, or user data — only non-sensitive information about the Govera product itself. This document mirrors the machine-readable OpenAPI 3.1 specification.
https://www.govera.co/api/v1Authentication
No authentication is required for the public read-only API. Every operation documented on this page answers a plain GET request — no API key, no OAuth token, no account.
The two credential types below belong to a separate, authenticated agency workspace — the part of Govera that handles tenant-scoped drafting, institutional-memory search, and commitment tracking. They do not gate anything on this page; they're documented here only because that workspace's scopes mirror the public operations they correspond to:
- API keySend a static key as the
X-Govera-Keyrequest header when calling the authenticated workspace. - OAuth 2.0 client credentialsExchange a client_id/client_secret pair for a bearer token, scoped to the operations you need, then send
Authorization: Bearer <token>. Corresponding scopes:read:statusread:productread:capabilitiesread:guides
Tenant features such as agenda drafting, institutional-memory search, and commitment tracking run inside that authenticated agency workspace and are out of scope for this reference.
Endpoints
GET/api/v1/statusno auth required · scope: read:status
Service status, version, and current timestamp — a lightweight reachability check.
{
"service": "Govera Public API",
"status": "operational",
"version": "1.0.0",
"documentation": "https://www.govera.co/developers",
"timestamp": "2026-08-25T00:00:00Z"
}GET/api/v1/productno auth required · scope: read:product
Public product metadata: name, description, categories of agency served, and URL.
{
"name": "Govera",
"description": "Govera is the governance platform for public agencies. It reads an agency's own meeting record and drafts new agendas, staff reports, and follow-ups grounded in that history, with every factual claim cited to a source document.",
"categories": ["Cities", "Counties", "School districts", "Special districts"],
"url": "https://www.govera.co"
}GET/api/v1/capabilitiesno auth required · scope: read:capabilities
The list of Govera product capabilities, each with a stable id and description.
{
"capabilities": [
{
"id": "agenda_drafting",
"name": "Cited agenda and staff-report drafting",
"description": "Drafts agendas and staff reports grounded in an agency's own meeting record, with every factual claim cited to a source document."
},
{
"id": "commitment_tracking",
"name": "Commitment tracking",
"description": "Detects promised follow-ups and directed actions in meeting minutes and surfaces them before the next meeting."
}
]
}GET/api/v1/guidesno auth required · scope: read:guides
The public Govera platform guides, each with a title and URL.
{
"guides": [
{
"title": "Platform Guide",
"url": "https://www.govera.co/guide"
},
{
"title": "Platform Guide, Staff",
"url": "https://www.govera.co/guide/staff"
}
]
}Errors
Non-2xx responses return application/problem+json following RFC 9457 (Problem Details for HTTP APIs): a stable type URI, a human-readable title, the numeric status, and optional detail / instance fields. Every endpoint documents 400, 401, 404, and 429 in this shape.
{
"type": "https://www.govera.co/problems/not-found",
"title": "Not Found",
"status": 404,
"detail": "The requested resource does not exist.",
"instance": "/api/v1/status"
}Rate limits
Every response — including from unauthenticated clients — carries standard rate-limit headers so a client or agent can self-throttle: RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset (seconds until the window resets). A 429 Too Many Requests response includes a Retry-After header naming how long to wait before retrying.
Versioning
The API is versioned in the URL path — this document describes v1 at https://www.govera.co/api/v1. No version is retired without at least 90 days' notice: an operation slated for removal is first marked deprecated in the OpenAPI document and starts returning a Deprecation response header, then a Sunset header (RFC 8594) naming the retirement date, and the version is removed no earlier than that date.