Coda website screenshot

Coda

Coda is an all-in-one doc platform combining documents, spreadsheets, and apps. The Coda API exposes docs, pages, tables, rows, columns, controls, formulas, automations, packs, permissions, and analytics for programmatic integration.

14 APIs 0 Features
ProductivityDocsNo-CodeCollaborationDatabase

APIs

Coda Docs API

List, create, copy, share, and manage Coda documents. Provides the top-level container for pages, tables, and other elements within a workspace.

Coda Folders API

Organize and retrieve folders that contain Coda docs within a workspace.

Coda Pages API

Manage document structure and page content. Create, update, and retrieve hierarchical pages within a Coda doc.

Coda Tables API

Access table resources within docs. List, retrieve, and inspect tables and their schema.

Coda Columns API

Retrieve column definitions, types, and metadata for tables in a Coda doc.

Coda Rows API

Read, insert, upsert, update, and delete table rows. Primary CRUD surface for table data; supports filtering, sorting, and column-key references.

Coda Formulas API

Access named formula definitions and evaluate them within a doc.

Coda Controls API

Read and update interactive controls embedded in a Coda doc (sliders, dropdowns, checkboxes, buttons).

Coda Automations API

Trigger automation rules and inspect automation execution within a Coda doc.

Coda Permissions API

Manage doc-level sharing, ACLs, and access controls. Add, modify, or revoke user/group permissions.

Coda Publishing API

Publish and unpublish Coda docs to the public web, including category and discoverability metadata.

Coda Account API

Retrieve information about the authenticated user (whoami).

Coda Analytics API

Access usage analytics for docs, pages, and Packs across a workspace.

Coda Packs SDK

Build and publish Coda Packs — TypeScript-based extensions that add custom formulas, sync tables, action buttons, and OAuth-authenticated integrations to Coda docs.

Collections

Coda API

OPEN

Pricing Plans

Coda Plans Pricing

4 plans

PLANS

Rate Limits

Coda Rate Limits

3 limits

RATE LIMITS

FinOps

Coda Finops

FINOPS

Event Specifications

Coda Automations Push API

AsyncAPI description of Coda's documented automation/webhook surface. Coda does NOT publish an outbound webhook subscription API in the public REST reference. The documented eve...

ASYNCAPI

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
💰
Pricing
Pricing
👥
GitHub
GitHub
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Coda API
  version: 1.5.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Publishing
    type: folder
  items:
  - info:
      name: Get doc categories
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/categories
    docs: Gets all available doc categories.
  - info:
      name: Publish doc
      type: http
    http:
      method: PUT
      url: https://coda.io/apis/v1/docs/:docId/publish
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      body:
        type: json
        data: '{}'
    docs: Update publish settings for a doc.
  - info:
      name: Unpublish doc
      type: http
    http:
      method: DELETE
      url: https://coda.io/apis/v1/docs/:docId/publish
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
    docs: Unpublishes a doc.
- info:
    name: Docs
    type: folder
  items:
  - info:
      name: List available docs
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs
      params:
      - name: isOwner
        value: ''
        type: query
        description: Show only docs owned by the user.
      - name: isPublished
        value: ''
        type: query
        description: Show only published docs.
      - name: query
        value: Supercalifragilisticexpialidocious
        type: query
        description: Search term used to filter down results.
      - name: sourceDoc
        value: ''
        type: query
        description: Show only docs copied from the specified doc ID.
      - name: isStarred
        value: ''
        type: query
        description: If true, returns docs that are starred. If false, returns docs that are not starred.
      - name: inGallery
        value: ''
        type: query
        description: Show only docs visible within the gallery.
      - name: workspaceId
        value: ''
        type: query
        description: Show only docs belonging to the given workspace.
      - name: folderId
        value: ''
        type: query
        description: Show only docs belonging to the given folder.
      - name: limit
        value: '10'
        type: query
        description: Maximum number of results to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
    docs: 'Returns a list of Coda docs accessible by the user, and which they have opened at least once. These are returned
      in the same order as on the docs page: reverse chronological by the latest event relevant to the user (last viewed,
      edited, or shared).

      '
  - info:
      name: Create doc
      type: http
    http:
      method: POST
      url: https://coda.io/apis/v1/docs
      body:
        type: json
        data: '{}'
    docs: 'Creates a new Coda doc, optionally copying an existing doc. Note that creating a doc requires you to be a Doc Maker
      in the applicable workspace (or be auto-promoted to one).

      '
  - info:
      name: Get info about a doc
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
    docs: Returns metadata for the specified doc.
  - info:
      name: Update doc
      type: http
    http:
      method: PATCH
      url: https://coda.io/apis/v1/docs/:docId
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      body:
        type: json
        data: '{}'
    docs: Updates metadata for a doc. Note that updating a doc title requires you to be a Doc Maker in the applicable workspace.
  - info:
      name: Delete doc
      type: http
    http:
      method: DELETE
      url: https://coda.io/apis/v1/docs/:docId
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
    docs: Deletes a doc.
- info:
    name: Permissions
    type: folder
  items:
  - info:
      name: Get sharing metadata
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/acl/metadata
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
    docs: Returns metadata associated with sharing for this Coda doc.
  - info:
      name: List permissions
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/acl/permissions
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: limit
        value: '10'
        type: query
        description: Maximum number of results to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
    docs: Returns a list of permissions for this Coda doc.
  - info:
      name: Add permission
      type: http
    http:
      method: POST
      url: https://coda.io/apis/v1/docs/:docId/acl/permissions
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      body:
        type: json
        data: '{}'
    docs: 'Adds a new permission to the doc.

      '
  - info:
      name: Delete permission
      type: http
    http:
      method: DELETE
      url: https://coda.io/apis/v1/docs/:docId/acl/permissions/:permissionId
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: permissionId
        value: AbCDeFGH
        type: path
        description: ID of a permission on a doc.
    docs: 'Deletes an existing permission.

      '
  - info:
      name: Search principals
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/acl/principals/search
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: query
        value: Supercalifragilisticexpialidocious
        type: query
        description: Search term used to filter down results.
    docs: 'Searches for user and group principals matching the query that this doc can be shared with.

      At most 20 results will be returned for both users and groups. If no query is given then no results are returned.

      '
  - info:
      name: Get ACL settings
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/acl/settings
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
    docs: Returns settings associated with ACLs for this Coda doc.
  - info:
      name: Update ACL settings
      type: http
    http:
      method: PATCH
      url: https://coda.io/apis/v1/docs/:docId/acl/settings
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      body:
        type: json
        data: '{}'
    docs: Update settings associated with ACLs for this Coda doc.
- info:
    name: Pages
    type: folder
  items:
  - info:
      name: List pages
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/pages
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: limit
        value: '10'
        type: query
        description: Maximum number of results to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
    docs: Returns a list of pages in a Coda doc.
  - info:
      name: Create a page
      type: http
    http:
      method: POST
      url: https://coda.io/apis/v1/docs/:docId/pages
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      body:
        type: json
        data: '{}'
    docs: 'Create a new page in a doc. Note that creating a page requires you to be a Doc Maker in the applicable workspace.

      '
  - info:
      name: Get a page
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/pages/:pageIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: pageIdOrName
        value: canvas-IjkLmnO
        type: path
        description: 'ID or name of the page. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If you provide a name and there are multiple pages with the same
          name, an arbitrary one will be selected.

          '
    docs: Returns details about a page.
  - info:
      name: Update a page
      type: http
    http:
      method: PUT
      url: https://coda.io/apis/v1/docs/:docId/pages/:pageIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: pageIdOrName
        value: canvas-IjkLmnO
        type: path
        description: 'ID or name of the page. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If you provide a name and there are multiple pages with the same
          name, an arbitrary one will be selected.

          '
      body:
        type: json
        data: '{}'
    docs: 'Update properties for a page. Note that updating a page title or icon requires you to be a Doc Maker in the applicable
      workspace.

      '
  - info:
      name: Delete a page
      type: http
    http:
      method: DELETE
      url: https://coda.io/apis/v1/docs/:docId/pages/:pageIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: pageIdOrName
        value: canvas-IjkLmnO
        type: path
        description: 'ID or name of the page. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If you provide a name and there are multiple pages with the same
          name, an arbitrary one will be selected.

          '
    docs: Deletes the specified page.
  - info:
      name: List page content
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/pages/:pageIdOrName/content
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: pageIdOrName
        value: canvas-IjkLmnO
        type: path
        description: 'ID or name of the page. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If you provide a name and there are multiple pages with the same
          name, an arbitrary one will be selected.

          '
      - name: limit
        value: '50'
        type: query
        description: Maximum number of content items to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
      - name: contentFormat
        value: plainText
        type: query
        description: The format to return content in. Defaults to plainText.
    docs: Returns a list of content elements in a page.
  - info:
      name: Delete page content
      type: http
    http:
      method: DELETE
      url: https://coda.io/apis/v1/docs/:docId/pages/:pageIdOrName/content
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: pageIdOrName
        value: canvas-IjkLmnO
        type: path
        description: 'ID or name of the page. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If you provide a name and there are multiple pages with the same
          name, an arbitrary one will be selected.

          '
      body:
        type: json
        data: '{}'
    docs: 'Delete content from a page. You can delete specific elements by providing their IDs, or delete all content from
      the page.

      '
  - info:
      name: Begin content export
      type: http
    http:
      method: POST
      url: https://coda.io/apis/v1/docs/:docId/pages/:pageIdOrName/export
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: pageIdOrName
        value: canvas-IjkLmnO
        type: path
        description: 'ID or name of the page. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If you provide a name and there are multiple pages with the same
          name, an arbitrary one will be selected.

          '
      body:
        type: json
        data: '{}'
    docs: Initiate an export of content for the given page.
  - info:
      name: Content export status
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/pages/:pageIdOrName/export/:requestId
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: pageIdOrName
        value: canvas-IjkLmnO
        type: path
        description: 'ID or name of the page. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If you provide a name and there are multiple pages with the same
          name, an arbitrary one will be selected.

          '
      - name: requestId
        value: abc-123-def-456
        type: path
        description: ID of the request.
    docs: Check the status of a page content export
- info:
    name: Tables
    type: folder
  items:
  - info:
      name: List tables
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/tables
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: limit
        value: '10'
        type: query
        description: Maximum number of results to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
      - name: sortBy
        value: name
        type: query
        description: Determines how to sort the given objects.
      - name: tableTypes
        value: table,view
        type: query
        description: Comma-separated list of table types to include in results. If omitted, includes both tables and views.
    docs: Returns a list of tables in a Coda doc.
  - info:
      name: Get a table
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: useUpdatedTableLayouts
        value: ''
        type: query
        description: Return "detail" and "form" for the `layout` field of detail and form layouts respectively (instead of
          "masterDetail" for both)
    docs: Returns details about a specific table or view.
- info:
    name: Columns
    type: folder
  items:
  - info:
      name: List columns
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/columns
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: limit
        value: '10'
        type: query
        description: Maximum number of results to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
      - name: visibleOnly
        value: 'true'
        type: query
        description: If true, returns only visible columns for the table. This parameter only applies to base tables, and
          not views.
    docs: Returns a list of columns in a table.
  - info:
      name: Get a column
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/columns/:columnIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: columnIdOrName
        value: c-tuVwxYz
        type: path
        description: ID or name of the column. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
    docs: Returns details about a column in a table.
- info:
    name: Rows
    type: folder
  items:
  - info:
      name: List table rows
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/rows
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: query
        value: c-tuVwxYz:"Apple"
        type: query
        description: 'Query used to filter returned rows, specified as `<column_id_or_name>:<value>`. If you''d like to use
          a column name instead of an ID, you must quote it (e.g., `"My Column":123`). Also note that `value` is a JSON value;
          if you''d like to use a string, you must surround it in quotes (e.g., `"groceries"`).

          '
      - name: sortBy
        value: ''
        type: query
        description: 'Specifies the sort order of the rows returned. If left unspecified, rows are returned by creation time
          ascending. "UpdatedAt" sort ordering is the order of rows based upon when they were last updated. This does not
          include updates to calculated values. "Natural" sort ordering is the order that the rows appear in the table view
          in the application. This ordering is only meaningfully defined for rows that are visible (unfiltered). Because of
          this, using this sort order will imply visibleOnly=true, that is, to only return visible rows. If you pass sortBy=natural
          and visibleOnly=false explicitly, this will result in a Bad Request error as this condition cannot be satisfied.

          '
      - name: useColumnNames
        value: 'true'
        type: query
        description: 'Use column names instead of column IDs in the returned output. This is generally discouraged as it is
          fragile. If columns are renamed, code using original names may throw errors.

          '
      - name: valueFormat
        value: ''
        type: query
        description: The format that cell values are returned as.
      - name: visibleOnly
        value: 'true'
        type: query
        description: If true, returns only visible rows and columns for the table.
      - name: limit
        value: '10'
        type: query
        description: Maximum number of results to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
      - name: syncToken
        value: eyJsaW1pd
        type: query
        description: 'An opaque token returned from a previous call that can be used to return results that are relevant to
          the query since the call where the syncToken was generated.

          '
    docs: 'Returns a list of rows in a table.

      ### Value results

      The `valueFormat` parameter dictates in what format the API should return values for individual cells.

      * `simple` (default): Returns cell values as the following JSON values: `string`, `number`, or `boolean`. Array values
      (like multiselects) are returned as comma-delimited strings.

      * `simpleWithArrays`: Singleton values are returned as `simple`. Array values are returned as JSON arrays and the values
      within are `simple` values (including neste'
  - info:
      name: Insert/upsert rows
      type: http
    http:
      method: POST
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/rows
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: disableParsing
        value: 'true'
        type: query
        description: If true, the API will not attempt to parse the data in any way.
      body:
        type: json
        data: '{}'
    docs: 'Inserts rows into a table, optionally updating existing rows if any upsert key columns are provided. This endpoint
      will always return a 202, so long as the doc and table exist and are accessible (and the update is structurally valid).
      Row inserts/upserts are generally processed within several seconds. Note: this endpoint only works for base tables,
      not views.

      When upserting, if multiple rows match the specified key column(s), they will all be updated with the specified value.

      '
  - info:
      name: Delete multiple rows
      type: http
    http:
      method: DELETE
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/rows
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      body:
        type: json
        data: '{}'
    docs: 'Deletes the specified rows from the table or view. This endpoint will always return a 202. Row deletions are generally
      processed within several seconds.

      '
  - info:
      name: Get a row
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/rows/:rowIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: rowIdOrName
        value: i-tuVwxYz
        type: path
        description: 'ID or name of the row. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If there are multiple rows with the same value in the identifying
          column, an arbitrary one will be selected.

          '
      - name: useColumnNames
        value: 'true'
        type: query
        description: 'Use column names instead of column IDs in the returned output. This is generally discouraged as it is
          fragile. If columns are renamed, code using original names may throw errors.

          '
      - name: valueFormat
        value: ''
        type: query
        description: The format that cell values are returned as.
    docs: Returns details about a row in a table.
  - info:
      name: Update row
      type: http
    http:
      method: PUT
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/rows/:rowIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: rowIdOrName
        value: i-tuVwxYz
        type: path
        description: 'ID or name of the row. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If there are multiple rows with the same value in the identifying
          column, an arbitrary one will be selected.

          '
      - name: disableParsing
        value: 'true'
        type: query
        description: If true, the API will not attempt to parse the data in any way.
      body:
        type: json
        data: '{}'
    docs: 'Updates the specified row in the table. This endpoint will always return a 202, so long as the row exists and is
      accessible (and the update is structurally valid). Row updates are generally processed within several seconds. When
      updating using a name as opposed to an ID, an arbitrary row will be affected.

      '
  - info:
      name: Delete row
      type: http
    http:
      method: DELETE
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/rows/:rowIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: rowIdOrName
        value: i-tuVwxYz
        type: path
        description: 'ID or name of the row. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If there are multiple rows with the same value in the identifying
          column, an arbitrary one will be selected.

          '
    docs: 'Deletes the specified row from the table or view. This endpoint will always return a 202, so long as the row exists
      and is accessible (and the update is structurally valid). Row deletions are generally processed within several seconds.
      When deleting using a name as opposed to an ID, an arbitrary row will be removed.

      '
  - info:
      name: Push a button
      type: http
    http:
      method: POST
      url: https://coda.io/apis/v1/docs/:docId/tables/:tableIdOrName/rows/:rowIdOrName/buttons/:columnIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: tableIdOrName
        value: grid-pqRst-U
        type: path
        description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
      - name: rowIdOrName
        value: i-tuVwxYz
        type: path
        description: 'ID or name of the row. Names are discouraged because they''re easily prone to being changed by users.
          If you''re using a name, be sure to URI-encode it. If there are multiple rows with the same value in the identifying
          column, an arbitrary one will be selected.

          '
      - name: columnIdOrName
        value: c-tuVwxYz
        type: path
        description: ID or name of the column. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
    docs: 'Pushes a button on a row in a table.

      Authorization note: This action is available to API tokens that are authorized to write to the table. However, the underlying
      button can perform any action on the document, including writing to other tables and performing Pack actions.

      '
- info:
    name: Formulas
    type: folder
  items:
  - info:
      name: List formulas
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/formulas
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: limit
        value: '10'
        type: query
        description: Maximum number of results to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
      - name: sortBy
        value: name
        type: query
        description: Determines how to sort the given objects.
    docs: Returns a list of named formulas in a Coda doc.
  - info:
      name: Get a formula
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/formulas/:formulaIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: formulaIdOrName
        value: f-fgHijkLm
        type: path
        description: ID or name of the formula. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
    docs: Returns info on a formula.
- info:
    name: Controls
    type: folder
  items:
  - info:
      name: List controls
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/controls
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: limit
        value: '10'
        type: query
        description: Maximum number of results to return in this query.
      - name: pageToken
        value: eyJsaW1pd
        type: query
        description: An opaque token used to fetch the next page of results.
      - name: sortBy
        value: name
        type: query
        description: Determines how to sort the given objects.
    docs: Returns a list of controls in a Coda doc.
  - info:
      name: Get a control
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/:docId/controls/:controlIdOrName
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      - name: controlIdOrName
        value: ctrl-cDefGhij
        type: path
        description: ID or name of the control. Names are discouraged because they're easily prone to being changed by users.
          If you're using a name, be sure to URI-encode it.
    docs: Returns info on a control.
- info:
    name: CustomDocDomains
    type: folder
  items:
  - info:
      name: List custom doc domains
      type: http
    http:
      method: GET
      url: https://coda.io/apis/v1/docs/$:docId/domains
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
    docs: List all custom domains for a published doc.
  - info:
      name: Add custom domain
      type: http
    http:
      method: POST
      url: https://coda.io/apis/v1/docs/$:docId/domains
      params:
      - name: docId
        value: AbCDeFGH
        type: path
        description: ID of the doc.
      body:
        type: json
        data: '{}'
    docs: Add a custom domain to a published doc.
  - info:
      name: Updates a custom domain
      type: http
    http:
      method: PATCH
      url: https://coda.io/apis/v1/docs/:docId/domains/:customDocDomain
      params:
      - name: docId
        v

# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coda/refs/heads/main/apis.yml