Getting Started¶
This guide gets you from zero to your first authenticated request against the Contio MeetingOS User API.
1. Pick a credential¶
The User API accepts a first-party bearer token in the Authorization header. There are four ways to get one:
| Credential | Prefix | Best for | Plan | Guide |
|---|---|---|---|---|
| Short-lived access token (SLT) | cto_slt_v1_ | Ad hoc queries, experimentation, and quick scripts issued from the Contio UI | All plans | Authentication |
| OAuth 2.1 access token | cto_at_v1_ | Interactive apps, desktop apps, and CLIs acting on behalf of the signed-in user | All plans | Authentication |
| Personal Access Token (PAT) | cto_pat_v1_ | Scripts, cron jobs, server-side automation that act as you | PRO and higher | Personal Access Tokens |
| Workspace API key | cto_wk_v1_ | Shared team automation that acts as the workspace (fixed WORKSPACE_ADMIN role, no user identity) | All plans | Workspace API Keys |
All four are sent the same way:
Not sure which to use?
Choose by plan and use case:
- FREE workspaces: Use a short-lived token (
cto_slt_v1_) from Settings > API Tokens for ad hoc queries and experimentation. For interactive apps or longer-lived access, use OAuth 2.1 + PKCE. PATs are not available on FREE. - PRO workspaces and higher: Use a PAT for unattended automation and scripts. Use a short-lived token for quick, one-off API calls without creating a long-lived credential. Use OAuth 2.1 + PKCE when a human is present to approve access.
- Workspace-scoped automation: Use a Workspace API key.
2. Make your first request¶
Once you have a token, call any /v1 endpoint. For example, list your meetings:
Create a meeting:
curl -X POST https://api.contio.ai/v1/meetings \
-H "Authorization: Bearer $CONTIO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Weekly Sync"}'
3. Understand scopes¶
Every request is authorized against the scopes attached to your credential. The User API defines the following 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 |
workspace:read | Read workspace settings and members |
workspace:write | Manage workspace settings, members, API keys, and webhooks (also required to list API keys and webhooks) |
A request whose credential is missing a required scope returns 403. When issuing a PAT or requesting OAuth scopes, you can only request scopes that are a subset of your own grants.
Next steps¶
- Authentication (OAuth 2.1 + PKCE) — the loopback authorization-code flow
- Personal Access Tokens — issue and manage PATs
- API Reference — the full endpoint catalog and interactive spec