API Reference¶
The Contio User API is a REST API served under the /v1 path prefix on https://api.contio.ai. This page is a catalog of the available resources; the full, authoritative request/response schemas live in the interactive OpenAPI reference, which is generated directly from the /v1 controllers.
Browse the Interactive API Reference
Authentication¶
All resource endpoints require a first-party bearer token in the Authorization header:
Obtain one via the OAuth 2.1 + PKCE flow, by issuing a Personal Access Token, or — for shared team automation acting as the workspace — a Workspace API key.
Scopes¶
| Scope | Grants |
|---|---|
meetings:read | Read meetings, agenda items, and context |
meetings:write | Create, update, and delete meetings, agenda items, and context |
action-items:read | Read action items |
action-items:write | Create, update, and delete action items |
calendar:read | Read calendar events |
calendar:write | Create meetings from calendar events and link meetings to calendar events |
canvases:read | Read canvases and their content |
canvases:write | Create, update, and delete canvases |
workspace:read | Read workspace settings, members, API keys, and webhooks (workspace API keys only) |
workspace:write | Manage workspace settings, members, API keys, and webhooks (workspace API keys only) |
OAuth tokens, PATs, and short-lived tokens can carry every scope except workspace:read and workspace:write, which are available only on workspace API keys.
Resource catalog¶
First-Party OAuth¶
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/oauth/authorize | Start the OAuth 2.1 + PKCE authorization-code flow |
POST | /v1/oauth/token | Exchange an authorization code, or refresh, for tokens |
POST | /v1/oauth/revoke | Revoke an access or refresh token (RFC 7009) |
GET | /v1/oauth/.well-known/openid-configuration | OIDC discovery document |
GET | /v1/oauth/.well-known/jwks.json | JSON Web Key Set for token verification |
User Tokens¶
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/user/tokens | List your personal access tokens |
POST | /v1/user/tokens | Issue a new personal access token |
DELETE | /v1/user/tokens/{id} | Delete a personal access token |
GET | /v1/user/events | Stream workspace events over Server-Sent Events (text/event-stream); supply Last-Event-ID to resume |
Meetings¶
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/meetings | List meetings |
POST | /v1/meetings | Create a meeting |
GET | /v1/meetings/{id} | Get a meeting |
DELETE | /v1/meetings/{id} | Delete a meeting |
GET | /v1/meetings/{id}/participants | List participants |
POST | /v1/meetings/{id}/participants | Add a participant |
DELETE | /v1/meetings/{id}/participants/{userId} | Remove a participant |
GET | /v1/meetings/{id}/context | List meeting context |
POST | /v1/meetings/{id}/context | Attach meeting context |
GET | /v1/meetings/{id}/context/{context_id} | Get a context item |
DELETE | /v1/meetings/{id}/context/{context_id} | Delete a context item |
GET | /v1/meetings/{id}/context/{context_id}/content | Get context content |
GET | /v1/meetings/{id}/attachments | List meeting attachments |
POST | /v1/meetings/{id}/attachments | Upload a meeting attachment |
GET | /v1/meetings/{id}/attachments/{attachment_id} | Get an attachment |
GET | /v1/meetings/{id}/attachments/{attachment_id}/download | Download attachment content |
DELETE | /v1/meetings/{id}/attachments/{attachment_id} | Delete an attachment |
Meeting context is normalized, PII-scrubbed and injected into AI prompts. Meeting attachments are raw files stored exactly as uploaded — never normalized, never PII-scrubbed and never injected into AI prompts.
Agenda Items¶
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/agenda-items | List agenda items |
POST | /v1/agenda-items | Create an agenda item |
PATCH | /v1/agenda-items/{id} | Update an agenda item |
DELETE | /v1/agenda-items/{id} | Delete an agenda item |
Action Items¶
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/action-items | List action items |
POST | /v1/action-items | Create an action item |
PATCH | /v1/action-items/{id} | Update an action item |
DELETE | /v1/action-items/{id} | Delete an action item |
Calendar¶
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/calendar/events | List synced calendar events |
GET | /v1/calendar/events/{id} | Get calendar event details |
Workspace¶
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/workspace | Get workspace settings |
PATCH | /v1/workspace | Update workspace settings |
GET | /v1/workspace/members | List workspace members |
PATCH | /v1/workspace/members/{userID} | Update a member's role |
DELETE | /v1/workspace/members/{userID} | Remove a member |
GET | /v1/workspace/api-keys | List workspace API keys |
DELETE | /v1/workspace/api-keys/{id} | Delete a workspace API key |
GET | /v1/workspace/webhooks | List workspace webhooks |
POST | /v1/workspace/webhooks | Create a workspace webhook |
DELETE | /v1/workspace/webhooks/{id} | Delete a workspace webhook |
POST | /v1/workspace/webhooks/{id}/re-enable | Re-enable a disabled webhook |
POST | /v1/workspace/webhooks/{id}/rotate-secret | Rotate a webhook signing secret |
The OpenAPI spec is the source of truth
This catalog is a convenience overview. For exact parameters, request bodies, response schemas, and status codes, always consult the interactive OpenAPI reference, which is regenerated from the /v1 controllers on every release.