API Reference
The Govera Public API is read only and returns application/json. It contains no agency, tenant, or user data: only information about the Govera product itself that is not sensitive. 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/status
no 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/product
no 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 up items 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/capabilities
no 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 up items and directed actions in meeting minutes and surfaces them before the next meeting."
}
]
}GET/api/v1/guides
no 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
Responses outside the 2xx range 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 throttle its own request rate: 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.