Access the Coda API with managed OAuth authentication. Manage docs, pages, tables, rows, formulas, and controls with full CRUD operations.
Reference
Get Current User
GET /coda/apis/v1/whoamiReturns information about the authenticated user.
List Docs
GET /coda/apis/v1/docsQuery parameters:
isOwner- Show only owned docs (true/false)query- Search querysourceDoc- Filter by source doc IDisStarred- Show only starred docsinGallery- Show only gallery docsworkspaceId- Filter by workspacefolderId- Filter by folderlimit- Page size (default: 25, max: 200)pageToken- Pagination token
Create Doc
POST /coda/apis/v1/docs
Content-Type: application/json
{
"title": "My New Doc",
"sourceDoc": "optional-source-doc-id",
"timezone": "America/Los_Angeles",
"folderId": "optional-folder-id"
}Get Doc
GET /coda/apis/v1/docs/{docId}Delete Doc
DELETE /coda/apis/v1/docs/{docId}List Pages
GET /coda/apis/v1/docs/{docId}/pagesQuery parameters:
limit- Page sizepageToken- Pagination token
Create Page
POST /coda/apis/v1/docs/{docId}/pages
Content-Type: application/json
{
"name": "New Page",
"subtitle": "Optional subtitle",
"parentPageId": "optional-parent-page-id"
}Get Page
GET /coda/apis/v1/docs/{docId}/pages/{pageIdOrName}Update Page
PUT /coda/apis/v1/docs/{docId}/pages/{pageIdOrName}
Content-Type: application/json
{
"name": "Updated Page Name",
"subtitle": "Updated subtitle"
}Delete Page
DELETE /coda/apis/v1/docs/{docId}/pages/{pageIdOrName}List Tables
GET /coda/apis/v1/docs/{docId}/tablesQuery parameters:
limit- Page sizepageToken- Pagination tokensortBy- Sort by fieldtableTypes- Filter by table type
Get Table
GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}List Columns
GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/columnsQuery parameters:
limit- Page sizepageToken- Pagination token
Get Column
GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/columns/{columnIdOrName}List Rows
GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/rowsQuery parameters:
query- Filter rows by search queryuseColumnNames- Use column names instead of IDs in response (true/false)valueFormat- Value format (simple, simpleWithArrays, rich)sortBy- Sort by columnlimit- Page sizepageToken- Pagination token
Get Row
GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}Query parameters:
useColumnNames- Use column names instead of IDsvalueFormat- Value format
Insert/Upsert Rows
POST /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/rows
Content-Type: application/json
{
"rows": [
{
"cells": [
{"column": "Column Name", "value": "Cell Value"},
{"column": "Another Column", "value": 123}
]
}
],
"keyColumns": ["Column Name"]
}- Use
keyColumnsfor upsert behavior (update if exists, insert if not) - Row inserts/upserts are processed asynchronously (returns requestId)
Update Row
PUT /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}
Content-Type: application/json
{
"row": {
"cells": [
{"column": "Column Name", "value": "Updated Value"}
]
}
}Delete Row
DELETE /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}List Formulas
GET /coda/apis/v1/docs/{docId}/formulasGet Formula
GET /coda/apis/v1/docs/{docId}/formulas/{formulaIdOrName}List Controls
GET /coda/apis/v1/docs/{docId}/controlsGet Control
GET /coda/apis/v1/docs/{docId}/controls/{controlIdOrName}Get Sharing Metadata
GET /coda/apis/v1/docs/{docId}/acl/metadataList Permissions
GET /coda/apis/v1/docs/{docId}/acl/permissionsAdd Permission
POST /coda/apis/v1/docs/{docId}/acl/permissions
Content-Type: application/json
{
"access": "readonly",
"principal": {
"type": "email",
"email": "user@example.com"
}
}Access values: readonly, write, comment
Delete Permission
DELETE /coda/apis/v1/docs/{docId}/acl/permissions/{permissionId}List Categories
GET /coda/apis/v1/categoriesResolve Browser Link
GET /coda/apis/v1/resolveBrowserLink?url={encodedUrl}Converts a Coda browser URL to API resource information.
Get Mutation Status
GET /coda/apis/v1/mutationStatus/{requestId}Check the status of an asynchronous mutation operation.
List Doc Analytics
GET /coda/apis/v1/analytics/docsQuery parameters:
isPublished- Filter by published statussinceDate- Start date (YYYY-MM-DD)untilDate- End date (YYYY-MM-DD)limit- Page sizepageToken- Pagination token
List Pack Analytics
GET /coda/apis/v1/analytics/packsGet Analytics Update Time
GET /coda/apis/v1/analytics/updated