Developers
The ways to build on Coline, and where to get credentials.
There are four ways to work with Coline from code. They share one permission model: a request can only reach what its credential's scopes allow, and, when it acts for a person, only what that person can already open.
| Surface | Use it to | Auth |
|---|---|---|
| REST API | Read and write calendars, sheets, tasks, files and apps from a server or script | API key or OAuth token |
| MCP server | Give an agent or coding tool that speaks MCP access to a workspace | OAuth, set up by the MCP client |
| Tab | Add Coline's inline completions to an editor | API key with ai.invoke |
| App SDK | Build an app that adds tools, file types and screens to a workspace | API key with apps.write to push |
The developer console
The console at coline.app/developers/console is where you manage credentials and usage for a workspace:
- API keys: create and revoke workspace keys and choose their scopes.
- OAuth clients: register apps that sign people in with Coline, with their redirect URLs.
- Installed apps: configure apps installed in the workspace.
- Request logs: recent requests with status codes and timings.
- Credits: the workspace's prepaid API credit balance, used by Tab and other metered calls.
- Tab playground: try Tab completions before wiring them into an editor.
Only workspace owners and admins can create API keys and OAuth clients.
Your first request
- Open the console, pick a workspace, and create an API key with the
files.readscope. - List the sheets in that workspace. Use the workspace's slug (the part after
coline.app/in its URL) or its ID:
curl "https://coline.app/api/v1/workspaces/acme/sheets?limit=5" \
-H "Authorization: Bearer col_ws_..."- Read the result from the
datafield. Errors come back as{ "error": { "code", "message" } }with a matching HTTP status. See errors.
An API key belongs to one workspace and acts as the workspace, not as a person. Routes that act for a person, such as calendar, messages and GET /api/v1/me/workspaces, need an OAuth token instead.
The full list of routes is in the endpoint reference. The machine-readable description is at https://coline.app/api/v1/openapi/app-platform, and https://coline.app/.well-known/api-catalog links it with the OAuth metadata and status endpoint.
Discovery for agents
| URL | What it is |
|---|---|
https://coline.app/llms.txt | Agent index for Coline |
https://docs.coline.app/llms.txt | Index of these docs, linking each page's Markdown |
https://coline.app/.well-known/mcp/server-card.json | MCP server card |
https://coline.app/.well-known/agent-skills/index.json | Agent skills for the API and the MCP server |
https://coline.app/.well-known/api-catalog | API catalog (RFC 9727) |
https://coline.app/.well-known/oauth-authorization-server | OAuth authorization server metadata |
https://coline.app/.well-known/oauth-protected-resource | Protected resource metadata (RFC 9728) |
For Upstream, the public API, CLI and agent docs live on upstream.codes. See Upstream.