Maton

Coda

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/whoami

Returns information about the authenticated user.

List Docs

GET /coda/apis/v1/docs

Query parameters:

  • isOwner - Show only owned docs (true/false)
  • query - Search query
  • sourceDoc - Filter by source doc ID
  • isStarred - Show only starred docs
  • inGallery - Show only gallery docs
  • workspaceId - Filter by workspace
  • folderId - Filter by folder
  • limit - 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}/pages

Query parameters:

  • limit - Page size
  • pageToken - 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}/tables

Query parameters:

  • limit - Page size
  • pageToken - Pagination token
  • sortBy - Sort by field
  • tableTypes - Filter by table type

Get Table

GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}

List Columns

GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/columns

Query parameters:

  • limit - Page size
  • pageToken - Pagination token

Get Column

GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/columns/{columnIdOrName}

List Rows

GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/rows

Query parameters:

  • query - Filter rows by search query
  • useColumnNames - Use column names instead of IDs in response (true/false)
  • valueFormat - Value format (simple, simpleWithArrays, rich)
  • sortBy - Sort by column
  • limit - Page size
  • pageToken - Pagination token

Get Row

GET /coda/apis/v1/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}

Query parameters:

  • useColumnNames - Use column names instead of IDs
  • valueFormat - 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 keyColumns for 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}/formulas

Get Formula

GET /coda/apis/v1/docs/{docId}/formulas/{formulaIdOrName}

List Controls

GET /coda/apis/v1/docs/{docId}/controls

Get Control

GET /coda/apis/v1/docs/{docId}/controls/{controlIdOrName}

Get Sharing Metadata

GET /coda/apis/v1/docs/{docId}/acl/metadata

List Permissions

GET /coda/apis/v1/docs/{docId}/acl/permissions

Add 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/categories
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/docs

Query parameters:

  • isPublished - Filter by published status
  • sinceDate - Start date (YYYY-MM-DD)
  • untilDate - End date (YYYY-MM-DD)
  • limit - Page size
  • pageToken - Pagination token

List Pack Analytics

GET /coda/apis/v1/analytics/packs

Get Analytics Update Time

GET /coda/apis/v1/analytics/updated

Resources

On this page