Skip to content

Instantly share code, notes, and snippets.

@villeodell
Created November 11, 2023 14:23
Show Gist options
  • Save villeodell/0174bf85fba741bca40dcfff83465981 to your computer and use it in GitHub Desktop.
Save villeodell/0174bf85fba741bca40dcfff83465981 to your computer and use it in GitHub Desktop.
Coda API (coda.io) Swagger 2 definition for services that don't yet support OpenAPI 3.0 and later
---
swagger: "2.0"
info:
version: 1.4.3
title: Coda API
description: |
# Introduction
The Coda API is a RESTful API that lets you programmatically interact with Coda docs:
* List and search Coda docs
* Create new docs and copy existing ones
* Share and publish docs
* Discover pages, tables, formulas, and controls
* Read, insert, upsert, update, and delete rows
As we update and release newer versions of the API, we reserve the right to remove
older APIs and functionality with a 3-month deprecation notice. We will post about such changes as well as announce
new features in the [Developers Central](https://community.coda.io/c/developers-central) section of our Community,
and update the [API updates](https://coda.io/api-updates) doc.
# Getting Started
Our [Getting Started Guide](https://coda.io/@oleg/getting-started-guide-coda-api) helps you learn the
basic of working with the API and shows a few ways you can use it. Check it out, and learn how to:
- Read data from Coda tables and write back to them
- Build a one-way sync from one Coda doc to another
- Automate reminders
- Sync your Google Calendar to Coda
# Using the API
Coda's REST API is designed to be straightforward to use. You can use the language and platform of your choice to
make requests. To get a feel for the API, you can also use a tool like [Postman](https://www.getpostman.com/) or
[Insomnia](https://insomnia.rest/).
## API Endpoint
This API uses a base path of `https://coda.io/apis/v1`.
## Resource IDs and Links
Each resource instance retrieved via the API has the following fields:
- `id`: The resource's immutable ID, which can be used to refer to it within its context
- `type`: The type of resource, useful for identifying it in a heterogenous collection of results
- `href`: A fully qualified URI that can be used to refer to and get the latest details on the resource
Most resources can be queried by their name or ID. We recommend sticking with IDs where possible, as names are
fragile and prone to being changed by your doc's users.
### List Endpoints
Endpoints supporting listing of resources have the following fields:
- `items`: An array containing the listed resources, limited by the `limit` or `pageToken` query parameters
- `nextPageLink`: If more results are available, an API link to the next page of results
- `nextPageToken`: If more results are available, a page token that can be passed into the `pageToken` query parameter
**The maximum page size may change at any time, and may be different for different endpoints.** Please do not rely on it
for any behavior of your application. If you pass a `limit` parameter that is larger than our maximum allowed limit,
we will only return as many results as our maximum limit. You should look for the presence of the `nextPageToken` on the
response to see if there are more results available, rather than relying on a result set that matches your provided limit.
To fetch a subsequent page of results, pass the `pageToken` parameter. Set this parameter to the value given to you as the `nextPageToken`
in a page response. If no value is provided, there are no more results available. You only need to pass the `pageToken` to get
the next page of results, you don't need to pass any of the parameters from your original request, as they are all
implied by the `pageToken`. Any other parameters provided alongside a `pageToken` will be ignored.
### Doc IDs
While most object IDs will have to be discovered via the API, you may find yourself frequently wanting to get the
ID of a specific Coda doc.
Here's a handy tool that will extract it for you. (See if you can find the pattern!)
<form>
<fieldset style="margin: 0px 25px 25px 25px; display: inline;">
<legend>Doc ID Extractor</legend>
<input type="text" id="de_docUrl" placeholder="Paste in a Coda doc URL"
style="width: 250px; padding: 8px; margin-right: 20px;" />
<span>
Your doc ID is:&nbsp;&nbsp;&nbsp;
<input id="de_docId" readonly="true"
style="width: 150px; padding: 8px; font-family: monospace; border: 1px dashed gray;" />
</fieldset>
</form>
<script>
(() => {
const docUrl = document.getElementById('de_docUrl');
const docId = document.getElementById('de_docId');
docUrl.addEventListener('input', () => {
docId.value = (docUrl.value.match(/_d([\w-]+)/) || [])[1] || '';
});
docId.addEventListener('mousedown', () => docId.select());
docId.addEventListener('click', () => docId.select());
})();
</script>
## Rate Limiting
The Coda API sets a reasonable limit on the number of requests that can be made per minute. Once this limit is
reached, calls to the API will start returning errors with an HTTP status code of 429.
## Consistency
While edits made in Coda are shared with other collaborators in real-time, it can take a few seconds for them to
become available via the API. You may also notice that changes made via the API, such as updating a row, are not
immediate. These endpoints all return an HTTP 202 status code, instead of a standard 200, indicating that the
edit has been accepted and queued for processing. This generally takes a few seconds, and the edit may fail if
invalid. Each such edit will return a `requestId` in the response, and you can pass this `requestId` to the
[`#getMutationStatus`](#operation/getMutationStatus) endpoint to find out if it has been applied.
Similarly, when you get doc data from the API (rows, pages, columns, etc), the data you receive comes from
the most recent "snapshot" of the doc, which might be slightly stale relative to the data you observe in
your browser. If you want to ensure that the data you receive is up to date and are ok getting an error if not,
you can pass this header in your request: `X-Coda-Doc-Version: latest`. If the API's view of the doc is
not up to date, the API will return an HTTP 400 response.
## Volatile Formulas
Coda exposes a number of "volatile" formulas, as as `Today()`, `Now()`, and `User()`. When used in a live Coda
doc, these formulas affect what's visible in realtime, tailored to the current user.
Such formulas behave differently with the API. Time-based values may only be current to the last edit made to the
doc. User-based values may be blank or invalid.
## Free and Paid Workspaces
We make the Coda API available to all of our users free of charge, in both free and paid workspaces. However, API
usage is subject to the role of the user associated with the API token in the workspace applicable to each API
request. What this means is:
- For the [`#createDoc`](#operation/createDoc) endpoint specifically, the owner of the API token must be a Doc
Maker (or Admin) in the workspace. If the "Any member can create docs" option in enabled in the workspace
settings, they can be an Editor and will get auto-promoted to Doc Maker upon using this endpoint. Lastly, if in
addition, the API key owner matches the "Approved email domains" setting, they will be auto-added to the
workspace and promoted to Doc Maker upon using this endpoint
This behavior applies to the API as well as any integrations that may use it, such as Zapier.
## Examples
To help you get started, this documentation provides code examples in Python, Unix shell, and Google Apps Script.
These examples are based on a simple doc that looks something like this:
![](https://cdn.coda.io/external/img/api_example_doc.png)
### Python examples
These examples use Python 3.6+. If you don't already have the `requests` module, use `pip` or `easy_install` to
get it.
### Shell examples
The shell examples are intended to be run in a Unix shell. If you're on Windows, you will need to install
[WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10).
These examples use the standard cURL utility to pull from the API, and then process it with `jq` to extract and
format example output. If you don't already have it, you can either [install it](https://stedolan.github.io/jq/)
or run the command without it to see the raw JSON output.
### Google Apps Script examples
![](https://cdn.coda.io/external/img/api_gas.png)
[Google Apps Script](https://script.google.com/) makes it easy to write code in a JavaScript-like syntax and
easily access many Google products with built-in libraries. You can set up your scripts to run periodically,
which makes it a good environment for writing tools without maintaining your own server.
Coda provides a library for Google Apps Script. To use it, go into `Resources -> Libraries...` and enter the
following library ID: `15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl`. If you want to see the
library's source code, it's available
[here](https://script.google.com/d/15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl/edit).
Google provides autocomplete for API functions as well as generated docs. You can access these docs via the
Libraries dialog by clicking on the library name. Required parameters that would be included in the URL path are
positional arguments in each of these functions, followed by the request body, if applicable. All remaining
parameters can be specified in the options object.
## OpenAPI/Swagger Spec
In an effort to standardize our API and make it accessible, we offer an OpenAPI 3.0 specification:
- [OpenAPI 3.0 spec - YAML](https://coda.io/apis/v1/openapi.yaml)
- [OpenAPI 3.0 spec - JSON](https://coda.io/apis/v1/openapi.json)
#### Postman collection
To get started with prototyping the API quickly in Postman, you can use one of links above to import the Coda API
into a collection. You'll then need to set the [appropriate header](#section/Authentication) and environment
variables.
## Client libraries
We do not currently support client libraries apart from Google Apps Script. To work with the Coda API, you can
either use standard network libraries for your language, or use the appropriate Swagger Generator tool to
auto-generate Coda API client libraries for your language of choice. We do not provide any guarantees that these
autogenerated libraries are compatible with our API (e.g., some libraries may not work with Bearer
authentication).
### OpenAPI 3.0
[Swagger Generator 3](https://generator3.swagger.io/) (that link takes you to the docs for the generator API) can
generate client libraries for [these languages](https://generator3.swagger.io/v2/clients). It's relatively new
and thus only has support for a limited set of languages at this time.
### Third-party client libraries
Some members of our amazing community have written libraries to work with our API. These aren't officially
supported by Coda, but are listed here for convenience. (Please let us know if you've written a library and would
like to have it included here.)
- [PHP](https://github.com/danielstieber/CodaPHP) by Daniel Stieber
- [Node-RED](https://github.com/serene-water/node-red-contrib-coda-io) by Mori Sugimoto
- [NodeJS](https://www.npmjs.com/package/coda-js) by Parker McMullin
- [Ruby](https://rubygems.org/gems/coda_docs/) by Carlos Muñoz at Getro
- [Python](https://github.com/Blasterai/codaio) by Mikhail Beliansky
- [Go](https://github.com/artsafin/coda-schema-generator) by Artur Safin
termsOfService: https://coda.io/trust/tos
contact:
name: API Support
url: https://coda.io
email: [email protected]
license:
name: Coda Developer Terms
url: https://coda.io/trust/developer
x-logo:
url: https://cdn.coda.io/external/img/apilogo.png
backgroundColor: transparent
altText: Coda API
href: '#'
host: coda.io
basePath: /apis/v1
tags:
- name: Account
description: |
At this time, the API exposes some limited information about your account. However, `/whoami` is a good endpoint to hit to verify that you're hitting the API correctly and that your token is working as expected.
- name: Analytics
description: This API offers analytics data for your docs and Packs over time.
- name: Automations
description: This API allows you to trigger automations.
- name: Columns
description: |
While columns in Coda have user-friendly names, they also have immutable IDs that are used when reading and writing rows. These endpoints let you query the columns in a table and get basic information about them.
- name: Controls
description: |
Controls provide a user-friendly way to input a value that can affect other parts of the doc. This API lets you list controls and get their current values.
- name: Docs
description: |
Coda docs are foundational, top-level collaborative projects that contain pages. The API lets you list and search your docs to obtain basic metadata like titles and ownership information.
- name: Formulas
description: |
Formulas can be great for performing one-off computations, or used with tables and other formulas to compute a single value. With this API, you can discover formulas in a doc and obtain computed results.
- name: Miscellaneous
description: |
These endpoints wouldn't fit anywhere else, but you may find them useful when working with Coda.
- name: Packs
description: |
This API allows you to manage Packs that you have developed as well as list publicly available Coda packs.
- name: Pages
description: |
Pages in Coda offer canvases containing rich text, tables, controls, and other objects. At this time, this API lets you list and access pages in a doc.
- name: Permissions
description: This API lets you manage sharing and permissions for your docs.
- name: Publishing
description: |
Coda docs can be published publicly and associated with categories to help the world discover them. This API lets you manage the publishing settings of your docs.
- name: Rows
description: |
You'll likely use this part of the API the most. These endpoints let you retrieve row data from tables in Coda as well as create, upsert, update, and delete them. Most of these endpoints work for both base tables and views, but for inserting/upsering rows, you must use a base table.
- name: Tables and Views
description: |
If you're here, you know the power of tables in Coda. This API lets you list the tables and views in a Coda doc and obtain basic schema information.
- name: Workspaces
description: |
This API allows you to manage your workspace's membership and get analytics on membership over time.
schemes:
- https
security:
- Bearer: []
paths:
/categories:
get:
tags:
- Publishing
summary: Get doc categories
description: Gets all available doc categories.
operationId: listCategories
produces:
- application/json
parameters: []
responses:
"200":
description: List of doc categories
schema:
$ref: '#/definitions/DocCategoryList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/categories'
res = requests.get(uri, headers=headers).json()
print(f'Category count: {res["categories"].length}')
# => Category count: 10
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/categories' |
jq .categories.name
# => "10"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var categories = CodaAPI.listCategories();
Logger.log('Category count: ' + categories.categories.length);
// => Category count: 10
/docs:
get:
tags:
- Docs
summary: List available docs
description: |
Returns a list of Coda docs accessible by the user. 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).
operationId: listDocs
produces:
- application/json
parameters:
- name: isOwner
in: query
description: Show only docs owned by the user.
required: false
type: boolean
- name: isPublished
in: query
description: Show only published docs.
required: false
type: boolean
- name: query
in: query
description: Search term used to filter down results.
required: false
type: string
x-example: Supercalifragilisticexpialidocious
- name: sourceDoc
in: query
description: Show only docs copied from the specified doc ID.
required: false
type: string
- name: isStarred
in: query
description: "If true, returns docs that are starred. If false, returns docs that are not starred."
required: false
type: boolean
- name: inGallery
in: query
description: Show only docs visible within the gallery.
required: false
type: boolean
- name: workspaceId
in: query
description: Show only docs belonging to the given workspace.
required: false
type: string
- name: folderId
in: query
description: Show only docs belonging to the given folder.
required: false
type: string
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
responses:
"200":
description: List of Coda docs matching the query.
schema:
$ref: '#/definitions/DocList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/docs'
params = {
'isOwner': True,
'query': 'New',
}
res = requests.get(uri, headers=headers, params=params).json()
print(f'First doc is: {res["items"][0]["name"]}')
# => First doc is: New Document
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs' |
jq .items[0].name
# => "New Document"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var docs = CodaAPI.listDocs().items;
Logger.log('First doc is ' + docs[0].name);
// => First doc is: New Document
post:
tags:
- Docs
summary: Create doc
description: |
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).
operationId: createDoc
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: body
description: Parameters for creating the doc.
required: true
schema:
$ref: '#/definitions/DocCreate'
responses:
"201":
description: Info about the created doc.
schema:
$ref: '#/definitions/DocumentCreationResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs'
payload = {
'title': 'Project Tracker',
}
req = requests.post(uri, headers=headers, json=payload)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'New doc created with name "{res["name"]}"')
# => New doc created with name "Project Tracker"
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X POST -H "Content-Type: application/json" \
-d '{"title": "Project Tracker"}' \
'https://coda.io/apis/v1/docs' |
jq .name
# => "Project Tracker"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var res = CodaAPI.createDoc({title: 'Project Tracker'});
Logger.log('New doc created with name ' + res.name);
// => First doc in the results is: New Document
/docs/{docId}:
get:
tags:
- Docs
summary: Get info about a doc
description: Returns metadata for the specified doc.
operationId: getDoc
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
responses:
"200":
description: Basic Coda doc metadata.
schema:
$ref: '#/definitions/Doc'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>'
res = requests.get(uri, headers=headers).json()
print(f'The name of the doc is {res["name"]}')
# => The name of the doc is New Document
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>' |
jq .name
# => "New Document"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var docInfo = CodaAPI.getDoc('<doc ID>');
Logger.log('The name of the doc is ' + docInfo.name);
// => The name of the doc is New Document
delete:
tags:
- Docs
summary: Delete doc
description: Deletes a doc.
operationId: deleteDoc
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
responses:
"202":
description: A result indicating that the doc was deleted.
schema:
$ref: '#/definitions/DocDelete'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>'
res = requests.delete(uri, headers=headers).json()
- label: Shell
lang: shell
source: |
curl -s -X DELETE -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>' |
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var docInfo = CodaAPI.deleteDoc('<doc ID>');
// => The given doc is now deleted
/docs/{docId}/acl/metadata:
get:
tags:
- Permissions
summary: Get sharing metadata
description: Returns metadata associated with sharing for this Coda doc.
operationId: getSharingMetadata
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
responses:
"200":
description: Metadata associated with sharing permissions for a doc.
schema:
$ref: '#/definitions/AclMetadata'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/acl/metadata'
res = requests.get(uri, headers=headers).json()
print(f'Can I share this doc with others? {res["canShare"]}')
# => Can I share this doc with others? true
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/acl/metadata' |
jq .canShare
# => "true"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var docSharingMetadata = CodaAPI.getSharingMetadata('<doc ID>');
Logger.log('Can I share this doc with others? ' + docSharingMetadata.canShare);
// => Can I share this doc with others? true
/docs/{docId}/acl/permissions:
get:
tags:
- Permissions
summary: List permissions
description: Returns a list of permissions for this Coda doc.
operationId: getPermissions
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
responses:
"200":
description: List of permissions for a doc.
schema:
$ref: '#/definitions/Acl'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/acl/permissions'
res = requests.get(uri, headers=headers).json()
print(f'First user with access is {res["items"][0]["principal"]["email"]}')
# => First user with access is [email protected]
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/acl/permissions' |
jq '.items[].principal.email'
# => "[email protected]", "[email protected]"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var docPermissions = CodaAPI.getPermissions('<doc ID>');
Logger.log('First user with access is ' + docPermissions[0].principal.email);
// => First user with access is [email protected]
post:
tags:
- Permissions
summary: Add permission
description: |
Adds a new permission to the doc.
operationId: addPermission
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- in: body
name: body
description: Parameters for adding the new permission.
required: true
schema:
$ref: '#/definitions/AddPermissionRequest'
responses:
"200":
description: Confirmation that the request was applied.
schema:
$ref: '#/definitions/AddPermissionResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/acl/permissions'
payload = {
'access': 'write',
'principal': {
'type': 'email',
'email': '[email protected]'
},
}
res = requests.post(uri, headers=headers, json=payload)
# => Grant '[email protected]' write access to the doc and send a share notification email
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X POST \
'https://coda.io/apis/v1/docs/<doc ID>/acl/permissions' \
-d '{"access": "write", "principal": {"type": "email", "email": "[email protected]"}}'
# => Grant '[email protected]' write access to the doc and send a share notification email
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var docPermissions = CodaAPI.addPermission(
'<doc ID>',
{access: 'write', principal: {type: 'email', email: '[email protected]'}}
);
// => Grant '[email protected]' write access to the doc and send a share notification email
/docs/{docId}/acl/permissions/{permissionId}:
delete:
tags:
- Permissions
summary: Delete permission
description: |
Deletes an existing permission.
operationId: deletePermission
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: permissionId
in: path
description: ID of a permission on a doc.
required: true
type: string
x-example: AbCDeFGH
responses:
"200":
description: Confirmation that the request was applied.
schema:
$ref: '#/definitions/DeletePermissionResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/acl/permissions/<permission ID>'
res = requests.delete(uri, headers=headers, json=payload)
# => Revoke access to the doc
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X DELETE \
'https://coda.io/apis/v1/docs/<doc ID>/acl/permissions/<permission ID>'
# => Revoke access to the doc
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var docPermissions = CodaAPI.deletePermission('<doc ID>', '<permission ID>');
// => Revoke access to the doc
/docs/{docId}/acl/principals/search:
get:
tags:
- Permissions
summary: Search principals
description: |
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.
operationId: searchPrincipals
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: query
in: query
description: Search term used to filter down results.
required: false
type: string
x-example: Supercalifragilisticexpialidocious
responses:
"200":
description: Search results for the given query.
schema:
$ref: '#/definitions/SearchPrincipalsResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/acl/principals/search?search=foo'
res = requests.get(uri, headers=headers).json()
print(f'First user with access is {res["users"][0]["email"]}')
# => First user with access is [email protected]
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/acl/permissions/search?search=foo' |
jq '.users[].email'
# => "[email protected]", "[email protected]"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var principals = CodaAPI.searchPrincipals('<doc ID>');
Logger.log('First user with access is ' + docPermissions[0].principal.email);
// => First user with access is [email protected]
/docs/{docId}/acl/settings:
get:
tags:
- Permissions
summary: Get ACL settings
description: Returns settings associated with ACLs for this Coda doc.
operationId: getAclSettings
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
responses:
"200":
description: Settings associated with access control for a doc.
schema:
$ref: '#/definitions/AclSettings'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/acl/settings'
res = requests.get(uri, headers=headers).json()
print(f'Can editors change sharing permissions? {res["allowEditorsToChangePermissions"]}')
# => Can editors change sharing permissions? false
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/acl/settings' |
jq .allowEditorsToChangePermissions
# => "false"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var settings = CodaAPI.getAclSettings('<doc ID>');
Logger.log('Can editors change sharing permissions? ' + settings.allowEditorsToChangePermissions);
// => Can editors change sharing permissions? true
patch:
tags:
- Permissions
summary: Update ACL settings
description: Update settings associated with ACLs for this Coda doc.
operationId: updateAclSettings
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- in: body
name: body
description: Parameters for updating the ACL settings.
required: true
schema:
$ref: '#/definitions/UpdateAclSettingsRequest'
responses:
"200":
description: Settings associated with access control for a doc.
schema:
$ref: '#/definitions/AclSettings'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/docs/{docId}/publish:
put:
tags:
- Publishing
summary: Publish doc
description: Update publish settings for a doc.
operationId: publishDoc
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- in: body
name: body
description: Parameters for changing publish settings.
required: true
schema:
$ref: '#/definitions/DocPublish'
responses:
"202":
description: Confirmation that the publish request was accepted.
schema:
$ref: '#/definitions/PublishResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/publish'
payload = {
'discoverable': true,
}
req = requests.put(uri, headers=headers, json=payload)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Discoverable will be true')
# => Discoverable will be true
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X POST -H "Content-Type: application/json" \
-d '{"discoverable": true}' \
'https://coda.io/apis/v1/docs/<doc ID>/publish'
# => Will be discoverable
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var res = CodaAPI.publishDoc(<doc ID>, {discoverable: true});
Logger.log('Discoverable will be true');
// => Discoverable will be true
delete:
tags:
- Publishing
summary: Unpublish doc
description: Unpublishes a doc.
operationId: unpublishDoc
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
responses:
"200":
description: A result indicating that the doc was unpublished.
schema:
$ref: '#/definitions/UnpublishResult'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/publish'
res = requests.unpublishDoc(uri, headers=headers).json()
- label: Shell
lang: shell
source: |
curl -s -X DELETE -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/unpublish' |
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var docInfo = CodaAPI.unpublishDoc('<doc ID>');
// => The given doc is now unpublished
/docs/{docId}/pages:
get:
tags:
- Pages
summary: List pages
description: Returns a list of pages in a Coda doc.
operationId: listPages
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
responses:
"200":
description: List of pages.
schema:
$ref: '#/definitions/PageList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/pages'
res = requests.get(uri, headers=headers).json()
print(f'The name of the first page is {res["items"][0]["name"]}')
# => The name of the first page is Page 1
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/pages' |
jq '.items[0].name'
# => "Page 1"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var pages = CodaAPI.listPages('<doc ID>').items;
Logger.log('The name of the first page is ' + pages[0].name);
// => The name of the first page is Page 1
post:
tags:
- Pages
summary: Create a page
description: |
Create a new page in a doc. Note that creating a page requires you to be a Doc Maker in the applicable workspace.
operationId: createPage
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- in: body
name: body
description: Parameters for creating a page.
required: true
schema:
$ref: '#/definitions/PageCreate'
responses:
"202":
description: A result indicating that the creation request was queued for processing.
schema:
$ref: '#/definitions/PageCreateResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/pages'
payload = {
'name': 'New Page Name',
}
req = requests.post(uri, headers=headers, json=payload)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Created page {res["id"]}')
# => Created page <page ID>
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X POST -H "Content-Type: application/json" \
-d '{"name": "New Page Name"}' \
'https://coda.io/apis/v1/docs/<doc ID>/pages' |
jq '"Created page " + .id'
# => "Created page <page ID>"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var res = CodaAPI.createPage(<doc ID>, {name: "New Page Name"});
Logger.log('Created page ' + res.id);
// => Created page <page ID>
/docs/{docId}/pages/{pageIdOrName}:
get:
tags:
- Pages
summary: Get a page
description: Returns details about a page.
operationId: getPage
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: pageIdOrName
in: 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.
required: true
type: string
x-example: canvas-IjkLmnO
x-sdk-description: |
ID or name of the page. Names are discouraged because they're easily prone to being changed by users. Note that if you're using a name and there are multiple pages with the same name, an arbitrary one will be returned.
responses:
"200":
description: Info about a page.
schema:
$ref: '#/definitions/Page'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"410":
description: The resource has been deleted.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 410.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Gone
description: HTTP status message of the error.
message:
type: string
example: Gone
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/pages/<page ID>'
res = requests.get(uri, headers=headers).json()
print(f'The name of this page is {res["name"]}')
# => The name of this page is Page 1
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/pages/<page ID>' |
jq '.name'
# => "Page 1"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var page = CodaAPI.getPage('<doc ID>', '<page ID>');
Logger.log('The name of this page is ' + page.name);
// => The name of this page is Page 1
put:
tags:
- Pages
summary: Update a page
description: |
Update properties for a page. Note that updating a page title or icon requires you to be a Doc Maker in the applicable workspace.
operationId: updatePage
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: pageIdOrName
in: 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.
required: true
type: string
x-example: canvas-IjkLmnO
x-sdk-description: |
ID or name of the page. Names are discouraged because they're easily prone to being changed by users. Note that if you're using a name and there are multiple pages with the same name, an arbitrary one will be returned.
- in: body
name: body
description: Parameters for updating a page.
required: true
schema:
$ref: '#/definitions/PageUpdate'
responses:
"202":
description: A result indicating that the update was queued for processing.
schema:
$ref: '#/definitions/PageUpdateResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/pages/<page ID>'
payload = {
'name': 'New Page Name',
}
req = requests.put(uri, headers=headers, json=payload)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Updated page {res["id"]}')
# => Updated page <page ID>
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X PUT -H "Content-Type: application/json" \
-d '{"name": "New Page Name"}' \
'https://coda.io/apis/v1/docs/<doc ID>/pages/<page ID>' |
jq '"Updated page " + .id'
# => "Updated page <page ID>"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var res = CodaAPI.updatePage(<doc ID>, <page ID>, {name: "New Page Name"});
Logger.log('Updated page ' + res.id);
// => Updated page <page ID>
/docs/{docId}/pages/{pageIdOrName}/export:
post:
tags:
- Pages
summary: Begin content export
description: Initiate an export of content for the given page.
operationId: beginPageContentExport
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: pageIdOrName
in: 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.
required: true
type: string
x-example: canvas-IjkLmnO
x-sdk-description: |
ID or name of the page. Names are discouraged because they're easily prone to being changed by users. Note that if you're using a name and there are multiple pages with the same name, an arbitrary one will be returned.
- in: body
name: body
description: Parameters for requesting a page content export.
required: true
schema:
$ref: '#/definitions/BeginPageContentExportRequest'
responses:
"202":
description: Export page content response.
schema:
$ref: '#/definitions/BeginPageContentExportResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"410":
description: The resource has been deleted.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 410.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Gone
description: HTTP status message of the error.
message:
type: string
example: Gone
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/pages/<page ID>/export'
payload = {
'outputFormat': 'html',
}
req = requests.post(uri, headers=headers, json=payload)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Export status available at {res["href"]}')
# => Export status available at <status URL>
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X POST -H "Content-Type: application/json" \
-d '{"outputFormat": "html"}' \
'https://coda.io/apis/v1/docs/<doc ID>/pages/<page ID>/export' |
jq '"Export status available at " + .href'
# => Export status available at <status URL>
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var page = CodaAPI.beginPageContentExport('<doc ID>', '<page ID>', {outputFormat: 'html'});
Logger.log('Export status available at ' + page.href);
// => Export status available at <status URL>
/docs/{docId}/pages/{pageIdOrName}/export/{requestId}:
get:
tags:
- Pages
summary: Content export status
description: Check the status of a page content export
operationId: getPageContentExportStatus
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: pageIdOrName
in: 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.
required: true
type: string
x-example: canvas-IjkLmnO
x-sdk-description: |
ID or name of the page. Names are discouraged because they're easily prone to being changed by users. Note that if you're using a name and there are multiple pages with the same name, an arbitrary one will be returned.
- name: requestId
in: path
description: ID of the request.
required: true
type: string
x-example: abc-123-def-456
responses:
"200":
description: Info about the page content export request.
schema:
$ref: '#/definitions/PageContentExportStatusResponse'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"410":
description: The resource has been deleted.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 410.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Gone
description: HTTP status message of the error.
message:
type: string
example: Gone
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/pages/<page ID>/export/<request ID>'
res = requests.get(uri, headers=headers).json()
print(f'Request status: {res["status"]}')
# => Request status: completed
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
-d '{"outputFormat": "html"}' \
'https://coda.io/apis/v1/docs/<doc ID>/pages/<page ID>/export/<request ID>' |
jq .status
# => completed
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var response = CodaAPI.getPageContentExportStatus('<doc ID>', '<page ID>', '<request ID>');
Logger.log('Export status: ' + response.status);
// => Export status: completed
/docs/{docId}/tables:
get:
tags:
- Tables
summary: List tables
description: Returns a list of tables in a Coda doc.
operationId: listTables
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: sortBy
in: query
description: Determines how to sort the given objects.
required: false
type: string
x-example: name
enum:
- name
x-schema-name: SortBy
x-tsEnumNames:
- Name
- name: tableTypes
in: query
description: "Comma-separated list of table types to include in results. If omitted, includes both tables and views."
required: false
type: array
items:
type: string
collectionFormat: csv
x-example: "table,view"
responses:
"200":
description: List of tables or views in a doc.
schema:
$ref: '#/definitions/TableList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables'
res = requests.get(uri, headers=headers).json()
print(f'The name of the first table is {res["items"][0]["name"]}')
# => The name of the first table is To-do List
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/tables' |
jq '.items[0].name'
# => "To-do List"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var tables = CodaAPI.listTables('<doc ID>').items;
Logger.log('The name of the first table is ' + tables[0].name);
// => The name of the first table is To-do List
/docs/{docId}/tables/{tableIdOrName}:
get:
tags:
- Tables
summary: Get a table
description: Returns details about a specific table or view.
operationId: getTable
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: useUpdatedTableLayouts
in: query
description: Return "detail" and "form" for the `layout` field of detail and form layouts respectively (instead of "masterDetail" for both)
required: false
type: boolean
responses:
"200":
description: Info about a table.
schema:
$ref: '#/definitions/Table'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>'
res = requests.get(uri, headers=headers).json()
print(f'Table {res["name"]} has {res["rowCount"]} rows')
# => Table To-do List has 2 rows
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>' |
jq '"Table " + .name + " has " + (.rowCount | tostring) + " rows"'
# => "Table To-do List has 2 rows"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var table = CodaAPI.getTable('<doc ID>', '<table ID>');
Logger.log('Table ' + table.name + ' has ' + table.rowCount + ' rows');
// => Table To-do List has 2 rows
/docs/{docId}/tables/{tableIdOrName}/columns:
get:
tags:
- Columns
summary: List columns
description: Returns a list of columns in a table.
operationId: listColumns
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: visibleOnly
in: query
description: "If true, returns only visible columns for the table. This parameter only applies to base tables, and not views."
required: false
type: boolean
x-example: true
responses:
"200":
description: List of columns in the table.
schema:
$ref: '#/definitions/ColumnList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/columns'
res = requests.get(uri, headers=headers).json()
print(f'This table\'s columns: {", ".join(c["name"] for c in res["items"])}')
# => This table's columns: Task, Duration (hr), Duration (min)
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/columns' |
jq '.items | map(.name) | join(", ")'
# => "Task, Duration (hr), Duration (min)"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var columns = CodaAPI.listColumns('<doc ID>', '<table ID>').items;
var names = columns.map(function(column) { return column.name; });
Logger.log('This table\'s columns: ' + names.join(', '));
// => This table's columns: Task, Duration (hr), Duration (min)
/docs/{docId}/tables/{tableIdOrName}/rows:
get:
tags:
- Rows
summary: List table rows
description: |
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 nested arrays).
* `rich`: If applicable, returns many values with further encoding, allowing API users to have lossless access to data in Coda.
* For `text` values, returns data in Markdown syntax. If the text field is simple text (e.g. has no formatting),
the field will be fully escaped with triple-ticks. E.g
`
```This is plain text```
`
* For `currency`, `lookup`, `image`, `person` and `hyperlink` values, the value will be encoded in [JSON-LD](https://json-ld.org/) format.
```
// Currency
{
"@context": "http://schema.org",
"@type": "MonetaryAmount",
"currency": "USD",
"amount": 42.42
}
// Lookup
{
"@context": "http://schema.org",
"@type": "StructuredValue",
"additionalType": "row",
"name": "Row Name",
"rowId": "i-123456789",
"tableId": "grid-123456789",
"tableUrl": "https://coda.io/d/_d123456789/grid-123456789",
"url": "https://coda.io/d/_d123456789/grid-123456789#_r42",
}
// Hyperlink
{
"@context": "http://schema.org",
"@type": "WebPage",
"name": "Coda",
"url": "https://coda.io"
}
// Image
{
"@context": "http://schema.org",
"@type": "ImageObject",
"name": "Coda logo",
"url": "https://coda.io/logo.jpg"
}
// People
{
"@context": "http://schema.org",
"@type": "Person",
"name": "Art Vandalay",
"email": "[email protected]"
}
```
operationId: listRows
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: query
in: 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"`).
required: false
type: string
x-example: c-tuVwxYz:"Apple"
- name: sortBy
in: 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.
required: false
type: string
enum:
- createdAt
- natural
- updatedAt
x-schema-name: RowsSortBy
x-tsEnumNames:
- CreatedAt
- Natural
- UpdatedAt
- name: useColumnNames
in: 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.
required: false
type: boolean
x-example: true
- name: valueFormat
in: query
description: The format that cell values are returned as.
required: false
type: string
enum:
- simple
- simpleWithArrays
- rich
x-schema-name: ValueFormat
x-tsEnumNames:
- Simple
- SimpleWithArrays
- Rich
- name: visibleOnly
in: query
description: "If true, returns only visible rows and columns for the table."
required: false
type: boolean
x-example: true
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: syncToken
in: 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.
required: false
type: string
x-example: eyJsaW1pd
responses:
"200":
description: List of rows in the table.
schema:
$ref: '#/definitions/RowList'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows'
params = {
'query': '<column ID>:"Work out"',
}
req = requests.get(uri, headers=headers, params=params)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Matching rows: {len(res["items"])}')
# => Matching rows: 1
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
-G --data-urlencode 'query=<column ID>:"Work out"' \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows' |
jq '"Matching rows: " + (.items | length | tostring)'
# => "Matching rows: 1"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var query = '<column ID>:"Work out"';
var rows = CodaAPI.listRows('<doc ID>', '<table ID>', {query: query}).items;
Logger.log('Matching rows: ' + rows.length);
// => Matching rows: 1
post:
tags:
- Rows
summary: Insert/upsert rows
description: |
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.
operationId: upsertRows
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: disableParsing
in: query
description: "If true, the API will not attempt to parse the data in any way."
required: false
type: boolean
x-example: true
- in: body
name: body
description: Rows to insert or upsert.
required: true
schema:
$ref: '#/definitions/RowsUpsert'
responses:
"202":
description: A result indicating that the upsert was queued for processing.
schema:
$ref: '#/definitions/RowsUpsertResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows'
payload = {
'rows': [
{
'cells': [
{'column': '<column ID>', 'value': 'Feed Baker'},
],
},
],
}
req = requests.post(uri, headers=headers, json=payload)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Inserted 1 row')
# => Inserted 1 row
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X POST -H "Content-Type: application/json" \
-d '{"rows": [{"cells": [{"column": "<column ID>", "value": "Feed Baker"}]}]}' \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows' |
jq 'if .statusMessage? == null then "Inserted 1 row" else . end'
# => "Inserted 1 row"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var body = {
'rows': [
{
'cells': [
{'column': '<column ID>', 'value': 'Feed Baker'},
],
},
],
};
CodaAPI.upsertRows('<doc ID>', '<table ID>', body);
Logger.log('Inserted 1 row');
// => Inserted 1 row
delete:
tags:
- Rows
summary: Delete multiple rows
description: |
Deletes the specified rows from the table or view. This endpoint will always return a 202. Row deletions are generally processed within several seconds.
operationId: deleteRows
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- in: body
name: body
description: Rows to delete.
required: true
schema:
$ref: '#/definitions/RowsDelete'
responses:
"202":
description: A result indicating that the delete was queued for processing.
schema:
$ref: '#/definitions/RowsDeleteResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows'
payload = {
'rowIds': ['i-aBcDeFgH', 'i-AbCdEfGh'],
}
req = requests.delete(uri, headers=headers, json=payload)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Deleted 2 rows')
# => Deleted 2 rows
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X DELETE -H "Content-Type: application/json" \
-d '{"rowIds": ['i-aBcDeFgH', 'i-AbCdEfGh']}' \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows' |
jq 'if .statusMessage? == null then "Deleted 2 rows" else . end'
# => "Deleted 2 rows"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var body = {
'rowIds': ['i-aBcDeFgH', 'i-AbCdEfGh'],
};
CodaAPI.deleteRows('<doc ID>', '<table ID>', body);
Logger.log('Deleted 2 rows');
// => Deleted 2 rows
/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}:
get:
tags:
- Rows
summary: Get a row
description: Returns details about a row in a table.
operationId: getRow
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: rowIdOrName
in: 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.
required: true
type: string
x-example: i-tuVwxYz
x-sdk-description: |
ID or name of the row. Names are discouraged because they're easily prone to being changed by users. Note that if there are multiple rows with the same value in the identifying column, an arbitrary one will be returned.
- name: useColumnNames
in: 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.
required: false
type: boolean
x-example: true
- name: valueFormat
in: query
description: The format that cell values are returned as.
required: false
type: string
enum:
- simple
- simpleWithArrays
- rich
x-schema-name: ValueFormat
x-tsEnumNames:
- Simple
- SimpleWithArrays
- Rich
responses:
"200":
description: |
Info about a row. If this row was retrieved by name, only one matching row will be returned, with no guarantees as to which one it is.
schema:
$ref: '#/definitions/RowDetail'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows/<row ID>'
req = requests.get(uri, headers=headers)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Row values are: {", ".join(str(v) for v in res["values"].values())}')
# => Row values are: Get groceries, 1, 60
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows/<row ID>' |
jq '.values | map(tostring) | join(", ")'
# => "Get groceries, 1, 60"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var row = CodaAPI.getRow('<doc ID>', '<table ID>', '<row ID>');
var values = Object.keys(row.values).map(function(colId) { return row.values[colId]; });
Logger.log('Row values are: ' + values.join(', '));
// => Row values are: Get groceries, 1, 60
put:
tags:
- Rows
summary: Update row
description: |
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.
operationId: updateRow
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: rowIdOrName
in: 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.
required: true
type: string
x-example: i-tuVwxYz
x-sdk-description: |
ID or name of the row. Names are discouraged because they're easily prone to being changed by users. Note that if there are multiple rows with the same value in the identifying column, an arbitrary one will be returned.
- name: disableParsing
in: query
description: "If true, the API will not attempt to parse the data in any way."
required: false
type: boolean
x-example: true
- in: body
name: body
description: Row update.
required: true
schema:
$ref: '#/definitions/RowUpdate'
responses:
"202":
description: A result indicating that the update was queued for processing.
schema:
$ref: '#/definitions/RowUpdateResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows/<row ID>'
payload = {
'row': {
'cells': [
{'column': '<column ID>', 'value': 'Get groceries from Whole Foods'},
],
},
}
req = requests.put(uri, headers=headers, json=payload)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Updated row {res["id"]}')
# => Updated row <row ID>
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X PUT -H "Content-Type: application/json" \
-d '{"row": {"cells": [{"column": "<column ID>", "value": "Get groceries from Whole Foods"}]}}' \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows/<row ID>' |
jq '"Updated row " + .id'
# => "Updated row <row ID>"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var body = {
row: {
cells: [
{'column': '<column ID>', 'value': 'Get groceries from Whole Foods'},
],
},
};
var row = CodaAPI.updateRow('<doc ID>', '<table ID>', '<row ID>', body);
Logger.log('Updated row ' + row.id);
// => Updated row <row ID>
delete:
tags:
- Rows
summary: Delete row
description: |
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.
operationId: deleteRow
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: rowIdOrName
in: 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.
required: true
type: string
x-example: i-tuVwxYz
x-sdk-description: |
ID or name of the row. Names are discouraged because they're easily prone to being changed by users. Note that if there are multiple rows with the same value in the identifying column, an arbitrary one will be returned.
responses:
"202":
description: A result indicating that the deletion was queued for processing.
schema:
$ref: '#/definitions/RowDeleteResult'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows/<row ID>'
req = requests.delete(uri, headers=headers)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Deleted row {res["id"]}')
# => Deleted row <row ID>
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X DELETE \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows/<row ID>' |
jq '"Deleted row " + .id'
# => "Deleted row <row ID>"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var row = CodaAPI.deleteRow('<doc ID>', '<table ID>', '<row ID>');
Logger.log('Deleted row ' + row.id);
// => Deleted row <row ID>
/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}/buttons/{columnIdOrName}:
post:
tags:
- Rows
summary: Push a button
description: |
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.
operationId: pushButton
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: rowIdOrName
in: 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.
required: true
type: string
x-example: i-tuVwxYz
x-sdk-description: |
ID or name of the row. Names are discouraged because they're easily prone to being changed by users. Note that if there are multiple rows with the same value in the identifying column, an arbitrary one will be returned.
- name: columnIdOrName
in: 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."
required: true
type: string
x-example: c-tuVwxYz
x-sdk-description: ID or name of the column. Names are discouraged because they're easily prone to being changed by users.
responses:
"202":
description: A result indicating that the push button action was queued for processing.
schema:
$ref: '#/definitions/PushButtonResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows/<row ID>/buttons/<column ID>'
req = requests.post(uri, headers=headers)
req.raise_for_status() # Throw if there was an error.
res = req.json()
print(f'Pushed button')
# => Pushed button
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' -X POST \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/rows/<row ID>/buttons/<column ID>' |
jq 'if .statusMessage? == null then "Pushed button" else . end'
# => Pushed button
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
CodaAPI.pushButton('<doc ID>', '<table ID>', '<row ID>', '<column ID>');
Logger.log('Pushed button');
// => Pushed button
/docs/{docId}/tables/{tableIdOrName}/columns/{columnIdOrName}:
get:
tags:
- Columns
summary: Get a column
description: Returns details about a column in a table.
operationId: getColumn
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: tableIdOrName
in: 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."
required: true
type: string
x-example: grid-pqRst-U
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
- name: columnIdOrName
in: 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."
required: true
type: string
x-example: c-tuVwxYz
x-sdk-description: ID or name of the column. Names are discouraged because they're easily prone to being changed by users.
responses:
"200":
description: Info about a column.
schema:
$ref: '#/definitions/ColumnDetail'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/columns/<column ID>'
res = requests.get(uri, headers=headers).json()
is_default = res.get("display", False)
print(f'Column {res["name"]} {"is" if is_default else "is not"} the display column')
# => Column Task is the display column
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/tables/<table ID>/columns/<column ID>' |
jq '"Column " + .name + (if .display then " is" else " is not" end) + " the display column"'
# => "Column Task is the display column"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var column = CodaAPI.getColumn('<doc ID>', '<table ID>', '<column ID>');
Logger.log('Column ' + column.name + (column.display ? ' is' : ' is not') + ' the display column');
# => Column Task is the display column
/docs/{docId}/formulas:
get:
tags:
- Formulas
summary: List formulas
description: Returns a list of named formulas in a Coda doc.
operationId: listFormulas
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: sortBy
in: query
description: Determines how to sort the given objects.
required: false
type: string
x-example: name
enum:
- name
x-schema-name: SortBy
x-tsEnumNames:
- Name
responses:
"200":
description: List of formulas that have names in a doc.
schema:
$ref: '#/definitions/FormulaList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/formulas'
res = requests.get(uri, headers=headers).json()
print(f'This doc\'s formulas are: {", ".join(i["name"] for i in res["items"])}')
# => This doc's formulas are: Total Duration, Time Now
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/formulas' |
jq '.items | map(.name) | join(", ")'
# => "Total Duration, Time Now"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var formulas = CodaAPI.listFormulas('<doc ID>').items;
var names = formulas.map(function(formula) { return formula.name; });
Logger.log('This doc\'s formulas are: ' + names.join(', '));
// => This doc's formulas are: Total Duration, Time Now
/docs/{docId}/formulas/{formulaIdOrName}:
get:
tags:
- Formulas
summary: Get a formula
description: Returns info on a formula.
operationId: getFormula
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: formulaIdOrName
in: 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."
required: true
type: string
x-example: f-fgHijkLm
x-sdk-description: ID or name of the formula. Names are discouraged because they're easily prone to being changed by users.
responses:
"200":
description: Details about a formula.
schema:
$ref: '#/definitions/Formula'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/formulas/<formula ID>'
res = requests.get(uri, headers=headers).json()
print(f'It will take {res["value"]} hours to complete everything')
# => It will take 3 hours to complete everything
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/formulas/<formula ID>' |
jq '"It will take " + (.value | tostring) + " hours to complete everything"'
# => "It will take 3 hours to complete everything"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var formula = CodaAPI.getFormula('<doc ID>', '<formula ID>');
Logger.log('It will take ' + formula.value + ' hours to complete everything');
// => It will take 3 hours to complete everything
/docs/{docId}/controls:
get:
tags:
- Controls
summary: List controls
description: Returns a list of controls in a Coda doc.
operationId: listControls
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: sortBy
in: query
description: Determines how to sort the given objects.
required: false
type: string
x-example: name
enum:
- name
x-schema-name: SortBy
x-tsEnumNames:
- Name
responses:
"200":
description: List of controls in a doc.
schema:
$ref: '#/definitions/ControlList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/controls'
res = requests.get(uri, headers=headers).json()
print(f'Controls here are: {", ".join(i["name"] for i in res["items"])}')
# => Controls here are: Control 1, Control 2
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/controls' |
jq '.items | map(.name) | join(", ")'
# => "Control 1, Control 2"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var controls = CodaAPI.listControls('<doc ID>').items;
var names = controls.map(function(control) { return control.name; });
Logger.log('Controls here are: ' + names.join(', '));
// => Controls here are: Control 1, Control 2
/docs/{docId}/controls/{controlIdOrName}:
get:
tags:
- Controls
summary: Get a control
description: Returns info on a control.
operationId: getControl
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: controlIdOrName
in: 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."
required: true
type: string
x-example: ctrl-cDefGhij
x-sdk-description: ID or name of the control. Names are discouraged because they're easily prone to being changed by users.
responses:
"200":
description: Details about a control.
schema:
$ref: '#/definitions/Control'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = f'https://coda.io/apis/v1/docs/<doc ID>/controls/<control ID>'
res = requests.get(uri, headers=headers).json()
print(f'The control is a {res["controlType"]}')
# => The control is a slider
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/docs/<doc ID>/controls/<control ID>' |
jq '"The control is a " + .controlType'
# => "The control is a slider"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var control = CodaAPI.getControl('<doc ID>', '<control ID>');
Logger.log('The control is a ' + control.controlType);
// => The control is a slider
/docs/${docId}/domains:
get:
tags:
- CustomDocDomains
summary: List custom doc domains
description: List all custom domains for a published doc.
operationId: listCustomDocDomains
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
responses:
"200":
description: List of custom domains for a published doc.
schema:
$ref: '#/definitions/CustomDocDomainList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
post:
tags:
- CustomDocDomains
summary: Add custom domain
description: Add a custom domain to a published doc.
operationId: addCustomDocDomain
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- in: body
name: body
description: Parameters for adding a custom domain to a published doc.
required: true
schema:
$ref: '#/definitions/AddCustomDocDomainRequest'
responses:
"202":
description: Confirmation that the custom domain was added to the doc.
schema:
$ref: '#/definitions/AddCustomDocDomainResponse'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/docs/{docId}/domains/{customDocDomain}:
delete:
tags:
- CustomDocDomains
summary: Deletes a custom domain
description: Deletes a custom domain from a published doc.
operationId: deleteCustomDocDomain
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: customDocDomain
in: path
description: A custom domain for a published doc.
required: true
type: string
responses:
"200":
description: A result indicating that the custom domain was deleted.
schema:
$ref: '#/definitions/DeleteCustomDocDomainResponse'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
patch:
tags:
- CustomDocDomains
summary: Updates a custom domain
description: Updates properties of a document's custom domain.
operationId: updateCustomDocDomain
consumes:
- application/json
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: customDocDomain
in: path
description: A custom domain for a published doc.
required: true
type: string
- in: body
name: body
description: Properties of a custom domain to update.
required: true
schema:
$ref: '#/definitions/UpdateCustomDocDomainRequest'
responses:
"200":
description: The custom domain object with the updates applied.
schema:
$ref: '#/definitions/UpdateCustomDocDomainResponse'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/domains/provider/{customDocDomain}:
get:
tags:
- CustomDocDomains
summary: Gets custom doc domains providers
description: Gets the provider (ie. GoDaddy) of a custom domain.
operationId: getCustomDocDomainProvider
produces:
- application/json
parameters:
- name: customDocDomain
in: path
description: A custom domain for a published doc.
required: true
type: string
responses:
"200":
description: Provider of the custom domain
schema:
$ref: '#/definitions/CustomDocDomainProviderResponse'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/whoami:
get:
tags:
- Account
summary: Get user info
description: Returns basic info about the current user.
operationId: whoami
produces:
- application/json
parameters: []
responses:
"200":
description: Info about the current user.
schema:
$ref: '#/definitions/User'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/whoami'
res = requests.get(uri, headers=headers).json()
print(f'Your name is {res["name"]}')
# => Your name is John Doe
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/whoami' |
jq .name
# => "John Doe"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
Logger.log('Your name is ' + CodaAPI.whoami().name);
// => Your name is John Doe
/resolveBrowserLink:
get:
tags:
- Miscellaneous
summary: Resolve browser link
description: |
Given a browser link to a Coda object, attempts to find it and return metadata that can be used to get more info on it. Returns a 400 if the URL does not appear to be a Coda URL or a 404 if the resource cannot be located with the current credentials.
operationId: resolveBrowserLink
produces:
- application/json
parameters:
- name: url
in: query
description: The browser link to try to resolve.
required: true
type: string
format: url
x-example: https://coda.io/d/_dAbCDeFGH/Launch-Status_sumnO
- name: degradeGracefully
in: query
description: |
By default, attempting to resolve the Coda URL of a deleted object will result in an error. If this flag is set, the next-available object, all the way up to the doc itself, will be resolved.
required: false
type: boolean
x-example: true
responses:
"200":
description: Metadata for the resolved resource.
schema:
$ref: '#/definitions/ApiLink'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-pack-hidden: true
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/resolveBrowserLink'
params = {
'url': 'https://coda.io/d/Some-Doc_d<doc ID>/#To-do-List_tu<table ID>',
}
res = requests.get(uri, headers=headers, params=params).json()
resolved_uri = res["resource"]["href"]
res = requests.get(resolved_uri, headers=headers).json()
print(f'This link points to a {res["type"]} named {res["name"]}')
# => This link points to a table named To-do List
- label: Shell
lang: shell
source: |
RESOLVED_RESOURCE_URI="$(curl -s -H 'Authorization: Bearer <your API token>' \
-G --data-urlencode 'url=https://coda.io/d/Some-Doc_d<doc ID>/#To-do-List_tu<table ID>' \
'https://coda.io/apis/v1/resolveBrowserLink' |
jq -r '.resource.href')"
curl -s -H 'Authorization: Bearer <your API token>' \
"$RESOLVED_RESOURCE_URI" |
jq '"This link points to a " + .type + " named " + .name'
# => "This link points to a table named To-do List"
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
var url = 'https://coda.io/d/Some-Doc_d<doc ID>/#To-do-List_tu<table ID>';
var res = CodaAPI.resolveBrowserLink({url: url});
Logger.log('This link points to a ' + res.type + ' named ' + res.name);
// => This link points to a table named To-do List
/mutationStatus/{requestId}:
get:
tags:
- Miscellaneous
summary: Get mutation status
description: |
Get the status for an asynchronous mutation to know whether or not it has been completed. Each API endpoint that mutates a document will return a request id that you can pass to this endpoint to check the completion status. Status information is not guaranteed to be available for more than one day after the mutation was completed. It is intended to be used shortly after the request was made.
operationId: getMutationStatus
produces:
- application/json
parameters:
- name: requestId
in: path
description: ID of the request.
required: true
type: string
x-example: abc-123-def-456
responses:
"200":
description: Info about the mutation.
schema:
$ref: '#/definitions/MutationStatus'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/mutationStatus/some-request-id'
res = requests.get(uri, headers=headers).json()
print(f'Request has completed? {res["completed"]}')
# => Request has completed? false
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/mutationStatus/some-request-id' |
jq .completed
# => true
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
Logger.log('Request has completed? ' + CodaAPI.mutationStatus('some-request-id').completed);
// => Request has completed? false
/docs/{docId}/hooks/automation/{ruleId}:
post:
tags:
- Automations
summary: Trigger automation
description: Triggers webhook-invoked automation
operationId: triggerWebhookAutomation
consumes:
- application/json
- application/x-www-form-urlencoded
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: ruleId
in: path
description: ID of the automation rule.
required: true
type: string
x-example: grid-auto-b3Jmey6jBS
- in: body
name: body
description: Payload for webhook
required: false
schema:
$ref: '#/definitions/WebhookTriggerPayload'
responses:
"202":
description: A result indicating that the automation trigger was queued for processing.
schema:
$ref: '#/definitions/WebhookTriggerResult'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"422":
description: Unable to process the request.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 422.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unprocessable Entity
description: HTTP status message of the error.
message:
type: string
example: Unprocessable Entity
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/analytics/docs:
get:
tags:
- Analytics
summary: List doc analytics
description: |
Returns analytics data for available docs per day.
operationId: listDocAnalytics
produces:
- application/json
parameters:
- name: docIds
in: query
description: List of docIds to fetch.
required: false
type: array
items:
type: string
collectionFormat: csv
- name: workspaceId
in: query
description: ID of the workspace.
required: false
type: string
x-example: ws-1Ab234
- name: query
in: query
description: Search term used to filter down results.
required: false
type: string
x-example: Supercalifragilisticexpialidocious
- name: isPublished
in: query
description: Limit results to only published items.
required: false
type: boolean
- name: sinceDate
in: query
description: Limit results to activity on or after this date.
required: false
type: string
format: date
x-example: 2020-08-01
- name: untilDate
in: query
description: Limit results to activity on or before this date.
required: false
type: string
format: date
x-example: 2020-08-05
- name: scale
in: query
description: Quantization period over which to view analytics. Defaults to daily.
required: false
type: string
x-example: daily
enum:
- daily
- cumulative
x-schema-name: AnalyticsScale
x-tsEnumNames:
- Daily
- Cumulative
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: orderBy
in: query
description: Use this parameter to order the doc analytics returned.
required: false
type: string
enum:
- date
- docId
- title
- createdAt
- publishedAt
- likes
- copies
- views
- sessionsDesktop
- sessionsMobile
- sessionsOther
- totalSessions
x-schema-name: DocAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- DocId
- Title
- CreatedAt
- PublishedAt
- Likes
- Copies
- Views
- SessionsDesktop
- SessionsMobile
- SessionsOther
- TotalSessions
- name: direction
in: query
description: Direction to sort results in.
required: false
type: string
enum:
- ascending
- descending
x-schema-name: SortDirection
x-tsEnumNames:
- Ascending
- Descending
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 1000
maximum: 5000
minimum: 1
x-example: 10
responses:
"200":
description: List of Coda doc analytics.
schema:
$ref: '#/definitions/DocAnalyticsCollection'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/analytics/docs'
params = {
'limit': 10,
}
res = requests.get(uri, headers=headers, params=params).json()
print(f'First doc is: {res["items"][0]["doc"]["title"]}')
# => First doc is: New Document
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/analytics/docs' |
jq .items[0].doc.title
# => "New Document"
/analytics/docs/{docId}/pages:
get:
tags:
- Analytics
summary: List page analytics
description: |
Returns analytics data for a given doc within the day.
This method will return a 401 if the given doc is not in an Enterprise workspace.
operationId: listPageAnalytics
produces:
- application/json
parameters:
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: sinceDate
in: query
description: Limit results to activity on or after this date.
required: false
type: string
format: date
x-example: 2020-08-01
- name: untilDate
in: query
description: Limit results to activity on or before this date.
required: false
type: string
format: date
x-example: 2020-08-05
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 1000
maximum: 5000
minimum: 1
x-example: 10
responses:
"200":
description: List of page analytics for the given Coda doc.
schema:
$ref: '#/definitions/PageAnalyticsCollection'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/analytics/docs/abcdefghi/pages'
params = {
'limit': 10,
}
res = requests.get(uri, headers=headers, params=params).json()
print(f'First page is: {res["items"][0]["page"]["name"]}')
# => First page is: My Page
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/analytics/docs/abcdefghi/pages' |
jq .items[0].page.name
# => "My Page"
/analytics/docs/summary:
get:
tags:
- Analytics
summary: Get doc analytics summary
description: |
Returns summarized analytics data for available docs.
operationId: listDocAnalyticsSummary
produces:
- application/json
parameters:
- name: isPublished
in: query
description: Limit results to only published items.
required: false
type: boolean
- name: sinceDate
in: query
description: Limit results to activity on or after this date.
required: false
type: string
format: date
x-example: 2020-08-01
- name: untilDate
in: query
description: Limit results to activity on or before this date.
required: false
type: string
format: date
x-example: 2020-08-05
- name: workspaceId
in: query
description: ID of the workspace.
required: false
type: string
x-example: ws-1Ab234
responses:
"200":
description: Response of Coda doc summary analytics.
schema:
$ref: '#/definitions/DocAnalyticsSummary'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/analytics/packs:
get:
tags:
- Analytics
summary: List Pack analytics
description: |
Returns analytics data for Packs the user can edit.
operationId: listPackAnalytics
produces:
- application/json
parameters:
- name: packIds
in: query
description: Which Pack IDs to fetch.
required: false
type: array
items:
type: integer
collectionFormat: csv
- name: workspaceId
in: query
description: ID of the workspace.
required: false
type: string
x-example: ws-1Ab234
- name: query
in: query
description: Search term used to filter down results.
required: false
type: string
x-example: Supercalifragilisticexpialidocious
- name: sinceDate
in: query
description: Limit results to activity on or after this date.
required: false
type: string
format: date
x-example: 2020-08-01
- name: untilDate
in: query
description: Limit results to activity on or before this date.
required: false
type: string
format: date
x-example: 2020-08-05
- name: scale
in: query
description: Quantization period over which to view analytics. Defaults to daily.
required: false
type: string
x-example: daily
enum:
- daily
- cumulative
x-schema-name: AnalyticsScale
x-tsEnumNames:
- Daily
- Cumulative
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: orderBy
in: query
description: Use this parameter to order the Pack analytics returned.
required: false
type: string
enum:
- date
- packId
- name
- createdAt
- docInstalls
- workspaceInstalls
- numFormulaInvocations
- numActionInvocations
- numSyncInvocations
- numMetadataInvocations
- docsActivelyUsing
- docsActivelyUsing7Day
- docsActivelyUsing30Day
- docsActivelyUsing90Day
- docsActivelyUsingAllTime
- workspacesActivelyUsing
- workspacesActivelyUsing7Day
- workspacesActivelyUsing30Day
- workspacesActivelyUsing90Day
- workspacesActivelyUsingAllTime
- workspacesWithActiveSubscriptions
- workspacesWithSuccessfulTrials
- revenueUsd
x-schema-name: PackAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- PackId
- Name
- CreatedAt
- DocInstalls
- WorkspaceInstalls
- NumFormulaInvocations
- NumActionInvocations
- NumSyncInvocations
- NumMetadataInvocations
- DocsActivelyUsing
- DocsActivelyUsing7Day
- DocsActivelyUsing30Day
- DocsActivelyUsing90Day
- DocsActivelyUsingAllTime
- WorkspacesActivelyUsing
- WorkspacesActivelyUsing7Day
- WorkspacesActivelyUsing30Day
- WorkspacesActivelyUsing90Day
- WorkspacesActivelyUsingAllTime
- WorkspacesWithActiveSubscriptions
- WorkspacesWithSuccessfulTrials
- RevenueUsd
- name: direction
in: query
description: Direction to sort results in.
required: false
type: string
enum:
- ascending
- descending
x-schema-name: SortDirection
x-tsEnumNames:
- Ascending
- Descending
- name: isPublished
in: query
description: |
Limit results to only published items. If false or unspecified, returns all items including published ones.
required: false
type: boolean
x-no-default: true
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 1000
maximum: 5000
minimum: 1
x-example: 10
responses:
"200":
description: Response of Coda Pack analytics.
schema:
$ref: '#/definitions/PackAnalyticsCollection'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/analytics/packs'
params = {
'limit': 10,
}
res = requests.get(uri, headers=headers, params=params).json()
print(f'First Pack is: {res["items"][0]["pack"]["name"]}')
# => First Pack is: New Pack
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/analytics/packs' |
jq .items[0].pack.name
# => "New Pack"
/analytics/packs/summary:
get:
tags:
- Analytics
summary: Get Pack analytics summary
description: |
Returns summarized analytics data for Packs the user can edit.
operationId: listPackAnalyticsSummary
produces:
- application/json
parameters:
- name: packIds
in: query
description: Which Pack IDs to fetch.
required: false
type: array
items:
type: integer
collectionFormat: csv
- name: workspaceId
in: query
description: ID of the workspace.
required: false
type: string
x-example: ws-1Ab234
- name: isPublished
in: query
description: |
Limit results to only published items. If false or unspecified, returns all items including published ones.
required: false
type: boolean
x-no-default: true
- name: sinceDate
in: query
description: Limit results to activity on or after this date.
required: false
type: string
format: date
x-example: 2020-08-01
- name: untilDate
in: query
description: Limit results to activity on or before this date.
required: false
type: string
format: date
x-example: 2020-08-05
responses:
"200":
description: Response of Coda Pack summary analytics.
schema:
$ref: '#/definitions/PackAnalyticsSummary'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/analytics/packs/{packId}/formulas:
get:
tags:
- Analytics
summary: List Pack formula analytics
description: |
Returns analytics data for Pack formulas.
operationId: listPackFormulaAnalytics
produces:
- application/json
parameters:
- name: packFormulaNames
in: query
description: A list of Pack formula names (case-sensitive) for which to retrieve analytics.
required: false
type: array
items:
type: string
collectionFormat: csv
x-example: "SquareRoot,CubeRoot"
- name: packFormulaTypes
in: query
description: "A list of Pack formula types corresponding to the `packFormulaNames`. If specified, this must have the same length as `packFormulaNames`."
required: false
type: array
items:
type: string
collectionFormat: csv
x-example: "action,formula"
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: sinceDate
in: query
description: Limit results to activity on or after this date.
required: false
type: string
format: date
x-example: 2020-08-01
- name: untilDate
in: query
description: Limit results to activity on or before this date.
required: false
type: string
format: date
x-example: 2020-08-05
- name: scale
in: query
description: Quantization period over which to view analytics. Defaults to daily.
required: false
type: string
x-example: daily
enum:
- daily
- cumulative
x-schema-name: AnalyticsScale
x-tsEnumNames:
- Daily
- Cumulative
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: orderBy
in: query
description: Use this parameter to order the Pack formula analytics returned.
required: false
type: string
enum:
- date
- formulaName
- formulaType
- formulaInvocations
- medianLatencyMs
- medianResponseSizeBytes
- errors
- docsActivelyUsing
- docsActivelyUsing7Day
- docsActivelyUsing30Day
- docsActivelyUsing90Day
- docsActivelyUsingAllTime
- workspacesActivelyUsing
- workspacesActivelyUsing7Day
- workspacesActivelyUsing30Day
- workspacesActivelyUsing90Day
- workspacesActivelyUsingAllTime
x-schema-name: PackFormulaAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- FormulaName
- FormulaType
- FormulaInvocations
- MedianLatencyMs
- MedianResponseSizeBytes
- Errors
- DocsActivelyUsing
- DocsActivelyUsing7Day
- DocsActivelyUsing30Day
- DocsActivelyUsing90Day
- DocsActivelyUsingAllTime
- WorkspacesActivelyUsing
- WorkspacesActivelyUsing7Day
- WorkspacesActivelyUsing30Day
- WorkspacesActivelyUsing90Day
- WorkspacesActivelyUsingAllTime
- name: direction
in: query
description: Direction to sort results in.
required: false
type: string
enum:
- ascending
- descending
x-schema-name: SortDirection
x-tsEnumNames:
- Ascending
- Descending
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 1000
maximum: 5000
minimum: 1
x-example: 10
responses:
"200":
description: Response of Coda Pack formula analytics.
schema:
$ref: '#/definitions/PackFormulaAnalyticsCollection'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/analytics/updated:
get:
tags:
- Analytics
summary: Get analytics last updated day
description: |
Returns days based on Pacific Standard Time when analytics were last updated.
operationId: getAnalyticsLastUpdated
produces:
- application/json
parameters: []
responses:
"200":
description: Response of analytics last updated days.
schema:
$ref: '#/definitions/AnalyticsLastUpdatedResponse'
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/workspaces/{workspaceId}/users:
get:
tags:
- Workspaces
summary: List workspace users
description: |
Returns a list of members in the given workspace. This list will be ordered with the requesting user first and then ordered by role.
operationId: listWorkspaceMembers
produces:
- application/json
parameters:
- name: workspaceId
in: path
description: ID of the workspace.
required: true
type: string
x-example: ws-1Ab234
- name: includedRoles
in: query
description: Show only the members that match the included roles. Multiple roles can be specified with a comma-delimited list.
required: false
type: array
items:
type: string
collectionFormat: csv
x-example: "Editor,DocMaker"
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
responses:
"200":
description: List of workspace members matching the query.
schema:
$ref: '#/definitions/WorkspaceMembersList'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/workspaces/<your workspace id>/users'
params = {
'limit': 10,
}
res = requests.get(uri, headers=headers, params=params).json()
print(f'First user is: {res["items"][0]["email"]}')
# => First user is: [email protected]
/workspaces/{workspaceId}/users/role:
post:
tags:
- Workspaces
summary: Updates user role
description: |
Updates the workspace user role of a user that matches the parameters. Only succeeds if the requesting user has admin permissions in the workspace.
operationId: changeUserRole
consumes:
- application/json
produces:
- application/json
parameters:
- name: workspaceId
in: path
description: ID of the workspace.
required: true
type: string
x-example: ws-1Ab234
- in: body
name: body
description: Parameters for changing the user role.
required: true
schema:
$ref: '#/definitions/ChangeRole'
responses:
"200":
description: User's info that was updated.
schema:
$ref: '#/definitions/ChangeRoleResult'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/workspaces/<your workspace id>/users/role'
params = {
'limit': 10,
}
res = requests.post(uri, headers=headers, params=params).json()
print(f'First user is: {res["items"][0]["email"]}')
# => First user is: [email protected]
/workspaces/{workspaceId}/roles:
get:
tags:
- Workspaces
summary: List workspace roles
description: |
Returns a list of the counts of users over time by role for the workspace.
operationId: listWorkspaceRoleActivity
produces:
- application/json
parameters:
- name: workspaceId
in: path
description: ID of the workspace.
required: true
type: string
x-example: ws-1Ab234
responses:
"200":
description: List of role activity over time for the workspace.
schema:
$ref: '#/definitions/GetWorkspaceRoleActivity'
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/workspaces/<your workspace id>/roles'
params = {
'limit': 10,
}
res = requests.get(uri, headers=headers, params=params).json()
print(f'First month is: {res["items"][0]["month"]}')
# => First month is: 2020-09-15
/packs:
get:
tags:
- Packs
summary: List Packs
description: |
Get the list of accessible Packs.
operationId: listPacks
produces:
- application/json
parameters:
- name: accessType
in: query
description: "Deprecated, use accessTypes instead. Filter to only return the Packs for which the current user has this access type"
required: false
type: string
x-example: edit
enum:
- view
- test
- edit
- admin
x-schema-name: PackAccessType
x-tsEnumNames:
- View
- Test
- Edit
- Admin
- name: accessTypes
in: query
description: Filter to only return the Packs for which the current user has these access types.
required: false
type: array
items:
type: string
collectionFormat: csv
x-example: edit
- name: sortBy
in: query
description: The sort order of the Packs returned.
required: false
type: string
x-example: "true"
enum:
- title
- createdAt
- updatedAt
x-schema-name: PacksSortBy
x-tsEnumNames:
- Title
- CreatedAt
- UpdatedAt
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: direction
in: query
description: Direction to sort results in.
required: false
type: string
enum:
- ascending
- descending
x-schema-name: SortDirection
x-tsEnumNames:
- Ascending
- Descending
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: onlyWorkspaceId
in: query
description: Use only this workspace (not all of a user's workspaces) to check for Packs shared via workspace ACL.
required: false
type: string
- name: parentWorkspaceIds
in: query
description: Filter to only Packs whose parent workspace is one of the given IDs.
required: false
type: array
items:
type: string
collectionFormat: csv
- name: excludePublicPacks
in: query
description: "Only get Packs shared with users/workspaces, not publicly."
required: false
type: boolean
- name: excludeIndividualAcls
in: query
description: Do not include Packs that are only shared with the user individually.
required: false
type: boolean
- name: excludeWorkspaceAcls
in: query
description: Do not include Packs that are only shared with workspaces.
required: false
type: boolean
responses:
"200":
description: List of Pack summaries.
schema:
$ref: '#/definitions/PackSummaryList'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
post:
tags:
- Packs
summary: Create Pack
description: |
Creates a new Pack, essentially registering a new Pack ID. The contents of the Pack will be uploaded separately.
operationId: createPack
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: body
description: Parameters for creating the Pack.
required: true
schema:
$ref: '#/definitions/CreatePackRequest'
responses:
"200":
description: Info about the Pack that was just created.
schema:
$ref: '#/definitions/CreatePackResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
x-codeSamples:
- label: Python 3.7
lang: python
source: |
import requests
headers = {'Authorization': 'Bearer <your API token>'}
uri = 'https://coda.io/apis/v1/packs'
res = requests.post(uri, headers=headers).json()
print(f'Your new Pack ID is {res["packId"]}')
# => Your new Pack ID is 123
- label: Shell
lang: shell
source: |
curl -s -H 'Authorization: Bearer <your API token>' \
'https://coda.io/apis/v1/packs' |
jq .packId
# => 123
- label: Google Apps Script
lang: javascript
source: |
// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('<your API token>');
Logger.log('Your new Pack ID is ' + CodaAPI.createPack().packId);
// => Your new Pack ID is 123
/packs/{packId}:
get:
tags:
- Packs
summary: Get a single Pack
description: |
Returns a single Pack.
operationId: getPack
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: The requested Pack.
schema:
$ref: '#/definitions/Pack'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
delete:
tags:
- Packs
summary: Delete Pack
description: |
Delete a given Pack.
operationId: deletePack
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: Confirmation that the Pack deletion was successful.
schema:
$ref: '#/definitions/DeletePackResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
patch:
tags:
- Packs
summary: Update Pack
description: |
Update an existing Pack for non-versioned fields.
operationId: updatePack
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters for updating the Pack.
required: true
schema:
$ref: '#/definitions/UpdatePackRequest'
responses:
"200":
description: Info about the Pack that was just updated.
schema:
$ref: '#/definitions/Pack'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/configurations/schema:
get:
tags:
- Packs
summary: Gets the JSON Schema for Pack configuration.
description: |
Returns a JSON Schema applicable for customizing the pack using Pack configurations.
operationId: getPackConfigurationSchema
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: Response containing the JSON Schema of the pack configuration.
schema:
$ref: '#/definitions/GetPackConfigurationJsonSchemaResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/versions:
get:
tags:
- Packs
summary: List the versions for a Pack.
description: |
Get the list of versions of a Pack.
operationId: listPackVersions
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
responses:
"200":
description: List of Pack versions.
schema:
$ref: '#/definitions/PackVersionList'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/nextVersion:
post:
tags:
- Packs
summary: Get the next valid version for a Pack.
description: |
Get the next valid version based on the proposed metadata.
operationId: getNextPackVersion
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
required: false
schema:
$ref: '#/definitions/GetNextPackVersionRequest'
responses:
"200":
description: Next Pack version info.
schema:
$ref: '#/definitions/NextPackVersionInfo'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/versions/{basePackVersion}/diff/{targetPackVersion}:
get:
tags:
- Packs
summary: Get the difference between two pack versions.
description: |
Gets information about the difference between the specified previous version and next version of a Pack.
operationId: getPackVersionDiffs
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: basePackVersion
in: path
description: Semantic version of the previous Pack version.
required: true
type: string
x-example: 1.2.3
- name: targetPackVersion
in: path
description: Semantic version of the new Pack version.
required: true
type: string
x-example: 1.2.3
responses:
"200":
description: Diffs between the two pack versions.
schema:
$ref: '#/definitions/PackVersionDiffs'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/versions/{packVersion}/register:
post:
tags:
- Packs
summary: Register Pack version
description: |
Registers a new Pack version. This simply returns a signed URL to use for uploading the Pack version definition. Following the completion of the upload, POST to /apis/v1/packs/{packId}/versions/{packVersion} trigger the rest of the creation process.
operationId: registerPackVersion
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: packVersion
in: path
description: Semantic version of a Pack
required: true
type: string
x-example: 1.2.3
- in: body
name: body
description: Parameters for registering the Pack.
required: true
schema:
$ref: '#/definitions/RegisterPackVersionRequest'
responses:
"200":
description: The information indicating where to upload the Pack version definition.
schema:
$ref: '#/definitions/PackVersionUploadInfo'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/versions/{packVersion}/uploadComplete:
post:
tags:
- Packs
summary: Pack version upload complete
description: |
Note the completion of the upload of a Pack version bundle in order to create that Pack version.
operationId: packVersionUploadComplete
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: packVersion
in: path
description: Semantic version of a Pack
required: true
type: string
x-example: 1.2.3
- in: body
name: body
description: Parameters for Pack version upload complete.
required: true
schema:
$ref: '#/definitions/CreatePackVersionRequest'
responses:
"200":
description: Confirmation of successful Pack version creation.
schema:
$ref: '#/definitions/CreatePackVersionResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/releases:
get:
tags:
- Packs
summary: List the releases for a Pack.
description: |
Get the list of releases of a Pack.
operationId: listPackReleases
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
responses:
"200":
description: List of Pack releases.
schema:
$ref: '#/definitions/PackReleaseList'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
post:
tags:
- Packs
summary: Create a new Pack release.
description: |
Creates a new Pack release based on an existing Pack version.
operationId: createPackRelease
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters to create the Pack release.
required: true
schema:
$ref: '#/definitions/CreatePackReleaseRequest'
responses:
"200":
description: The newly created Pack release.
schema:
$ref: '#/definitions/PackRelease'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/releases/{packReleaseId}:
put:
tags:
- Packs
summary: Update an existing Pack release.
description: |
Update details of a Pack release.
operationId: updatePackRelease
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: packReleaseId
in: path
description: ID of a Pack release
required: true
type: integer
minimum: 1
x-example: 2
- in: body
name: body
description: Parameters to update the Pack release.
required: true
schema:
$ref: '#/definitions/UpdatePackReleaseRequest'
responses:
"200":
description: The updated Pack release.
schema:
$ref: '#/definitions/PackRelease'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/oauthConfig:
get:
tags:
- Packs
summary: Retrieve the OAuth configuration of the Pack.
description: |
Retrieve the OAuth configuration of the Pack for display purpose. Secrets will be returned with masks.
operationId: getPackOauthConfig
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: The Pack's OAuth configuration.
schema:
$ref: '#/definitions/PackOauthConfigMetadata'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
put:
tags:
- Packs
summary: Set the OAuth configurations of the Pack.
description: |
Set the OAuth configurations of the Pack, including client id and secret.
operationId: setPackOauthConfig
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters to set the Pack OAuth configuration.
required: true
schema:
$ref: '#/definitions/SetPackOauthConfigRequest'
responses:
"200":
description: The updated OAuth configuration.
schema:
$ref: '#/definitions/PackOauthConfigMetadata'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/systemConnection:
get:
tags:
- Packs
summary: Retrieve the system connection metadata of the Pack.
description: |
Retrieve the system connection metadata of the Pack.
operationId: getPackSystemConnection
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: The system connection metadata.
schema:
$ref: '#/definitions/PackSystemConnectionMetadata'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
put:
tags:
- Packs
summary: Set the system connection credentials of the Pack.
description: |
Set the system connection credentials of the Pack.
operationId: setPackSystemConnection
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters to set the Pack system connection credentials.
required: true
schema:
$ref: '#/definitions/SetPackSystemConnectionRequest'
responses:
"200":
description: The updated system connection.
schema:
$ref: '#/definitions/PackSystemConnectionMetadata'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
patch:
tags:
- Packs
summary: Patch the system connection credentials of the Pack.
description: |
Patch the system connection credentials of the Pack.
operationId: patchPackSystemConnection
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters to patch the Pack system connection credentials.
required: true
schema:
$ref: '#/definitions/PatchPackSystemConnectionRequest'
responses:
"200":
description: The updated system connection.
schema:
$ref: '#/definitions/PackSystemConnectionMetadata'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/permissions:
get:
tags:
- Packs
summary: List permissions for a Pack
description: |
Get user, workspace, and/or global permissions for a given Pack.
operationId: getPackPermissions
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: List of Pack permissions.
schema:
$ref: '#/definitions/PackPermissionList'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
post:
tags:
- Packs
summary: Add a permission for Pack
description: |
Create or modify user, workspace, or global permissions for a given Pack.
operationId: addPackPermission
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters for creating/updating Pack permissions.
required: true
schema:
$ref: '#/definitions/AddPackPermissionRequest'
responses:
"200":
description: Confirmation of successfully upserting a Pack permission.
schema:
$ref: '#/definitions/AddPackPermissionResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/permissions/{permissionId}:
delete:
tags:
- Packs
summary: Delete a permission for Pack
description: |
Delete user, workspace, or global permissions for a given Pack.
operationId: deletePackPermission
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: permissionId
in: path
description: ID of a permission on a doc.
required: true
type: string
x-example: AbCDeFGH
responses:
"200":
description: Confirmation of successfully deleting a Pack permission.
schema:
$ref: '#/definitions/DeletePackPermissionResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/makers:
get:
tags:
- Packs
summary: List makers for Pack
description: |
List makers for a given pack.
operationId: listPackMakers
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: Confirmation of successfully retrieving Pack makers
schema:
$ref: '#/definitions/ListPackMakersResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/maker:
post:
tags:
- Packs
summary: Add a maker for Pack
description: |
Set a maker for a given Pack. Used to display makers for a pack in the corresponding packs page.
operationId: addPackMaker
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Payload for adding a Pack maker.
required: true
schema:
$ref: '#/definitions/AddPackMakerRequest'
responses:
"200":
description: Confirmation of successfully adding a Pack maker.
schema:
$ref: '#/definitions/AddPackMakerResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/maker/{loginId}:
delete:
tags:
- Packs
summary: Delete a maker for Pack
description: |
Delete a maker for a given Pack, who will not be displayed in the corresponding packs page.
operationId: deletePackMaker
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: loginId
in: path
description: Email of a Coda user.
required: true
type: string
x-example: [email protected]
responses:
"200":
description: Confirmation of successfully deleting a Pack maker.
schema:
$ref: '#/definitions/DeletePackMakerResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/categories:
get:
tags:
- Packs
summary: List categories for Pack
description: |
List publishing categories for a given pack.
operationId: listPackCategories
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: Confirmation of successfully retrieving Pack categories
schema:
$ref: '#/definitions/ListPackCategoriesResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/category:
post:
tags:
- Packs
summary: Add a category for Pack
description: |
Add a publishing category for a given pack.
operationId: addPackCategory
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Payload for adding a Pack category.
required: true
schema:
$ref: '#/definitions/AddPackCategoryRequest'
responses:
"200":
description: Confirmation of successfully adding a Pack category
schema:
$ref: '#/definitions/AddPackCategoryResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/category/{categoryName}:
delete:
tags:
- Packs
summary: Delete a category for Pack
description: |
Delete a publishing category for a given pack.
operationId: deletePackCategory
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: categoryName
in: path
description: Name of a publishing category
required: true
type: string
x-example: Project management
responses:
"200":
description: Confirmation of successfully deleting a Pack category
schema:
$ref: '#/definitions/DeletePackCategoryResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/uploadAsset:
post:
tags:
- Packs
summary: Upload a Pack asset.
description: |
Request a signed s3 URL to upload your Pack asset.
operationId: uploadPackAsset
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters to specify the asset being uploaded.
required: true
schema:
$ref: '#/definitions/UploadPackAssetRequest'
responses:
"200":
description: The information indicating where to upload the Pack asset.
schema:
$ref: '#/definitions/PackAssetUploadInfo'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/uploadSourceCode:
post:
tags:
- Packs
summary: Upload Pack source code.
description: |
Request a signed s3 URL to upload your Pack source code.
operationId: uploadPackSourceCode
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters to specify the source code being uploaded.
required: true
schema:
$ref: '#/definitions/UploadPackSourceCodeRequest'
responses:
"200":
description: The information indicating where to upload the Pack source code.
schema:
$ref: '#/definitions/PackSourceCodeUploadInfo'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/assets/{packAssetId}/assetType/{packAssetType}/uploadComplete:
post:
tags:
- Packs
summary: Pack asset upload complete
description: |
Note the completion of the upload of a Pack asset.
operationId: packAssetUploadComplete
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: packAssetId
in: path
description: Unique identifier for a Pack asset.
required: true
type: string
- name: packAssetType
in: path
description: Pack asset type.
required: true
type: string
enum:
- logo
- cover
- exampleImage
x-schema-name: PackAssetType
x-tsEnumNames:
- Logo
- Cover
- ExampleImage
responses:
"200":
description: Confirmation of successful Pack asset creation.
schema:
$ref: '#/definitions/PackAssetUploadCompleteResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/versions/{packVersion}/sourceCode/uploadComplete:
post:
tags:
- Packs
summary: Pack source code upload complete
description: |
Note the completion of the upload of a Pack source code.
operationId: packSourceCodeUploadComplete
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: packVersion
in: path
description: Semantic version of a Pack
required: true
type: string
x-example: 1.2.3
- in: body
name: body
description: Parameters to specify the source code being uploaded.
required: true
schema:
$ref: '#/definitions/PackSourceCodeUploadCompleteRequest'
responses:
"200":
description: Confirmation of successful Pack asset creation.
schema:
$ref: '#/definitions/PackSourceCodeUploadCompleteResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/versions/{packVersion}/sourceCode:
get:
tags:
- Packs
summary: get the source code for a Pack version.
description: |
Get temporary links used to download the source code for the given packId and version
operationId: getPackSourceCode
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: packVersion
in: path
description: Semantic version of a Pack
required: true
type: string
x-example: 1.2.3
responses:
"200":
description: The source code associated with the given packId/version
schema:
$ref: '#/definitions/PackSourceCodeInfo'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/listings:
get:
tags:
- Packs
summary: List the Pack listings accessible to a user.
description: |
Get listings of public Packs and Packs created by you.
operationId: listPackListings
produces:
- application/json
parameters:
- name: packAccessTypes
in: query
description: Pack access types.
required: false
type: array
items:
type: string
collectionFormat: csv
x-schema-name: PackAccessTypes
- name: packIds
in: query
description: Which Pack IDs to fetch.
required: false
type: array
items:
type: integer
collectionFormat: csv
- name: onlyWorkspaceId
in: query
description: Use only this workspace (not all of a user's workspaces) to check for Packs shared via workspace ACL.
required: false
type: string
- name: parentWorkspaceIds
in: query
description: Filter to only Packs whose parent workspace is one of the given IDs.
required: false
type: array
items:
type: string
collectionFormat: csv
- name: excludePublicPacks
in: query
description: "Only get Packs shared with users/workspaces, not publicly."
required: false
type: boolean
- name: excludeWorkspaceAcls
in: query
description: Do not include Packs that are only shared with workspaces.
required: false
type: boolean
- name: excludeIndividualAcls
in: query
description: Do not include Packs that are only shared with the user individually.
required: false
type: boolean
- name: sortBy
in: query
description: Specify a sort order for the returned Pack listings returned.
required: false
type: string
enum:
- packId
- name
- packVersion
- packVersionModifiedAt
x-schema-name: PackListingsSortBy
x-tsEnumNames:
- PackId
- Name
- PackVersion
- PackVersionModifiedAt
- name: orderBy
in: query
description: "Deprecated: use sortBy instead."
required: false
type: string
enum:
- packId
- name
- packVersion
- packVersionModifiedAt
x-schema-name: PackListingsSortBy
x-tsEnumNames:
- PackId
- Name
- PackVersion
- PackVersionModifiedAt
- name: direction
in: query
description: Direction to sort results in.
required: false
type: string
enum:
- ascending
- descending
x-schema-name: SortDirection
x-tsEnumNames:
- Ascending
- Descending
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
responses:
"200":
description: Public Pack listings and Pack listings created by you.
schema:
$ref: '#/definitions/PackListingList'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/listing:
get:
tags:
- Packs
summary: Get detailed listing information for a Pack.
description: |
Get detailed listing information for a Pack.
operationId: getPackListing
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: workspaceId
in: query
description: ID of the target workspace (if applicable) for checking installation privileges.
required: false
type: string
x-example: ws-1Ab234
- name: docId
in: query
description: ID of the target document for checking installation privileges
required: false
type: string
x-example: fleHfrkw3L
responses:
"200":
description: The Pack listing detail.
schema:
$ref: '#/definitions/PackListingDetail'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/docs/{docId}/logs:
get:
tags:
- Packs
summary: Retrieve the logs of a Pack.
description: |
Retrieve the logs of a Pack for debugging purpose.
operationId: listPackLogs
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
maximum: 100
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: logTypes
in: query
description: Only return logs of the given types.
required: false
type: array
items:
type: string
collectionFormat: csv
x-example: "fetcher,custom"
- name: beforeTimestamp
in: query
description: |
Only return logs before the given time (non-inclusive).
required: false
type: string
format: date-time
x-example: 2018-04-11T00:18:57.946Z
- name: afterTimestamp
in: query
description: |
Only return logs after the given time (non-inclusive).
required: false
type: string
format: date-time
x-example: 2018-04-11T00:18:57.946Z
- name: order
in: query
description: |
Specifies if the logs will be returned in time desc or asc. Default is desc.
required: false
type: string
enum:
- asc
- desc
- name: q
in: query
description: |
A search query that follows Lucene syntax.
required: false
type: string
x-example: context.doc_id:"fleHfrkw3L" AND event.action:"FormulaRequest"
x-allow-empty: true
- name: requestIds
in: query
description: Only return logs matching provided request IDs.
required: false
type: array
items:
type: string
collectionFormat: csv
x-example: "416faabf,4127faag"
responses:
"200":
description: Pack logs.
schema:
$ref: '#/definitions/PackLogsList'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/docs/{docId}/groupedLogs:
get:
tags:
- Packs
summary: Retrieve the grouped logs of a Pack.
description: |
Retrieve the grouped logs of a Pack for debugging purpose.
operationId: listGroupedPackLogs
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- name: limit
in: query
description: Maximum number of results to return in this query.
required: false
type: integer
default: 25
maximum: 100
minimum: 1
x-example: 10
- name: pageToken
in: query
description: An opaque token used to fetch the next page of results.
required: false
type: string
x-example: eyJsaW1pd
- name: docId
in: path
description: ID of the doc.
required: true
type: string
x-example: AbCDeFGH
- name: beforeTimestamp
in: query
description: |
Only return logs before the given time (non-inclusive).
required: false
type: string
format: date-time
x-example: 2018-04-11T00:18:57.946Z
- name: afterTimestamp
in: query
description: |
Only return logs after the given time (non-inclusive).
required: false
type: string
format: date-time
x-example: 2018-04-11T00:18:57.946Z
- name: order
in: query
description: |
Specifies if the logs will be returned in time desc or asc. Default is desc.
required: false
type: string
enum:
- asc
- desc
- name: q
in: query
description: |
A search query that follows Lucene syntax.
required: false
type: string
x-example: context.doc_id:"fleHfrkw3L" AND event.action:"FormulaRequest"
x-allow-empty: true
responses:
"200":
description: Grouped pack logs.
schema:
$ref: '#/definitions/GroupedPackLogsList'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: {}
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
/packs/{packId}/featuredDocs:
get:
tags:
- Packs
summary: List featured docs for a Pack
description: |
Returns a list of featured doc ids for a Pack.
operationId: listPackFeaturedDocs
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
responses:
"200":
description: The featured docs for a Pack.
schema:
$ref: '#/definitions/PackFeaturedDocsResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
put:
tags:
- Packs
summary: Update featured docs for a Pack
description: |
Create or replace the featured docs for a Pack.
operationId: updatePackFeaturedDocs
consumes:
- application/json
produces:
- application/json
parameters:
- name: packId
in: path
description: ID of a Pack
required: true
type: integer
minimum: 1
x-example: 123
- in: body
name: body
description: Parameters for updating the Pack's featured docs.
required: true
schema:
$ref: '#/definitions/UpdatePackFeaturedDocsRequest'
responses:
"200":
description: Update Pack's featured docs success response
schema:
$ref: '#/definitions/UpdatePackFeaturedDocsResponse'
"400":
description: The request parameters did not conform to expectations.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 400.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Bad Request
description: HTTP status message of the error.
message:
type: string
example: Bad Request
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"401":
description: The API token is invalid or has expired.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 401.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Unauthorized
description: HTTP status message of the error.
message:
type: string
example: Unauthorized
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"403":
description: The API token does not grant access to this resource.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 403.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Forbidden
description: HTTP status message of the error.
message:
type: string
example: Forbidden
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"404":
description: The resource could not be located with the current API token.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 404.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Not Found
description: HTTP status message of the error.
message:
type: string
example: Not Found
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
"429":
description: The client has sent too many requests.
schema:
type: object
required:
- message
- statusCode
- statusMessage
properties:
statusCode:
type: number
example: 429.0
description: HTTP status code of the error.
statusMessage:
type: string
example: Too Many Requests
description: HTTP status message of the error.
message:
type: string
example: Too Many Requests
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
description: An HTTP error resulting from an unsuccessful request.
additionalProperties: {}
securityDefinitions:
Bearer:
type: apiKey
name: Authorization
in: header
definitions:
Type:
type: string
description: A constant identifying the type of the resource.
enum:
- aclMetadata
- aclPermissions
- aclSettings
- analyticsLastUpdated
- apiLink
- automation
- column
- control
- doc
- customDocDomain
- customDocDomainProvider
- docAnalytics
- docAnalyticsSummary
- docAnalyticsV2
- folder
- formula
- mutationStatus
- pack
- packAclPermissions
- packAnalytics
- packAnalyticsSummary
- packAsset
- packCategory
- packConfigurationSchema
- packFeaturedDocs
- packFormulaAnalytics
- packLog
- packMaker
- packOauthConfig
- packRelease
- packSourceCode
- packSystemConnection
- packVersion
- page
- pageContentExport
- pageContentExportStatus
- principal
- row
- table
- user
- workspace
x-schema-name: Type
x-tsEnumNames:
- AclMetadata
- AclPermissions
- AclSettings
- AnalyticsLastUpdated
- ApiLink
- Automation
- Column
- Control
- Doc
- CustomDocDomain
- CustomDocDomainProvider
- DocAnalytics
- DocAnalyticsSummary
- DocAnalyticsV2
- Folder
- Formula
- MutationStatus
- Pack
- PackAclPermissions
- PackAnalytics
- PackAnalyticsSummary
- PackAsset
- PackCategory
- PackConfigurationSchema
- PackFeaturedDocs
- PackFormulaAnalytics
- PackLog
- PackMaker
- PackOauthConfig
- PackRelease
- PackSourceCode
- PackSystemConnection
- PackVersion
- Page
- PageContentExport
- PageContentExportStatus
- Principal
- Row
- Table
- User
- Workspace
PrincipalType:
type: string
description: Type of principal.
enum:
- email
- group
- domain
- anyone
x-schema-name: PrincipalType
x-tsEnumNames:
- Email
- Group
- Domain
- Anyone
AddedPrincipal:
description: Metadata about a principal to add to a doc.
x-schema-name: AddedPrincipal
AddedEmailPrincipal:
type: object
required:
- email
- type
properties:
type:
type: string
description: The type of this principal.
enum:
- email
x-tsType: PrincipalType.Email
email:
type: string
example: [email protected]
description: Email for the principal.
additionalProperties: {}
AddedGroupPrincipal:
type: object
required:
- groupId
- type
properties:
type:
type: string
description: The type of this principal.
enum:
- group
x-tsType: PrincipalType.Group
groupId:
type: string
example: grp-6SM9xrKcqW
description: Group ID for the principal.
additionalProperties: {}
AddedDomainPrincipal:
type: object
required:
- domain
- type
properties:
type:
type: string
description: The type of this principal.
enum:
- domain
x-tsType: PrincipalType.Domain
domain:
type: string
example: domain.com
description: Domain for the principal.
additionalProperties: {}
AddedAnyonePrincipal:
type: object
required:
- type
properties:
type:
type: string
description: The type of this principal.
enum:
- anyone
x-tsType: PrincipalType.Anyone
additionalProperties: {}
Principal:
description: Metadata about a principal.
x-schema-name: Principal
EmailPrincipal:
type: object
required:
- email
- type
properties:
type:
type: string
description: The type of this principal.
enum:
- email
x-tsType: PrincipalType.Email
email:
type: string
example: [email protected]
description: Email for the principal.
additionalProperties: {}
GroupPrincipal:
type: object
required:
- groupId
- groupName
- type
properties:
type:
type: string
description: The type of this principal.
enum:
- group
x-tsType: PrincipalType.Group
groupId:
type: string
example: grp-6SM9xrKcqW
description: Group ID for the principal.
groupName:
type: string
example: Marketing team
description: Name of the group.
additionalProperties: {}
DomainPrincipal:
type: object
required:
- domain
- type
properties:
type:
type: string
description: The type of this principal.
enum:
- domain
x-tsType: PrincipalType.Domain
domain:
type: string
example: domain.com
description: Domain for the principal.
additionalProperties: {}
AnyonePrincipal:
type: object
required:
- type
properties:
type:
type: string
description: The type of this principal.
enum:
- anyone
x-tsType: PrincipalType.Anyone
additionalProperties: {}
AccessType:
type: string
description: Type of access.
enum:
- readonly
- write
- comment
- none
x-schema-name: AccessType
x-tsEnumNames:
- ReadOnly
- Write
- Comment
- None
AccessTypeNotNone:
type: string
description: Type of access (excluding none).
enum:
- readonly
- write
- comment
x-schema-name: AccessTypeNotNone
x-tsEnumNames:
- ReadOnly
- Write
- Comment
Permission:
type: object
required:
- access
- id
- principal
properties:
principal:
$ref: '#/definitions/Principal'
id:
type: string
description: Id for the Permission
access:
$ref: '#/definitions/AccessType'
description: A specific permission granted to a principal.
additionalProperties: {}
x-schema-name: Permission
AddPermissionRequest:
type: object
required:
- access
- principal
properties:
access:
$ref: '#/definitions/AccessTypeNotNone'
principal:
$ref: '#/definitions/AddedPrincipal'
suppressEmail:
type: boolean
description: When true suppresses email notification
description: Payload for granting a new permission.
additionalProperties: {}
x-schema-name: AddPermissionRequest
Acl:
type: object
required:
- href
- items
properties:
items:
type: array
items:
$ref: '#/definitions/Permission'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/acl?limit=20
description: API link to these results
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of Permissions.
additionalProperties: {}
x-schema-name: Acl
AclMetadata:
type: object
required:
- canCopy
- canShare
- canShareWithOrg
properties:
canShare:
type: boolean
description: "When true, the user of the api can share"
canShareWithOrg:
type: boolean
description: "When true, the user of the api can share with the org"
canCopy:
type: boolean
description: "When true, the user of the api can copy the doc"
description: Doc level metadata associated with ACL.
additionalProperties: {}
x-schema-name: Acl
AclSettings:
type: object
required:
- allowCopying
- allowEditorsToChangePermissions
- allowViewersToRequestEditing
properties:
allowEditorsToChangePermissions:
type: boolean
description: |
When true, allows editors to change doc permissions. When false, only doc owner can change doc permissions.
allowCopying:
type: boolean
description: "When true, allows doc viewers to copy the doc."
allowViewersToRequestEditing:
type: boolean
description: "When true, allows doc viewers to request editing permissions."
description: Sharing settings for the doc.
additionalProperties: {}
x-schema-name: AclSettings
AddPermissionResult:
type: object
description: The result of sharing a doc.
additionalProperties: {}
x-schema-name: AddPermissionResult
DeletePermissionResult:
type: object
description: The result of deleting a permission.
additionalProperties: {}
x-schema-name: DeletePermissionResult
SearchPrincipalsResponse:
type: object
required:
- groups
- users
properties:
users:
type: array
items:
$ref: '#/definitions/UserSummary'
groups:
type: array
items:
$ref: '#/definitions/GroupPrincipal'
description: Metadata about the principals that match the given query.
additionalProperties: {}
x-schema-name: SearchPrincipalsResponse
UpdateAclSettingsRequest:
type: object
properties:
allowEditorsToChangePermissions:
type: boolean
description: |
When true, allows editors to change doc permissions. When false, only doc owner can change doc permissions.
allowCopying:
type: boolean
description: "When true, allows doc viewers to copy the doc."
allowViewersToRequestEditing:
type: boolean
description: "When true, allows doc viewers to request editing permissions."
description: Request to update ACL settings for a doc.
additionalProperties: {}
x-schema-name: UpdateAclSettingsRequest
DocReference:
type: object
required:
- browserLink
- href
- id
- type
properties:
id:
type: string
example: AbCDeFGH
description: ID of the Coda doc.
type:
type: string
description: The type of this resource.
enum:
- doc
x-tsType: Type.Doc
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH
description: API link to the Coda doc.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH
description: Browser-friendly link to the Coda doc.
description: Reference to a Coda doc.
additionalProperties: {}
x-schema-name: DocReference
Doc:
type: object
required:
- browserLink
- createdAt
- folder
- folderId
- href
- id
- name
- owner
- ownerName
- type
- updatedAt
- workspace
- workspaceId
properties:
id:
type: string
example: AbCDeFGH
description: ID of the Coda doc.
type:
type: string
description: The type of this resource.
enum:
- doc
x-tsType: Type.Doc
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH
description: API link to the Coda doc.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH
description: Browser-friendly link to the Coda doc.
icon:
$ref: '#/definitions/Icon'
name:
type: string
example: Product Launch Hub
description: Name of the doc.
owner:
type: string
format: email
example: [email protected]
description: Email address of the doc owner.
ownerName:
type: string
example: Some User
description: Name of the doc owner.
docSize:
$ref: '#/definitions/DocSize'
sourceDoc:
$ref: '#/definitions/Acl_nextPageLink'
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the doc was created.
updatedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the doc was last modified.
published:
$ref: '#/definitions/DocPublished'
folder:
$ref: '#/definitions/FolderReference'
workspace:
$ref: '#/definitions/WorkspaceReference'
workspaceId:
type: string
example: ws-1Ab234
description: ID of the Coda workspace containing this doc.
x-deprecated: true
folderId:
type: string
example: fl-1Ab234
description: ID of the Coda folder containing this doc.
x-deprecated: true
description: Metadata about a Coda doc.
additionalProperties: {}
x-schema-name: Doc
DocCategory:
type: object
required:
- name
properties:
name:
type: string
example: Project Management
description: Name of the category.
description: The category applied to a doc.
additionalProperties: {}
x-schema-name: DocCategory
DocCategoryList:
type: object
required:
- items
properties:
items:
type: array
description: Categories for the doc.
items:
$ref: '#/definitions/DocCategory'
description: A list of categories that can be applied to a doc.
additionalProperties: {}
x-schema-name: DocCategoryList
DocList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/Doc'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs?limit=20
description: API link to these results
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of Coda docs.
additionalProperties: {}
x-schema-name: DocList
DocCreate:
type: object
properties:
title:
type: string
example: Project Tracker
description: Title of the new doc. Defaults to 'Untitled'.
sourceDoc:
type: string
example: iJKlm_noPq
description: An optional doc ID from which to create a copy.
timezone:
type: string
example: America/Los_Angeles
description: The timezone to use for the newly created doc.
folderId:
type: string
example: fl-ABcdEFgHJi
description: |
The ID of the folder within which to create this doc. Defaults to your "My docs" folder in the oldest workspace you joined; this is subject to change. You can get this ID by opening the folder in the docs list on your computer and grabbing the `folderId` query parameter.
initialPage:
$ref: '#/definitions/Acl_nextPageLink'
description: Payload for creating a new doc.
additionalProperties: {}
x-schema-name: DocCreate
DocDelete:
type: object
description: The result of a doc deletion.
additionalProperties: {}
x-schema-name: DocDelete
DocSize:
type: object
required:
- overApiSizeLimit
- pageCount
- tableAndViewCount
- totalRowCount
properties:
totalRowCount:
type: number
example: 31337.0
description: The number of rows contained within all tables of the doc.
tableAndViewCount:
type: number
example: 42.0
description: The total number of tables and views contained within the doc.
pageCount:
type: number
example: 10.0
description: The total number of page contained within the doc.
overApiSizeLimit:
type: boolean
example: false
description: "If true, indicates that the doc is over the API size limit."
description: The number of components within a Coda doc.
additionalProperties: {}
x-schema-name: DocSize
DocPublish:
type: object
properties:
slug:
type: string
example: my-doc
description: Slug for the published doc.
discoverable:
type: boolean
example: true
description: "If true, indicates that the doc is discoverable."
earnCredit:
type: boolean
example: true
description: |
If true, new users may be required to sign in to view content within this document. You will receive Coda credit for each user who signs up via your doc.
categoryNames:
type: array
example:
- Project management
description: The names of categories to apply to the document.
items:
type: string
mode:
$ref: '#/definitions/DocPublishMode'
description: Payload for publishing a doc or or updating its publishing information.
additionalProperties: {}
x-schema-name: DocPublish
DocPublished:
type: object
required:
- browserLink
- categories
- discoverable
- earnCredit
- mode
properties:
description:
type: string
example: Hello World!
description: Description of the published doc.
browserLink:
type: string
example: https://coda.io/@coda/hello-world
description: URL to the published doc.
imageLink:
type: string
description: URL to the cover image for the published doc.
discoverable:
type: boolean
example: true
description: "If true, indicates that the doc is discoverable."
earnCredit:
type: boolean
example: true
description: |
If true, new users may be required to sign in to view content within this document. You will receive Coda credit for each user who signs up via your doc.
mode:
$ref: '#/definitions/DocPublishMode'
categories:
type: array
example:
- Project Management
description: Categories applied to the doc.
items:
$ref: '#/definitions/DocCategory'
description: Information about the publishing state of the document.
additionalProperties: {}
x-schema-name: DocPublished
DocPublishMode:
type: string
description: Which interaction mode the published doc should use.
enum:
- view
- play
- edit
x-schema-name: DocPublishMode
x-tsEnumNames:
- View
- Play
- Edit
PublishResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
additionalProperties: {}
description: The result of publishing a doc.
x-schema-name: PublishResult
UnpublishResult:
type: object
description: The result of unpublishing a doc.
additionalProperties: {}
x-schema-name: UnpublishResult
DocumentCreationResult:
type: object
required:
- browserLink
- createdAt
- folder
- folderId
- href
- id
- name
- owner
- ownerName
- type
- updatedAt
- workspace
- workspaceId
properties:
id:
type: string
example: AbCDeFGH
description: ID of the Coda doc.
type:
type: string
description: The type of this resource.
enum:
- doc
x-tsType: Type.Doc
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH
description: API link to the Coda doc.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH
description: Browser-friendly link to the Coda doc.
icon:
$ref: '#/definitions/Icon'
name:
type: string
example: Product Launch Hub
description: Name of the doc.
owner:
type: string
format: email
example: [email protected]
description: Email address of the doc owner.
ownerName:
type: string
example: Some User
description: Name of the doc owner.
docSize:
$ref: '#/definitions/DocSize'
sourceDoc:
$ref: '#/definitions/Acl_nextPageLink'
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the doc was created.
updatedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the doc was last modified.
published:
$ref: '#/definitions/DocPublished'
folder:
$ref: '#/definitions/FolderReference'
workspace:
$ref: '#/definitions/WorkspaceReference'
workspaceId:
type: string
example: ws-1Ab234
description: ID of the Coda workspace containing this doc.
x-deprecated: true
folderId:
type: string
example: fl-1Ab234
description: ID of the Coda folder containing this doc.
x-deprecated: true
requestId:
type: string
example: abc-123-def-456
description: An arbitrary unique identifier for this request.
description: The result of a doc creation.
additionalProperties: {}
x-schema-name: Doc
CustomDocDomainList:
type: object
required:
- customDocDomains
properties:
customDocDomains:
type: array
description: Custom domains for the published doc.
items:
$ref: '#/definitions/CustomDocDomain'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of all custom domains added to a published doc.
additionalProperties: {}
x-schema-name: CustomDocDomainList
CustomDocDomain:
type: object
required:
- customDocDomain
- domainStatus
- hasCertificate
- hasDnsDocId
- setupStatus
properties:
customDocDomain:
type: string
example: example.com
description: The custom domain.
hasCertificate:
type: boolean
example: true
description: Whether the domain has a certificate
hasDnsDocId:
type: boolean
example: true
description: Whether the domain DNS points back to this doc.
setupStatus:
$ref: '#/definitions/CustomDocDomainSetupStatus'
domainStatus:
$ref: '#/definitions/CustomDomainConnectedStatus'
lastVerifiedTimestamp:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: When the domain DNS settings were last checked.
description: The custom domain added to a published doc.
additionalProperties: {}
x-schema-name: CustomDocDomain
CustomDocDomainProvider:
type: string
enum:
- GoDaddy
- Namecheap
- Hover (Tucows)
- Network Solutions
- Google Domains
- Other
x-schema-name: CustomDocDomainProvider
x-tsEnumNames:
- GoDaddy
- Namecheap
- Hover
- NetworkSolutions
- GoogleDomains
- Other
CustomDocDomainSetupStatus:
type: string
enum:
- pending
- succeeded
- failed
x-schema-name: CustomDocDomainSetupStatus
x-tsEnumNames:
- Pending
- Succeeded
- Failed
CustomDomainConnectedStatus:
type: string
enum:
- connected
- notConnected
x-schema-name: CustomDomainConnectedStatus
x-tsEnumNames:
- Connected
- NotConnected
AddCustomDocDomainResponse:
type: object
description: The result of adding a custom domain to a published doc.
additionalProperties: {}
x-schema-name: AddCustomDocDomainResponse
AddCustomDocDomainRequest:
type: object
required:
- customDocDomain
properties:
customDocDomain:
type: string
example: example.com
description: The custom domain.
description: Payload for adding a custom published doc domain.
additionalProperties: {}
x-schema-name: AddCustomDocDomainRequest
UpdateCustomDocDomainResponse:
type: object
description: The result of updating a custom domain for a published doc.
additionalProperties: {}
x-schema-name: UpdateCustomDocDomainResponse
UpdateCustomDocDomainRequest:
type: object
description: Payload for updating the properties of a custom published doc domain.
additionalProperties: {}
x-schema-name: UpdateCustomDocDomainRequest
DeleteCustomDocDomainResponse:
type: object
description: The result of deleting a custom domain from a published doc.
additionalProperties: {}
x-schema-name: DeleteCustomDocDomainResponse
CustomDocDomainProviderResponse:
type: object
required:
- provider
properties:
provider:
$ref: '#/definitions/CustomDocDomainProvider'
description: The result of determining the domain provider for a custom doc domain.
additionalProperties: {}
x-schema-name: CustomDocDomainProviderResponse
PageReference:
type: object
required:
- browserLink
- href
- id
- name
- type
properties:
id:
type: string
example: canvas-IjkLmnO
description: ID of the page.
type:
type: string
description: The type of this resource.
enum:
- page
x-tsType: Type.Page
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/pages/canvas-IjkLmnO
description: API link to the page.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH/Launch-Status_sumnO
description: Browser-friendly link to the page.
name:
type: string
example: Launch Status
description: Name of the page.
description: Reference to a page.
additionalProperties: {}
x-schema-name: PageReference
Page:
type: object
required:
- browserLink
- children
- contentType
- href
- id
- name
- type
properties:
id:
type: string
example: canvas-IjkLmnO
description: ID of the page.
type:
type: string
description: The type of this resource.
enum:
- page
x-tsType: Type.Page
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/pages/canvas-IjkLmnO
description: API link to the page.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH/Launch-Status_sumnO
description: Browser-friendly link to the page.
name:
type: string
example: Launch Status
description: Name of the page.
subtitle:
type: string
example: See the status of launch-related tasks.
description: Subtitle of the page.
icon:
$ref: '#/definitions/Icon'
image:
$ref: '#/definitions/Image'
contentType:
$ref: '#/definitions/PageType'
parent:
$ref: '#/definitions/PageReference'
children:
type: array
items:
$ref: '#/definitions/PageReference'
authors:
type: array
description: Authors of the page
items:
$ref: '#/definitions/PersonValue'
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the page was created.
createdBy:
$ref: '#/definitions/PersonValue'
updatedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when page content was last modified.
updatedBy:
$ref: '#/definitions/PersonValue'
description: Metadata about a page.
additionalProperties: {}
x-schema-name: Page
PageList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/Page'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/pages?limit=20
description: API link to these results
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of pages.
additionalProperties: {}
x-schema-name: PageList
PageCreate:
type: object
properties:
name:
type: string
example: Launch Status
description: Name of the page.
subtitle:
type: string
example: See the status of launch-related tasks.
description: Subtitle of the page.
iconName:
type: string
example: rocket
description: Name of the icon.
imageUrl:
type: string
example: https://example.com/image.jpg
description: Url of the cover image to use.
parentPageId:
type: string
example: canvas-tuVwxYz
description: "The ID of this new page's parent, if creating a subpage."
pageContent:
$ref: '#/definitions/PageCreateContent'
description: Payload for creating a new page in a doc.
additionalProperties: {}
x-schema-name: PageCreate
PageCreateContent:
description: "Content that can be added to a page at creation time, either text (or rich text) or a URL to create a full-page embed."
x-schema-name: PageCreateContent
PageCreateResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
required:
- id
properties:
id:
type: string
example: canvas-tuVwxYz
description: ID of the created page.
additionalProperties: {}
description: The result of a page creation.
x-schema-name: PageCreateResult
PageUpdate:
type: object
properties:
name:
type: string
example: Launch Status
description: Name of the page.
subtitle:
type: string
example: See the status of launch-related tasks.
description: Subtitle of the page.
iconName:
type: string
example: rocket
description: Name of the icon.
imageUrl:
type: string
example: https://example.com/image.jpg
description: Url of the cover image to use.
contentUpdate:
$ref: '#/definitions/Acl_nextPageLink'
description: Payload for updating a page.
additionalProperties: {}
x-schema-name: PageUpdate
PageUpdateResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
required:
- id
properties:
id:
type: string
example: canvas-tuVwxYz
description: ID of the updated page.
additionalProperties: {}
description: The result of a page update.
x-schema-name: PageUpdateResult
PageContentInsertionMode:
type: string
description: Mode for inserting content into an existing page.
enum:
- append
- replace
x-schema-name: PageContentInsertionMode
x-tsEnumNames:
- Append
- Replace
PageContentUpdate:
type: object
required:
- canvasContent
- insertionMode
properties:
insertionMode:
$ref: '#/definitions/PageContentInsertionMode'
canvasContent:
$ref: '#/definitions/PageContent'
description: Payload for updating the content of an existing page.
additionalProperties: {}
x-schema-name: PageContentUpdate
BeginPageContentExportRequest:
type: object
required:
- outputFormat
properties:
outputFormat:
$ref: '#/definitions/PageContentOutputFormat'
description: Request for beginning an export of page content.
additionalProperties: {}
x-schema-name: BeginPageContentExportRequest
BeginPageContentExportResponse:
type: object
required:
- href
- id
- status
properties:
id:
type: string
example: AbCDeFGH
description: The identifier of this export request.
status:
type: string
example: complete
description: The status of this export.
href:
type: string
example: https://coda.io/apis/v1/docs/somedoc/pages/somepage/export/some-request-id
description: The URL that reports the status of this export. Poll this URL to get the content URL when the export has completed.
description: Response when beginning an export of page content.
additionalProperties: {}
x-schema-name: BeginPageContentExportResponse
PageContentOutputFormat:
type: string
description: Supported output content formats that can be requested for getting content for an existing page.
enum:
- html
- markdown
x-schema-name: PageContentOutputFormat
x-tsEnumNames:
- Html
- Markdown
PageContentExportStatus:
type: string
description: Status of a page content export.
enum:
- inProgress
- failed
- complete
x-schema-name: PageContentExportStatus
x-tsEnumNames:
- InProgress
- Failed
- Complete
PageContentExportStatusResponse:
type: object
required:
- href
- id
- status
properties:
id:
type: string
example: AbCDeFGH
description: The identifier of this export request.
status:
type: string
example: complete
description: The status of this export.
href:
type: string
example: https://coda.io/apis/v1/docs/somedoc/pages/somepage/export/some-request-id
description: The URL that reports the status of this export.
downloadLink:
type: string
example: https://coda.io/blobs/DOC_EXPORT_RENDERING/some-request-id
description: "Once the export completes, the location where the resulting export file can be downloaded; this link typically expires after a short time. Call this method again to get a fresh link."
error:
type: string
description: "Message describing an error, if this export failed."
description: Response when requesting the status of a page content export.
additionalProperties: {}
x-schema-name: PageContentExportStatusResponse
PageEmbedRenderMethod:
type: string
description: Render mode for a page using the Embed page type.
enum:
- compatibility
- standard
x-schema-name: PageEmbedRenderMethod
x-tsEnumNames:
- Compatibility
- Standard
Layout:
type: string
description: Layout type of the table or view.
enum:
- default
- areaChart
- barChart
- bubbleChart
- calendar
- card
- detail
- form
- ganttChart
- lineChart
- masterDetail
- pieChart
- scatterChart
- slide
- wordCloud
x-schema-name: Layout
x-tsEnumNames:
- Default
- AreaChart
- BarChart
- BubbleChart
- Calendar
- Card
- Detail
- Form
- GanttChart
- LineChart
- MasterDetail
- PieChart
- ScatterChart
- Slide
- WordCloud
PageContent:
type: object
required:
- content
- format
properties:
format:
$ref: '#/definitions/PageContentFormat'
content:
type: string
example: <p><b>This</b> is rich text</p>
description: The actual page content.
description: Content for a page (canvas).
additionalProperties: {}
x-schema-name: PageContent
PageContentFormat:
type: string
description: Supported content types for page (canvas) content.
enum:
- html
- markdown
x-schema-name: PageContentFormat
x-tsEnumNames:
- Html
- Markdown
PageType:
type: string
description: The type of a page in a doc.
enum:
- canvas
- embed
x-schema-name: PageType
x-tsEnumNames:
- Canvas
- Embed
Sort:
type: object
required:
- column
- direction
properties:
column:
$ref: '#/definitions/ColumnReference'
direction:
$ref: '#/definitions/SortDirection'
description: A sort applied to a table or view.
additionalProperties: {}
x-schema-name: Sort
SortDirection:
type: string
description: Direction of a sort for a table or view.
enum:
- ascending
- descending
x-schema-name: SortDirection
x-tsEnumNames:
- Ascending
- Descending
DocumentMutateResponse:
type: object
required:
- requestId
properties:
requestId:
type: string
example: abc-123-def-456
description: An arbitrary unique identifier for this request.
description: Base response type for an operation that mutates a document.
additionalProperties: {}
x-schema-name: DocumentMutateResponse
ValidationError:
type: object
required:
- message
- path
properties:
path:
type: string
example: "parent.child[0]"
description: "A path indicating the affected field, in OGNL notation."
message:
type: string
example: Expected a string but got a number
description: An error message.
description: Detail about why a particular field failed request validation.
additionalProperties: {}
x-schema-name: ValidationError
TableReference:
type: object
required:
- browserLink
- href
- id
- name
- tableType
- type
properties:
id:
type: string
example: grid-pqRst-U
description: ID of the table.
type:
type: string
description: The type of this resource.
enum:
- table
x-tsType: Type.Table
tableType:
$ref: '#/definitions/TableType'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U
description: API link to the table.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH/#Teams-and-Tasks_tpqRst-U
description: Browser-friendly link to the table.
name:
type: string
example: Tasks
description: Name of the table.
parent:
$ref: '#/definitions/PageReference'
description: Reference to a table or view.
additionalProperties: {}
x-schema-name: TableReference
Table:
type: object
required:
- browserLink
- createdAt
- displayColumn
- href
- id
- layout
- name
- parent
- rowCount
- sorts
- tableType
- type
- updatedAt
properties:
id:
type: string
example: grid-pqRst-U
description: ID of the table.
type:
type: string
description: The type of this resource.
enum:
- table
x-tsType: Type.Table
tableType:
$ref: '#/definitions/TableType'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U
description: API link to the table.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH/#Teams-and-Tasks_tpqRst-U
description: Browser-friendly link to the table.
name:
type: string
example: Tasks
description: Name of the table.
parent:
$ref: '#/definitions/PageReference'
parentTable:
$ref: '#/definitions/TableReference'
displayColumn:
$ref: '#/definitions/ColumnReference'
rowCount:
type: integer
example: 130
description: Total number of rows in the table.
sorts:
type: array
description: Any sorts applied to the table.
items:
$ref: '#/definitions/Sort'
layout:
$ref: '#/definitions/Layout'
filter:
$ref: '#/definitions/Acl_nextPageLink'
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the table was created.
updatedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the table was last modified.
description: Metadata about a table.
additionalProperties: {}
x-schema-name: Table
TableList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/TableReference'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables?limit=20
description: API link to these results
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of tables.
additionalProperties: {}
x-schema-name: TableList
ColumnReference:
type: object
required:
- href
- id
- type
properties:
id:
type: string
example: c-tuVwxYz
description: ID of the column.
type:
type: string
description: The type of this resource.
enum:
- column
x-tsType: Type.Column
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U/columns/c-tuVwxYz
description: API link to the column.
description: Reference to a column.
additionalProperties: {}
x-schema-name: ColumnReference
Column:
type: object
required:
- format
- href
- id
- name
- type
properties:
id:
type: string
example: c-tuVwxYz
description: ID of the column.
type:
type: string
description: The type of this resource.
enum:
- column
x-tsType: Type.Column
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U/columns/c-tuVwxYz
description: API link to the column.
name:
type: string
example: Completed
description: Name of the column.
display:
type: boolean
example: true
description: Whether the column is the display column.
calculated:
type: boolean
example: true
description: Whether the column has a formula set on it.
formula:
type: string
example: thisRow.Created()
description: Formula on the column.
defaultValue:
type: string
example: Test
description: Default value formula for the column.
format:
$ref: '#/definitions/ColumnFormat'
description: Info about a column.
additionalProperties: {}
x-schema-name: Column
ColumnDetail:
type: object
required:
- format
- href
- id
- name
- parent
- type
properties:
id:
type: string
example: c-tuVwxYz
description: ID of the column.
type:
type: string
description: The type of this resource.
enum:
- column
x-tsType: Type.Column
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U/columns/c-tuVwxYz
description: API link to the column.
name:
type: string
example: Completed
description: Name of the column.
display:
type: boolean
example: true
description: Whether the column is the display column.
calculated:
type: boolean
example: true
description: Whether the column has a formula set on it.
formula:
type: string
example: thisRow.Created()
description: Formula on the column.
defaultValue:
type: string
example: Test
description: Default value formula for the column.
format:
$ref: '#/definitions/ColumnFormat'
parent:
$ref: '#/definitions/TableReference'
description: Info about a column.
additionalProperties: {}
x-schema-name: ColumnDetail
SimpleColumnFormat:
type: object
required:
- isArray
- type
properties:
type:
$ref: '#/definitions/ColumnFormatType'
isArray:
type: boolean
example: true
description: Whether or not this column is an array.
description: Format of a simple column.
additionalProperties: {}
x-schema-name: SimpleColumnFormat
ReferenceColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
required:
- table
properties:
table:
$ref: '#/definitions/Acl_nextPageLink'
additionalProperties: {}
description: Format of a column that refers to another table.
x-schema-name: ReferenceColumnFormat
NumericColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
precision:
type: integer
example: 2
description: The decimal precision.
minimum: 0
maximum: 10
useThousandsSeparator:
type: boolean
example: true
description: "Whether to use a thousands separator (like \",\") to format the numeric value."
additionalProperties: {}
description: Format of a numeric column.
x-schema-name: NumericColumnFormat
CurrencyColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
currencyCode:
type: string
example: $
description: The currency symbol
precision:
type: integer
example: 2
description: The decimal precision.
minimum: 0
maximum: 10
format:
$ref: '#/definitions/CurrencyFormatType'
additionalProperties: {}
description: Format of a currency column.
x-schema-name: CurrencyColumnFormat
CurrencyFormatType:
type: string
description: "How the numeric value should be formatted (with or without symbol, negative numbers in parens)."
enum:
- currency
- accounting
- financial
x-schema-name: CurrencyFormatType
x-tsEnumNames:
- Currency
- Accounting
- Financial
DateColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
format:
type: string
example: YYYY-MM-DD
description: "A format string using Moment syntax: https://momentjs.com/docs/#/displaying/"
additionalProperties: {}
description: Format of a date column.
x-schema-name: DateColumnFormat
EmailColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
display:
$ref: '#/definitions/EmailDisplayType'
autocomplete:
type: boolean
additionalProperties: {}
description: Format of an email column.
x-schema-name: EmailColumnFormat
EmailDisplayType:
type: string
description: How an email address should be displayed in the user interface.
enum:
- iconAndEmail
- iconOnly
- emailOnly
x-schema-name: EmailDisplayType
x-tsEnumNames:
- IconAndEmail
- IconOnly
- EmailOnly
LinkColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
display:
$ref: '#/definitions/LinkDisplayType'
force:
type: boolean
example: true
description: Force embeds to render on the client instead of the server (for sites that require user login).
additionalProperties: {}
description: Format of a link column.
x-schema-name: LinkColumnFormat
LinkDisplayType:
type: string
description: How a link should be displayed in the user interface.
enum:
- iconOnly
- url
- title
- card
- embed
x-schema-name: LinkDisplayType
x-tsEnumNames:
- IconOnly
- Url
- Title
- Card
- Embed
TimeColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
format:
type: string
example: h:mm:ss A
description: "A format string using Moment syntax: https://momentjs.com/docs/#/displaying/"
additionalProperties: {}
description: Format of a time column.
x-schema-name: TimeColumnFormat
DateTimeColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
dateFormat:
type: string
example: YYYY-MM-DD
description: "A format string using Moment syntax: https://momentjs.com/docs/#/displaying/"
timeFormat:
type: string
example: h:mm:ss A
description: "A format string using Moment syntax: https://momentjs.com/docs/#/displaying/"
additionalProperties: {}
description: Format of a date column.
x-schema-name: DateTimeColumnFormat
DurationColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
precision:
type: integer
example: 2
maxUnit:
$ref: '#/definitions/Acl_nextPageLink'
additionalProperties: {}
description: Format of a duration column.
x-schema-name: DurationColumnFormat
DurationUnit:
type: string
description: A time unit used as part of a duration value.
enum:
- days
- hours
- minutes
- seconds
x-schema-name: DurationUnit
x-tsEnumNames:
- Days
- Hours
- Minutes
- Seconds
NumberOrNumberFormula:
description: A number or a string representing a formula that evaluates to a number.
x-schema-name: NumberOrNumberFormula
SliderColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
minimum:
$ref: '#/definitions/Acl_nextPageLink'
maximum:
$ref: '#/definitions/Acl_nextPageLink'
step:
$ref: '#/definitions/Acl_nextPageLink'
displayType:
$ref: '#/definitions/SliderDisplayType'
showValue:
type: boolean
example: true
description: Whether the underyling numeric value is also displayed.
additionalProperties: {}
description: Format of a numeric column that renders as a slider.
x-schema-name: SliderColumnFormat
ButtonColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
label:
type: string
example: Click me
description: Label formula for the button.
disableIf:
type: string
example: False()
description: DisableIf formula for the button.
action:
type: string
example: OpenUrl("www.google.com")
description: Action formula for the button.
additionalProperties: {}
description: Format of a button column.
x-schema-name: ButtonColumnFormat
IconSet:
type: string
description: List of available icon sets.
enum:
- star
- circle
- fire
- bug
- diamond
- bell
- thumbsup
- heart
- chili
- smiley
- lightning
- currency
- coffee
- person
- battery
- cocktail
- cloud
- sun
- checkmark
- lightbulb
x-schema-name: IconSet
x-tsEnumNames:
- Star
- Circle
- Fire
- Bug
- Diamond
- Bell
- ThumbsUp
- Heart
- Chili
- Smiley
- Lightning
- Currency
- Coffee
- Person
- Battery
- Cocktail
- Cloud
- Sun
- Checkmark
- LightBulb
ScaleColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
required:
- icon
- maximum
properties:
maximum:
type: number
example: 5.0
description: The maximum number allowed for this scale.
icon:
$ref: '#/definitions/Acl_nextPageLink'
additionalProperties: {}
description: "Format of a numeric column that renders as a scale, like star ratings."
x-schema-name: ScaleColumnFormat
SelectColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
properties:
options:
type: array
description: List of options for the select column.
items:
$ref: '#/definitions/SelectOption'
additionalProperties: {}
description: Format of a select column.
x-schema-name: SelectColumnFormat
SelectOption:
type: object
required:
- name
properties:
name:
type: string
example: Option 1
description: The name of the option.
backgroundColor:
type: string
example: '#ff0000'
description: The background color of the option.
foregroundColor:
type: string
example: '#ffffff'
description: The foreground color of the option.
description: An option for a select column.
additionalProperties: {}
x-schema-name: SelectOption
SliderDisplayType:
type: string
description: How the slider should be rendered.
enum:
- slider
- progress
x-schema-name: SliderDisplayType
x-tsEnumNames:
- Slider
- Progress
CheckboxColumnFormat:
allOf:
- $ref: '#/definitions/SimpleColumnFormat'
- type: object
required:
- displayType
properties:
displayType:
$ref: '#/definitions/CheckboxDisplayType'
additionalProperties: {}
description: Format of a checkbox column.
x-schema-name: CheckboxColumnFormat
CheckboxDisplayType:
type: string
description: How a checkbox should be displayed.
enum:
- toggle
- check
x-schema-name: CheckboxDisplayType
x-tsEnumNames:
- Toggle
- Check
ColumnFormat:
description: Format of a column.
x-schema-name: ColumnFormat
ColumnFormatType:
type: string
description: Format type of the column
enum:
- text
- person
- lookup
- number
- percent
- currency
- date
- dateTime
- time
- duration
- email
- link
- slider
- scale
- image
- imageReference
- attachments
- button
- checkbox
- select
- packObject
- reaction
- canvas
- other
x-schema-name: ColumnFormatType
x-tsEnumNames:
- Text
- Person
- Lookup
- Number
- Percent
- Currency
- Date
- DateTime
- Time
- Duration
- Email
- Link
- Slider
- Scale
- Image
- ImageReference
- Attachments
- Button
- Checkbox
- Select
- PackObject
- Reaction
- Canvas
- Other
ColumnList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/Column'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U/columns?limit=20
description: API link to these results
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of columns.
additionalProperties: {}
x-schema-name: ColumnList
Row:
type: object
required:
- browserLink
- createdAt
- href
- id
- index
- name
- type
- updatedAt
- values
properties:
id:
type: string
example: i-tuVwxYz
description: ID of the row.
type:
type: string
description: The type of this resource.
enum:
- row
x-tsType: Type.Row
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U/rows/i-RstUv-W
description: API link to the row.
name:
type: string
example: Apple
description: "The display name of the row, based on its identifying column."
index:
type: integer
example: 7
description: Index of the row within the table.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH#Teams-and-Tasks_tpqRst-U/_rui-tuVwxYz
description: Browser-friendly link to the row.
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the row was created.
updatedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the row was last modified.
values:
type: object
example:
c-tuVwxYz: Apple
c-bCdeFgh:
- $12.34
- $56.78
description: |
Values for a specific row, represented as a hash of column IDs (or names with `useColumnNames`) to values.
additionalProperties:
$ref: '#/definitions/CellValue'
description: Info about a row.
additionalProperties: {}
x-schema-name: Row
RowDetail:
type: object
required:
- browserLink
- createdAt
- href
- id
- index
- name
- parent
- type
- updatedAt
- values
properties:
id:
type: string
example: i-tuVwxYz
description: ID of the row.
type:
type: string
description: The type of this resource.
enum:
- row
x-tsType: Type.Row
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U/rows/i-RstUv-W
description: API link to the row.
name:
type: string
example: Apple
description: "The display name of the row, based on its identifying column."
index:
type: integer
example: 7
description: Index of the row within the table.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH#Teams-and-Tasks_tpqRst-U/_rui-tuVwxYz
description: Browser-friendly link to the row.
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the row was created.
updatedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the row was last modified.
values:
type: object
example:
c-tuVwxYz: Apple
c-bCdeFgh:
- $12.34
- $56.78
description: |
Values for a specific row, represented as a hash of column IDs (or names with `useColumnNames`) to values.
additionalProperties:
$ref: '#/definitions/CellValue'
parent:
$ref: '#/definitions/TableReference'
description: Details about a row.
additionalProperties: {}
x-schema-name: RowDetail
RowList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/Row'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/tables/grid-pqRst-U/rows?limit=20
description: API link to these results
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
nextSyncToken:
$ref: '#/definitions/nextSyncToken'
description: List of rows.
additionalProperties: {}
x-schema-name: RowList
ScalarValue:
description: A Coda result or entity expressed as a primitive type.
x-schema-name: ScalarValue
Value:
type: object
description: "A Coda result or entity expressed as a primitive type, or array of primitive types."
additionalProperties: {}
x-schema-name: Value
RichSingleValue:
description: |
A value that contains rich structured data. Cell values are composed of these values or arrays of these values.
x-schema-name: RichSingleValue
RichValue:
description: A cell value that contains rich structured data.
x-schema-name: RichValue
RowValue:
allOf:
- $ref: '#/definitions/LinkedDataObject'
- type: object
required:
- additionalType
- name
- rowId
- tableId
- tableUrl
- url
properties:
name:
type: string
example: Apple
description: "The display name of the row, based on its identifying column."
url:
type: string
example: https://coda.io/d/_dAbCDeFGH#Teams-and-Tasks_tpqRst-U/_rui-tuVwxYz
description: The url of the row.
tableId:
type: string
example: grid-pqRst-U
description: The ID of the table
rowId:
type: string
example: i-tuVwxYz
description: The ID of the table
tableUrl:
type: string
example: https://coda.io/d/_dAbCDeFGH#Teams-and-Tasks_tpqRst-U
description: The url of the table.
additionalType:
type: string
description: The type of this resource.
enum:
- row
x-tsType: Type.Row
additionalProperties: {}
description: A value representing a Coda row.
x-schema-name: RowValue
LinkedDataObject:
type: object
required:
- '@context'
- '@type'
properties:
'@context':
type: string
example: http://schema.org/
description: "A url describing the schema context for this object, typically \"http://schema.org/\"."
'@type':
$ref: '#/definitions/LinkedDataType'
additionalType:
type: string
description: |
An identifier of additional type info specific to Coda that may not be present in a schema.org taxonomy,
description: Base type for a JSON-LD (Linked Data) object.
additionalProperties: {}
x-schema-name: LinkedDataObject
LinkedDataType:
type: string
description: A schema.org identifier for the object.
enum:
- ImageObject
- MonetaryAmount
- Person
- WebPage
- StructuredValue
x-schema-name: LinkedDataType
x-tsEnumNames:
- ImageObject
- MonetaryAmount
- Person
- WebPage
- StructuredValue
UrlValue:
allOf:
- $ref: '#/definitions/LinkedDataObject'
- type: object
required:
- url
properties:
name:
type: string
example: Click me
description: The user-visible text of the hyperlink.
url:
type: string
example: https://coda.io
description: The url of the hyperlink.
additionalProperties: {}
description: A named hyperlink to an arbitrary url.
x-schema-name: UrlValue
ImageUrlValue:
allOf:
- $ref: '#/definitions/LinkedDataObject'
- type: object
properties:
name:
type: string
example: Dogs Playing Poker
description: The name of the image.
url:
type: string
example: https://example.com/dogs-playing-poker.jpg
description: The url of the image.
height:
type: number
example: 480.0
description: The height of the image in pixels.
width:
type: number
example: 640.0
description: The width of the image in pixels.
status:
$ref: '#/definitions/ImageStatus'
additionalProperties: {}
description: A named url of an image along with metadata.
x-schema-name: ImageUrlValue
ImageStatus:
type: string
description: The status values that an image object can have.
enum:
- live
- deleted
- failed
x-schema-name: ImageStatus
x-tsEnumNames:
- Live
- Deleted
- Failed
PersonValue:
allOf:
- $ref: '#/definitions/LinkedDataObject'
- type: object
required:
- email
- name
properties:
name:
type: string
example: Alice Atkins
description: The full name of the person.
email:
type: string
example: [email protected]
description: The email address of the person.
additionalProperties: {}
description: "A named reference to a person, where the person is identified by email address."
x-schema-name: PersonValue
CurrencyAmount:
description: A numeric monetary amount as a string or number.
x-schema-name: CurrencyAmount
CurrencyValue:
allOf:
- $ref: '#/definitions/LinkedDataObject'
- type: object
required:
- amount
- currency
properties:
currency:
type: string
example: USD
description: The 3-letter currency code.
amount:
$ref: '#/definitions/CurrencyAmount'
additionalProperties: {}
description: A monetary value with its associated currency code.
x-schema-name: CurrencyValue
CellValue:
description: All values that a row cell can contain.
x-schema-name: CellValue
CellEdit:
type: object
required:
- column
- value
properties:
column:
type: string
example: c-tuVwxYz
description: "Column ID, URL, or name (fragile and discouraged) associated with this edit."
value:
$ref: '#/definitions/Value'
description: An edit made to a particular cell in a row.
additionalProperties: {}
x-schema-name: CellEdit
PushButtonResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
required:
- columnId
- rowId
properties:
rowId:
type: string
example: i-tuVwxYz
description: ID of the row where the button exists.
columnId:
type: string
example: i-tuVwxYz
description: ID of the column where the button exists.
additionalProperties: {}
description: The result of a push button.
x-schema-name: PushButtonResult
RowEdit:
type: object
required:
- cells
properties:
cells:
type: array
items:
$ref: '#/definitions/CellEdit'
description: An edit made to a particular row.
additionalProperties: {}
x-schema-name: RowEdit
RowUpdate:
type: object
required:
- row
properties:
row:
$ref: '#/definitions/RowEdit'
description: Payload for updating a row in a table.
additionalProperties: {}
x-schema-name: RowUpdate
RowUpdateResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
required:
- id
properties:
id:
type: string
example: i-tuVwxYz
description: ID of the updated row.
additionalProperties: {}
description: The result of a row update.
x-schema-name: RowUpdateResult
RowsDelete:
type: object
required:
- rowIds
properties:
rowIds:
type: array
example:
- i-bCdeFgh
- i-CdEfgHi
description: |
Row IDs to delete.
items:
type: string
description: Payload for deleting rows from a table.
additionalProperties: {}
x-schema-name: RowsDelete
RowsDeleteResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
required:
- rowIds
properties:
rowIds:
type: array
example:
- i-bCdeFgh
- i-CdEfgHi
description: Row IDs to delete.
items:
type: string
additionalProperties: {}
description: The result of a rows delete operation.
x-schema-name: RowsDeleteResult
RowsUpsert:
type: object
required:
- rows
properties:
rows:
type: array
items:
$ref: '#/definitions/RowEdit'
keyColumns:
type: array
example:
- c-bCdeFgh
description: "Optional column IDs, URLs, or names (fragile and discouraged), specifying columns to be used as upsert keys."
items:
type: string
description: Payload for upserting rows in a table.
additionalProperties: {}
x-schema-name: RowsUpsert
RowsUpsertResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
properties:
addedRowIds:
type: array
example:
- i-bCdeFgh
- i-CdEfgHi
description: Row IDs for rows that will be added. Only applicable when keyColumns is not set or empty.
items:
type: string
additionalProperties: {}
description: The result of a rows insert/upsert operation.
x-schema-name: RowsUpsertResult
RowDeleteResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
required:
- id
properties:
id:
type: string
example: i-tuVwxYz
description: ID of the row to be deleted.
additionalProperties: {}
description: The result of a row deletion.
x-schema-name: RowDeleteResult
RowsSortBy:
type: string
description: Determines how the rows returned are sorted
enum:
- createdAt
- natural
- updatedAt
x-schema-name: RowsSortBy
x-tsEnumNames:
- CreatedAt
- Natural
- UpdatedAt
ValueFormat:
type: string
description: The format that cell values are returned as.
enum:
- simple
- simpleWithArrays
- rich
x-schema-name: ValueFormat
x-tsEnumNames:
- Simple
- SimpleWithArrays
- Rich
FormulaReference:
type: object
required:
- href
- id
- name
- type
properties:
id:
type: string
example: f-fgHijkLm
description: ID of the formula.
type:
type: string
description: The type of this resource.
enum:
- formula
x-tsType: Type.Formula
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/formulas/f-fgHijkLm
description: API link to the formula.
name:
type: string
example: Sum of expenses
description: Name of the formula.
parent:
$ref: '#/definitions/PageReference'
description: Reference to a formula.
additionalProperties: {}
x-schema-name: FormulaReference
Formula:
type: object
required:
- href
- id
- name
- type
- value
properties:
id:
type: string
example: f-fgHijkLm
description: ID of the formula.
type:
type: string
description: The type of this resource.
enum:
- formula
x-tsType: Type.Formula
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/formulas/f-fgHijkLm
description: API link to the formula.
name:
type: string
example: Sum of expenses
description: Name of the formula.
parent:
$ref: '#/definitions/PageReference'
value:
$ref: '#/definitions/Value'
description: Details about a formula.
additionalProperties: {}
x-schema-name: Formula
FormulaList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/FormulaReference'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/formulas?limit=20
description: API link to these results
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of formulas.
additionalProperties: {}
x-schema-name: FormulaList
ControlReference:
type: object
required:
- href
- id
- name
- type
properties:
id:
type: string
example: ctrl-cDefGhij
description: ID of the control.
type:
type: string
description: The type of this resource.
enum:
- control
x-tsType: Type.Control
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/controls/ctrl-cDefGhij
description: API link to the control.
name:
type: string
example: Cost
description: Name of the control.
parent:
$ref: '#/definitions/PageReference'
description: Reference to a control.
additionalProperties: {}
x-schema-name: ControlReference
Control:
type: object
required:
- controlType
- href
- id
- name
- type
- value
properties:
id:
type: string
example: ctrl-cDefGhij
description: ID of the control.
type:
type: string
description: The type of this resource.
enum:
- control
x-tsType: Type.Control
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/controls/ctrl-cDefGhij
description: API link to the control.
name:
type: string
example: Cost
description: Name of the control.
parent:
$ref: '#/definitions/PageReference'
controlType:
$ref: '#/definitions/ControlType'
value:
$ref: '#/definitions/Value'
description: Details about a control.
additionalProperties: {}
x-schema-name: Control
ControlList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/ControlReference'
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/controls?limit=20
description: API link to these results
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of controls.
additionalProperties: {}
x-schema-name: ControlList
ControlType:
type: string
description: Type of the control.
example: slider
enum:
- button
- checkbox
- datePicker
- dateRangePicker
- dateTimePicker
- lookup
- multiselect
- select
- scale
- slider
- reaction
- textbox
- timePicker
x-schema-name: ControlType
x-tsEnumNames:
- Button
- Checkbox
- DatePicker
- DateRangePicker
- DateTimePicker
- Lookup
- Multiselect
- Select
- Scale
- Slider
- Reaction
- Textbox
- TimePicker
User:
type: object
required:
- href
- loginId
- name
- scoped
- tokenName
- type
- workspace
properties:
name:
type: string
example: John Doe
description: Name of the user.
loginId:
type: string
example: [email protected]
description: Email address of the user.
type:
type: string
description: The type of this resource.
enum:
- user
x-tsType: Type.User
pictureLink:
type: string
format: url
example: https://cdn.coda.io/avatars/default_avatar.png
description: Browser-friendly link to the user's avatar image.
scoped:
type: boolean
example: false
description: True if the token used to make this request has restricted/scoped access to the API.
tokenName:
type: string
example: My API token
description: Returns the name of the token used for this request.
href:
type: string
format: url
example: https://coda.io/apis/v1beta/whoami
description: API link to the user.
workspace:
$ref: '#/definitions/WorkspaceReference'
description: Info about the user.
additionalProperties: {}
x-schema-name: User
UserSummary:
type: object
required:
- loginId
- name
- type
properties:
name:
type: string
example: John Doe
description: Name of the user.
loginId:
type: string
example: [email protected]
description: Email address of the user.
type:
type: string
description: The type of this resource.
enum:
- user
x-tsType: Type.User
pictureLink:
type: string
format: url
example: https://cdn.coda.io/avatars/default_avatar.png
description: Browser-friendly link to the user's avatar image.
description: Summary about the user.
additionalProperties: {}
x-schema-name: UserSummary
nextPageToken:
type: string
description: "If specified, an opaque token used to fetch the next page of results."
example: eyJsaW1pd
nextPageLink:
type: string
format: url
description: "If specified, a link that can be used to fetch the next page of results."
nextSyncToken:
type: string
description: |
If specified, an opaque token that can be passed back later to retrieve new results that match the parameters specified when the sync token was created.
example: eyJsaW1pd
PublishingCategory:
type: object
required:
- categoryId
- categoryName
properties:
categoryId:
type: string
example: aBCdEFg
description: The ID for this category.
categoryName:
type: string
example: Project management
description: The name of the category.
categorySlug:
type: string
example: project-management
description: The URL identifier of the category.
description: Info about a publishing category
additionalProperties: {}
x-schema-name: PublishingCategory
Maker:
type: object
required:
- loginId
- name
properties:
name:
type: string
example: John Doe
description: Name of the maker.
pictureLink:
type: string
format: url
example: https://cdn.coda.io/avatars/default_avatar.png
description: Browser-friendly link to the maker's avatar image.
slug:
type: string
description: Maker profile identifier for the maker.
jobTitle:
type: string
description: Job title for maker.
employer:
type: string
description: Employer for maker.
description:
type: string
description: Description for the maker.
loginId:
type: string
example: [email protected]
description: Email address of the user.
description: Info about the maker
additionalProperties: {}
x-schema-name: Maker
MakerSummary:
type: object
required:
- name
properties:
name:
type: string
example: John Doe
description: Name of the maker.
pictureLink:
type: string
format: url
example: https://cdn.coda.io/avatars/default_avatar.png
description: Browser-friendly link to the maker's avatar image.
slug:
type: string
description: Maker profile identifier for the maker.
jobTitle:
type: string
description: Job title for maker.
employer:
type: string
description: Employer for maker.
description:
type: string
description: Description for the maker.
description: Summary about a maker
additionalProperties: {}
x-schema-name: MakerSummary
ApiLink:
type: object
required:
- href
- resource
- type
properties:
type:
type: string
description: The type of this resource.
enum:
- apiLink
x-tsType: Type.ApiLink
href:
type: string
format: url
example: https://coda.io/apis/v1/resolveBrowserLink?url=https%3A%2F%2Fcoda.io%2Fd%2F_dAbCDeFGH%2FLaunch-Status_sumnO
description: Self link to this query.
browserLink:
type: string
format: url
example: https://coda.io/d/_dAbCDeFGH/Launch-Status_sumnO
description: Canonical browser-friendly link to the resolved resource.
resource:
$ref: '#/definitions/ApiLinkResolvedResource'
description: Info about a resolved link to an API resource.
additionalProperties: {}
x-schema-name: ApiLink
ApiLinkResolvedResource:
type: object
required:
- href
- id
- type
properties:
type:
$ref: '#/definitions/Type'
id:
type: string
example: canvas-IjkLmnO
description: ID of the resolved resource.
name:
type: string
example: My Page
description: Name of the resource.
href:
type: string
format: url
example: https://coda.io/apis/v1/docs/AbCDeFGH/pages/canvas-IjkLmnO
description: API link to the resolved resource that can be queried to get further information.
description: Reference to the resolved resource.
additionalProperties: {}
x-schema-name: ApiLinkResolvedResource
Icon:
type: object
required:
- browserLink
- name
- type
properties:
name:
type: string
description: Name of the icon.
type:
type: string
description: MIME type of the icon
browserLink:
type: string
format: url
example: https://cdn.coda.io/icons/png/color/icon-32.png
description: Browser-friendly link to an icon.
description: Info about the icon.
additionalProperties: {}
x-schema-name: icon
Image:
type: object
required:
- browserLink
properties:
browserLink:
type: string
format: url
example: https://codahosted.io/docs/nUYhlXysYO/blobs/bl-lYkYKNzkuT/3f879b9ecfa27448
description: Browser-friendly link to an image.
type:
type: string
description: MIME type of the image.
width:
type: number
example: 800.0
description: The width in pixels of the image.
height:
type: number
example: 600.0
description: The height in pixels of the image.
description: Info about the image.
additionalProperties: {}
x-schema-name: Image
SortBy:
type: string
description: Determines how the objects returned are sorted
enum:
- name
x-schema-name: SortBy
x-tsEnumNames:
- Name
TableType:
type: string
enum:
- table
- view
x-schema-name: TableType
x-tsEnumNames:
- Table
- View
FormulaDetail:
type: object
required:
- valid
properties:
valid:
type: boolean
example: true
description: Returns whether or not the given formula is valid.
isVolatile:
type: boolean
example: false
description: |
Returns whether or not the given formula can return different results in different contexts (for example, for different users).
hasUserFormula:
type: boolean
example: false
description: Returns whether or not the given formula has a User() formula within it.
hasTodayFormula:
type: boolean
example: false
description: Returns whether or not the given formula has a Today() formula within it.
hasNowFormula:
type: boolean
example: false
description: Returns whether or not the given formula has a Now() formula within it.
description: Detailed information about a formula.
additionalProperties: {}
x-schema-name: FormulaDetail
MutationStatus:
type: object
required:
- completed
properties:
completed:
type: boolean
example: true
description: Returns whether the mutation has completed.
warning:
type: string
example: Initial page HTML was invalid.
description: A warning if the mutation completed but with caveats.
description: The status of an asynchronous mutation.
additionalProperties: {}
x-schema-name: MutationStatus
WebhookTriggerPayload:
type: object
description: Payload for webhook trigger
example:
message: "The doc that brings words, data, & teams together."
additionalProperties: {}
x-schema-name: WebhookTriggerPayload
WebhookTriggerResult:
allOf:
- $ref: '#/definitions/DocumentMutateResponse'
- type: object
additionalProperties: {}
description: The result of triggering a webhook
x-schema-name: WebhookTriggerResult
FolderReference:
type: object
required:
- browserLink
- id
- type
properties:
id:
type: string
example: fl-1Ab234
description: ID of the Coda folder.
type:
type: string
description: The type of this resource.
enum:
- folder
x-tsType: Type.Folder
browserLink:
type: string
format: url
example: https://coda.io/docs?folderId=fl-1Ab234
description: Browser-friendly link to the folder.
name:
type: string
example: My docs
description: Name of the folder; included if the user has access to the folder.
description: Reference to a Coda folder.
additionalProperties: {}
x-schema-name: FolderReference
WorkspaceReference:
type: object
required:
- browserLink
- id
- type
properties:
id:
type: string
example: ws-1Ab234
description: ID of the Coda workspace.
type:
type: string
description: The type of this resource.
enum:
- workspace
x-tsType: Type.Workspace
organizationId:
type: string
example: org-2Bc456
description: "ID of the organization bound to this workspace, if any."
browserLink:
type: string
format: url
example: https://coda.io/docs?workspaceId=ws-1Ab234
description: Browser-friendly link to the Coda workspace.
name:
type: string
example: My workspace
description: Name of the workspace; included if the user has access to the workspace.
description: Reference to a Coda workspace.
additionalProperties: {}
x-schema-name: WorkspaceReference
Workspace:
type: object
required:
- browserLink
- id
- name
- type
properties:
id:
type: string
example: ws-1Ab234
description: ID of the Coda workspace.
type:
type: string
description: The type of this resource.
enum:
- workspace
x-tsType: Type.Workspace
organizationId:
type: string
example: org-2Bc456
description: "ID of the organization bound to this workspace, if any."
browserLink:
type: string
format: url
example: https://coda.io/docs?workspaceId=ws-1Ab234
description: Browser-friendly link to the Coda workspace.
name:
type: string
example: coda.io
description: Name of the workspace.
description:
type: string
example: The central place for our team's knowledge.
description: Description of the workspace.
description: Metadata about a Coda workspace.
additionalProperties: {}
x-schema-name: Workspace
WorkspaceUser:
type: object
required:
- email
- name
- registeredAt
- role
- roleChangedAt
properties:
email:
type: string
example: [email protected]
description: Email of the user.
name:
type: string
example: Sally Jane
description: Name of the user.
role:
$ref: '#/definitions/WorkspaceUserRole'
pictureUrl:
type: string
format: url
example: codahosted.io/123
description: Picture url of the user.
registeredAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the user registered in this workspace
roleChangedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the user's role last changed in this workspace.
lastActiveAt:
type: string
format: date
example: 2018-04-11
description: Date when the user last took an action in any workspace.
ownedDocs:
type: number
example: 2.0
description: Number of docs the user owns in this workspace.
docsLastActiveAt:
type: string
format: date
example: 2018-04-11
description: Date when anyone last accessed a doc that the user owns in this workspace.
docCollaboratorCount:
type: number
example: 2.0
description: Number of collaborators that have interacted with docs owned by the user in the last 90 days.
totalDocs:
type: number
example: 2.0
description: "Number of docs the user owns, manages, or to which they have added pages in the last 90 days."
totalDocsLastActiveAt:
type: string
format: date
example: 2018-04-11
description: Date when anyone last accessed a doc the member owns or contributed to.
totalDocCollaboratorsLast90Days:
type: number
example: 2.0
description: "Number of unique users that have viewed any doc the user owns, manages, or has added pages to in the last 90 days."
description: Metadata of a workspace user.
additionalProperties: {}
x-schema-name: WorkspaceUser
WorkspaceUserRole:
type: string
enum:
- Admin
- DocMaker
- Editor
x-schema-name: WorkspaceUserRole
x-tsEnumNames:
- Admin
- DocMaker
- Editor
WorkspaceRoleActivity:
type: object
required:
- activeAdminCount
- activeDocMakerCount
- activeEditorCount
- inactiveAdminCount
- inactiveDocMakerCount
- inactiveEditorCount
- month
properties:
month:
type: string
example: 2020-09-15
description: Month corresponding to the data.
activeAdminCount:
type: number
example: 2.0
description: Number of active Admins.
activeDocMakerCount:
type: number
example: 2.0
description: Number of active Doc Makers.
activeEditorCount:
type: number
example: 2.0
description: Number of active Editors.
inactiveAdminCount:
type: number
example: 2.0
description: Number of inactive Admins.
inactiveDocMakerCount:
type: number
example: 2.0
description: Number of inactive Doc Makers.
inactiveEditorCount:
type: number
example: 2.0
description: Number of inactive Editor users.
description: Metadata for workspace role activity.
additionalProperties: {}
x-schema-name: WorkspaceRoleActivity
WorkspaceMembersList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/WorkspaceUser'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: Response for listing workspace users.
additionalProperties: {}
x-schema-name: WorkspaceMembersList
GetWorkspaceRoleActivity:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/WorkspaceRoleActivity'
description: Response for getting workspace role activity.
additionalProperties: {}
x-schema-name: GetWorkspaceRoleActivity
ChangeRole:
type: object
required:
- email
- newRole
properties:
email:
type: string
example: [email protected]
description: Email of the user.
newRole:
$ref: '#/definitions/WorkspaceUserRole'
description: Parameters for changing a workspace user role.
additionalProperties: {}
x-schema-name: ChangeRole
ChangeRoleResult:
type: object
required:
- roleChangedAt
properties:
roleChangedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the user's role last changed in this workspace.
description: The result of changing a user's workspace user role.
additionalProperties: {}
x-schema-name: ChangeRoleResult
DocAnalyticsItem:
type: object
required:
- doc
- metrics
properties:
doc:
$ref: '#/definitions/DocAnalyticsDetails'
metrics:
type: array
items:
$ref: '#/definitions/DocAnalyticsMetrics'
description: Analytics data for a Coda doc.
additionalProperties: {}
x-schema-name: DocAnalyticsItem
DocAnalyticsCollection:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/DocAnalyticsItem'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of analytics for Coda docs over a date range.
additionalProperties: {}
x-schema-name: DocAnalyticsCollection
DocAnalyticsMetrics:
type: object
required:
- copies
- date
- likes
- sessionsDesktop
- sessionsMobile
- sessionsOther
- totalSessions
- views
properties:
date:
type: string
format: date
example: 2020-09-02
description: Date of the analytics data.
views:
type: integer
example: 980
description: Number of times the doc was viewed.
copies:
type: integer
example: 24
description: Number of times the doc was copied.
likes:
type: integer
example: 342
description: Number of times the doc was liked.
sessionsMobile:
type: integer
example: 530
description: Number of unique visitors to this doc from a mobile device.
sessionsDesktop:
type: integer
example: 212
description: Number of unique visitors to this doc from a desktop device.
sessionsOther:
type: integer
example: 10
description: Number of unique visitors to this doc from an unknown device type.
totalSessions:
type: integer
example: 1000
description: Sum of the total sessions from any device.
description: Analytics metrics for a Coda Doc.
additionalProperties: {}
x-schema-name: DocAnalyticsMetrics
DocAnalyticsOrderBy:
type: string
description: Determines how the Doc analytics returned are sorted.
enum:
- date
- docId
- title
- createdAt
- publishedAt
- likes
- copies
- views
- sessionsDesktop
- sessionsMobile
- sessionsOther
- totalSessions
x-schema-name: DocAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- DocId
- Title
- CreatedAt
- PublishedAt
- Likes
- Copies
- Views
- SessionsDesktop
- SessionsMobile
- SessionsOther
- TotalSessions
DocAnalyticsDetails:
allOf:
- $ref: '#/definitions/DocReference'
- type: object
required:
- createdAt
- title
properties:
title:
type: string
example: Cool Geometry Formulas
description: The name of the doc.
icon:
$ref: '#/definitions/Icon'
createdAt:
type: string
format: date-time
example: 2022-04-11T00:18:57.946Z
description: Creation time of the doc.
publishedAt:
type: string
format: date-time
example: 2022-04-12T00:18:57.946Z
description: Published time of the doc.
description: Metadata about a doc relevant to analytics.
additionalProperties: {}
DocAnalyticsSummary:
type: object
required:
- totalSessions
properties:
totalSessions:
type: integer
example: 1337
description: Total number of sessions across all docs.
description: Summarized metrics for Coda docs.
additionalProperties: {}
x-schema-name: DocAnalyticsSummary
PageAnalyticsMetrics:
type: object
required:
- averageSecondsViewed
- date
- sessions
- users
- views
properties:
date:
type: string
format: date
example: 2022-06-03
description: Date of the analytics data.
views:
type: integer
example: 980
description: Number of times the page was viewed within the given day.
sessions:
type: integer
example: 24
description: Number of unique browsers that viewed the page on the given day.
users:
type: integer
example: 42
description: Number of unique Coda users that viewed the page on the given day.
averageSecondsViewed:
type: integer
example: 42
description: Average number of seconds that the page was viewed on the given day.
description: Analytics metrics for a page within a Coda doc.
additionalProperties: {}
x-schema-name: PageAnalyticsMetrics
PageAnalyticsItem:
type: object
required:
- metrics
- page
properties:
page:
$ref: '#/definitions/PageAnalyticsDetails'
metrics:
type: array
items:
$ref: '#/definitions/PageAnalyticsMetrics'
description: Analytics data for a page within a Coda doc.
additionalProperties: {}
x-schema-name: PageAnalyticsItem
PageAnalyticsDetails:
type: object
required:
- id
- name
properties:
id:
type: string
example: section-IjkLmnO
description: ID of the page.
name:
type: string
example: Launch Status
description: Name of the page.
icon:
$ref: '#/definitions/Icon'
description: Metadata about a page relevant to analytics.
additionalProperties: {}
x-schema-name: PageAnalyticsDetails
PageAnalyticsCollection:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/PageAnalyticsItem'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of analytics for pages within a Coda doc over a date range.
additionalProperties: {}
x-schema-name: PageAnalyticsCollection
PackAnalyticsDetails:
type: object
required:
- createdAt
- id
- name
properties:
id:
type: number
example: 1003.0
description: ID of the Pack.
name:
type: string
example: Cool Geometry Formulas
description: The name of the Pack.
logoUrl:
type: string
format: url
description: The link to the logo of the Pack.
createdAt:
type: string
format: date-time
example: 2022-04-11T00:18:57.946Z
description: Creation time of the Pack.
description: Metadata about a Pack relevant to analytics.
additionalProperties: {}
x-schema-name: PackAnalyticsDetails
PackAnalyticsCollection:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/PackAnalyticsItem'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of analytics for Coda Packs over a date range.
additionalProperties: {}
x-schema-name: PackAnalyticsCollection
PackAnalyticsItem:
type: object
required:
- metrics
- pack
properties:
pack:
$ref: '#/definitions/PackAnalyticsDetails'
metrics:
type: array
items:
$ref: '#/definitions/PackAnalyticsMetrics'
description: Analytics data for a Coda Pack.
additionalProperties: {}
x-schema-name: PackAnalyticsItem
PackAnalyticsMetrics:
type: object
required:
- date
- docInstalls
- docsActivelyUsing
- docsActivelyUsing30Day
- docsActivelyUsing7Day
- docsActivelyUsing90Day
- docsActivelyUsingAllTime
- numActionInvocations
- numFormulaInvocations
- numMetadataInvocations
- numSyncInvocations
- revenueUsd
- workspaceInstalls
- workspacesActivelyTrialing
- workspacesActivelyTrialing30Day
- workspacesActivelyTrialing7Day
- workspacesActivelyTrialing90Day
- workspacesActivelyTrialingAllTime
- workspacesActivelyUsing
- workspacesActivelyUsing30Day
- workspacesActivelyUsing7Day
- workspacesActivelyUsing90Day
- workspacesActivelyUsingAllTime
- workspacesNewlySubscribed
- workspacesWithActiveSubscriptions
- workspacesWithSuccessfulTrials
properties:
date:
type: string
format: date
example: 2020-09-02
description: Date of the analytics data.
docInstalls:
type: integer
example: 100
description: Number of unique documents that have installed this Pack.
workspaceInstalls:
type: integer
example: 10
description: Number of unique workspaces that have installed this Pack.
numFormulaInvocations:
type: integer
example: 100
description: Number of times regular formulas have been called.
numActionInvocations:
type: integer
example: 100
description: Number of times action formulas have been called.
numSyncInvocations:
type: integer
example: 100
description: Number of times sync table formulas have been called.
numMetadataInvocations:
type: integer
example: 100
description: Number of times metadata formulas have been called.
docsActivelyUsing:
type: integer
example: 50
description: Number of unique docs that have invoked a formula from this Pack in the past day.
docsActivelyUsing7Day:
type: integer
example: 100
description: Number of unique docs that have invoked a formula from this Pack in the past 7 days.
docsActivelyUsing30Day:
type: integer
example: 200
description: Number of unique docs that have invoked a formula from this Pack in the past 30 days.
docsActivelyUsing90Day:
type: integer
example: 300
description: Number of unique docs that have invoked a formula from this Pack in the past 90 days.
docsActivelyUsingAllTime:
type: integer
example: 500
description: Number of unique docs that have invoked a formula from this Pack ever.
workspacesActivelyUsing:
type: integer
example: 10
description: Number of unique workspaces that have invoked a formula from this Pack in the past day.
workspacesActivelyUsing7Day:
type: integer
example: 15
description: Number of unique workspaces that have invoked a formula from this Pack in the past 7 days.
workspacesActivelyUsing30Day:
type: integer
example: 20
description: Number of unique workspaces that have invoked a formula from this Pack in the past 30 days.
workspacesActivelyUsing90Day:
type: integer
example: 30
description: Number of unique workspaces that have invoked a formula from this Pack in the past 90 days.
workspacesActivelyUsingAllTime:
type: integer
example: 50
description: Number of unique workspaces that have invoked a formula from this Pack ever.
workspacesActivelyTrialing:
type: integer
description: Number of unique workspaces that are currently involved in a trial.
workspacesActivelyTrialing7Day:
type: integer
description: Number of unique workspaces that have been involved in a trial in the last 7 days.
workspacesActivelyTrialing30Day:
type: integer
description: Number of unique workspaces that have been involved in a trial in the last 30 days.
workspacesActivelyTrialing90Day:
type: integer
description: Number of unique workspaces that have been involved in a trial in the last 90 days.
workspacesActivelyTrialingAllTime:
type: integer
description: Number of unique workspaces that have been involved in a trial ever.
workspacesNewlySubscribed:
type: integer
description: Number of unique workspaces that have recently subscribed to the Pack.
workspacesWithActiveSubscriptions:
type: integer
description: Number of unique workspaces that are currently subscribed to the Pack.
workspacesWithSuccessfulTrials:
type: integer
description: Number of unique workspaces that subscribed after undertaking a Pack trial.
revenueUsd:
type: string
description: Amount of revenue (in USD) that the Pack has produced.
description: Analytics metrics for a Coda Pack.
additionalProperties: {}
x-schema-name: PackAnalyticsMetrics
PackAnalyticsOrderBy:
type: string
description: Determines how the Pack analytics returned are sorted.
enum:
- date
- packId
- name
- createdAt
- docInstalls
- workspaceInstalls
- numFormulaInvocations
- numActionInvocations
- numSyncInvocations
- numMetadataInvocations
- docsActivelyUsing
- docsActivelyUsing7Day
- docsActivelyUsing30Day
- docsActivelyUsing90Day
- docsActivelyUsingAllTime
- workspacesActivelyUsing
- workspacesActivelyUsing7Day
- workspacesActivelyUsing30Day
- workspacesActivelyUsing90Day
- workspacesActivelyUsingAllTime
- workspacesWithActiveSubscriptions
- workspacesWithSuccessfulTrials
- revenueUsd
x-schema-name: PackAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- PackId
- Name
- CreatedAt
- DocInstalls
- WorkspaceInstalls
- NumFormulaInvocations
- NumActionInvocations
- NumSyncInvocations
- NumMetadataInvocations
- DocsActivelyUsing
- DocsActivelyUsing7Day
- DocsActivelyUsing30Day
- DocsActivelyUsing90Day
- DocsActivelyUsingAllTime
- WorkspacesActivelyUsing
- WorkspacesActivelyUsing7Day
- WorkspacesActivelyUsing30Day
- WorkspacesActivelyUsing90Day
- WorkspacesActivelyUsingAllTime
- WorkspacesWithActiveSubscriptions
- WorkspacesWithSuccessfulTrials
- RevenueUsd
PackAnalyticsSummary:
type: object
required:
- totalDocInstalls
- totalInvocations
- totalWorkspaceInstalls
properties:
totalDocInstalls:
type: integer
description: The number of times this Pack was installed in docs.
totalWorkspaceInstalls:
type: integer
description: The number of times this Pack was installed in workspaces.
totalInvocations:
type: integer
description: The number of times formulas in this Pack were invoked.
description: Summary analytics for Packs.
additionalProperties: {}
x-schema-name: PackAnalyticsSummary
AnalyticsScale:
type: string
description: Quantization period over which to view analytics.
enum:
- daily
- cumulative
x-schema-name: AnalyticsScale
x-tsEnumNames:
- Daily
- Cumulative
PackFormulaAnalyticsMetrics:
type: object
required:
- date
- docsActivelyUsing
- docsActivelyUsing30Day
- docsActivelyUsing7Day
- docsActivelyUsing90Day
- docsActivelyUsingAllTime
- errors
- formulaInvocations
- workspacesActivelyUsing
- workspacesActivelyUsing30Day
- workspacesActivelyUsing7Day
- workspacesActivelyUsing90Day
- workspacesActivelyUsingAllTime
properties:
date:
type: string
format: date
example: 2020-09-02
description: Date of the analytics data.
formulaInvocations:
type: integer
example: 123
description: Number of times this formula has been invoked.
errors:
type: integer
example: 5
description: Number of errors from invocations.
medianLatencyMs:
type: integer
example: 500
description: Median latency of an invocation in milliseconds. Only present for daily metrics.
medianResponseSizeBytes:
type: integer
example: 300
description: Median response size in bytes. Only present for daily metrics.
docsActivelyUsing:
type: integer
example: 50
description: Number of unique docs that have invoked a formula from this Pack in the past day.
docsActivelyUsing7Day:
type: integer
example: 100
description: Number of unique docs that have invoked a formula from this Pack in the past 7 days.
docsActivelyUsing30Day:
type: integer
example: 200
description: Number of unique docs that have invoked a formula from this Pack in the past 30 days.
docsActivelyUsing90Day:
type: integer
example: 300
description: Number of unique docs that have invoked a formula from this Pack in the past 90 days.
docsActivelyUsingAllTime:
type: integer
example: 500
description: Number of unique docs that have invoked a formula from this Pack ever.
workspacesActivelyUsing:
type: integer
example: 10
description: Number of unique workspaces that have invoked a formula from this Pack in the past day.
workspacesActivelyUsing7Day:
type: integer
example: 15
description: Number of unique workspaces that have invoked a formula from this Pack in the past 7 days.
workspacesActivelyUsing30Day:
type: integer
example: 20
description: Number of unique workspaces that have invoked a formula from this Pack in the past 30 days.
workspacesActivelyUsing90Day:
type: integer
example: 30
description: Number of unique workspaces that have invoked a formula from this Pack in the past 90 days.
workspacesActivelyUsingAllTime:
type: integer
example: 50
description: Number of unique workspaces that have invoked a formula from this Pack ever.
workspacesActivelyTrialing:
type: integer
description: Number of unique workspaces that are currently involved in a trial.
workspacesActivelyTrialing7Day:
type: integer
description: Number of unique workspaces that have been involved in a trial in the last 7 days.
workspacesActivelyTrialing30Day:
type: integer
description: Number of unique workspaces that have been involved in a trial in the last 30 days.
workspacesActivelyTrialing90Day:
type: integer
description: Number of unique workspaces that have been involved in a trial in the last 90 days.
workspacesActivelyTrialingAllTime:
type: integer
description: Number of unique workspaces that have been involved in a trial ever.
workspacesNewlySubscribed:
type: integer
description: Number of unique workspaces that have recently subscribed to the Pack.
workspacesWithActiveSubscriptions:
type: integer
description: Number of unique workspaces that are currently subscribed to the Pack.
workspacesWithSuccessfulTrials:
type: integer
description: Number of unique workspaces that subscribed after undertaking a Pack trial.
revenueUsd:
type: string
description: Amount of revenue (in USD) that the Pack has produced.
description: Analytics metrics for a Coda Pack formula.
additionalProperties: {}
x-schema-name: PackFormulaAnalyticsMetrics
PackFormulaAnalyticsItem:
type: object
required:
- formula
- metrics
properties:
formula:
$ref: '#/definitions/PackFormulaIdentifier'
metrics:
type: array
items:
$ref: '#/definitions/PackFormulaAnalyticsMetrics'
description: Analytics data for a Coda Pack formula.
additionalProperties: {}
x-schema-name: PackFormulaAnalyticsItem
PackFormulaAnalyticsCollection:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/PackFormulaAnalyticsItem'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: A collection of analytics for Coda Packs formulas over a date range.
additionalProperties: {}
x-schema-name: PackFormulaAnalyticsCollection
PackFormulaAnalyticsOrderBy:
type: string
description: Determines how the Pack formula analytics returned are sorted.
enum:
- date
- formulaName
- formulaType
- formulaInvocations
- medianLatencyMs
- medianResponseSizeBytes
- errors
- docsActivelyUsing
- docsActivelyUsing7Day
- docsActivelyUsing30Day
- docsActivelyUsing90Day
- docsActivelyUsingAllTime
- workspacesActivelyUsing
- workspacesActivelyUsing7Day
- workspacesActivelyUsing30Day
- workspacesActivelyUsing90Day
- workspacesActivelyUsingAllTime
x-schema-name: PackFormulaAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- FormulaName
- FormulaType
- FormulaInvocations
- MedianLatencyMs
- MedianResponseSizeBytes
- Errors
- DocsActivelyUsing
- DocsActivelyUsing7Day
- DocsActivelyUsing30Day
- DocsActivelyUsing90Day
- DocsActivelyUsingAllTime
- WorkspacesActivelyUsing
- WorkspacesActivelyUsing7Day
- WorkspacesActivelyUsing30Day
- WorkspacesActivelyUsing90Day
- WorkspacesActivelyUsingAllTime
AnalyticsLastUpdatedResponse:
type: object
required:
- docAnalyticsLastUpdated
- packAnalyticsLastUpdated
- packFormulaAnalyticsLastUpdated
properties:
docAnalyticsLastUpdated:
type: string
format: date
example: 2022-05-01
description: Date that doc analytics were last updated.
packAnalyticsLastUpdated:
type: string
format: date
example: 2022-05-01
description: Date that Pack analytics were last updated.
packFormulaAnalyticsLastUpdated:
type: string
format: date
example: 2022-05-01
description: Date that Pack formula analytics were last updated.
description: Response representing the last day analytics were updated.
additionalProperties: {}
x-schema-name: AnalyticsLastUpdatedResponse
Pack:
type: object
required:
- categories
- description
- id
- name
- shortDescription
- workspaceId
properties:
id:
type: number
example: 1003.0
description: ID of the Pack.
logoUrl:
type: string
format: url
description: The link to the logo of the Pack.
coverUrl:
type: string
format: url
description: The link to the cover photo of the Pack.
workspaceId:
type: string
example: ws-asdf
description: The parent workspace for the Pack.
categories:
type: array
description: Publishing categories associated with this Pack.
items:
$ref: '#/definitions/PublishingCategory'
certified:
type: boolean
description: Denotes if the pack is certified by Coda.
sourceCodeVisibility:
$ref: '#/definitions/PackSourceCodeVisibility'
name:
type: string
example: Cool Geometry Formulas
description: The name of the Pack.
maxLength: 128
description:
type: string
example: "This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids."
description: The full description of the Pack.
maxLength: 8192
shortDescription:
type: string
example: Calculate cool geometric formulas like surface area.
description: A short version of the description of the Pack.
maxLength: 256
supportEmail:
type: string
example: [email protected]
description: A contact email for the Pack.
maxLength: 512
termsOfServiceUrl:
type: string
format: url
description: A Terms of Service URL for the Pack.
maxLength: 512
privacyPolicyUrl:
type: string
format: url
description: A Privacy Policy URL for the Pack.
maxLength: 512
overallRateLimit:
$ref: '#/definitions/PackRateLimit'
perConnectionRateLimit:
$ref: '#/definitions/PackRateLimit'
featuredDocStatus:
$ref: '#/definitions/FeaturedDocStatus'
description: Details about a Pack.
additionalProperties: {}
x-schema-name: Pack
PackSummary:
type: object
required:
- categories
- description
- id
- name
- shortDescription
- workspaceId
properties:
id:
type: number
example: 1003.0
description: ID of the Pack.
logoUrl:
type: string
format: url
description: The link to the logo of the Pack.
coverUrl:
type: string
format: url
description: The link to the cover photo of the Pack.
workspaceId:
type: string
example: ws-asdf
description: The parent workspace for the Pack.
categories:
type: array
description: Publishing categories associated with this Pack.
items:
$ref: '#/definitions/PublishingCategory'
certified:
type: boolean
description: Denotes if the pack is certified by Coda.
sourceCodeVisibility:
$ref: '#/definitions/PackSourceCodeVisibility'
name:
type: string
example: Cool Geometry Formulas
description: The name of the Pack.
maxLength: 128
description:
type: string
example: "This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids."
description: The full description of the Pack.
maxLength: 8192
shortDescription:
type: string
example: Calculate cool geometric formulas like surface area.
description: A short version of the description of the Pack.
maxLength: 256
supportEmail:
type: string
example: [email protected]
description: A contact email for the Pack.
maxLength: 512
termsOfServiceUrl:
type: string
format: url
description: A Terms of Service URL for the Pack.
maxLength: 512
privacyPolicyUrl:
type: string
format: url
description: A Privacy Policy URL for the Pack.
maxLength: 512
description: Summary of a Pack.
additionalProperties: {}
x-schema-name: PackSummary
PackSummaryList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/PackSummary'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of Pack summaries.
additionalProperties: {}
x-schema-name: PackSummaryList
PackRateLimit:
type: object
required:
- intervalSeconds
- operationsPerInterval
properties:
intervalSeconds:
type: integer
example: 3600
description: The rate limit interval in seconds.
minimum: 1
maximum: 86400
operationsPerInterval:
type: integer
example: 20
description: The maximum number of Pack operations that can be performed in a given interval.
minimum: 0
description: Rate limit in Pack settings.
additionalProperties: {}
x-schema-name: PackRateLimit
PacksSortBy:
type: string
description: Determines how the Packs returned are sorted.
enum:
- title
- createdAt
- updatedAt
x-schema-name: PacksSortBy
x-tsEnumNames:
- Title
- CreatedAt
- UpdatedAt
PackListingsSortBy:
type: string
description: Determines how the Pack listings returned are sorted.
enum:
- packId
- name
- packVersion
- packVersionModifiedAt
x-schema-name: PackListingsSortBy
x-tsEnumNames:
- PackId
- Name
- PackVersion
- PackVersionModifiedAt
PackVersionUploadInfo:
type: object
required:
- headers
- uploadUrl
properties:
uploadUrl:
type: string
example: https://coda-us-west-2-prod-packs-upload.s3.amazonaws.com/packs/123/versions/1.0.0
description: A URL to be used for uploading a Pack version definition.
headers:
type: object
example: "{\"header1\": \"value1\"}"
description: Key-value pairs of authorization headers to include in the upload request.
additionalProperties:
type: string
description: Information indicating where to upload the Pack version definition.
additionalProperties: {}
x-schema-name: PackVersionUploadInfo
PackPrincipal:
description: Metadata about a Pack principal.
x-schema-name: PackPrincipal
PackPrincipalType:
type: string
description: Type of Pack permissions.
enum:
- user
- workspace
- worldwide
x-schema-name: PackPrincipalType
x-tsEnumNames:
- User
- Workspace
- Worldwide
PackAccessType:
type: string
enum:
- view
- test
- edit
- admin
x-schema-name: PackAccessType
x-tsEnumNames:
- View
- Test
- Edit
- Admin
PackAccessTypes:
type: array
description: Access types for a Pack.
items:
$ref: '#/definitions/PackAccessType'
x-schema-name: PackAccessTypes
PackUserPrincipal:
type: object
required:
- email
- type
properties:
type:
type: string
enum:
- user
x-tsType: PackPrincipalType.User
email:
type: string
additionalProperties: {}
x-schema-name: PackUserPrincipal
PackWorkspacePrincipal:
type: object
required:
- type
- workspaceId
properties:
type:
type: string
enum:
- workspace
x-tsType: PackPrincipalType.Workspace
workspaceId:
type: string
additionalProperties: {}
x-schema-name: PackWorkspacePrincipal
PackGlobalPrincipal:
type: object
required:
- type
properties:
type:
type: string
enum:
- worldwide
x-tsType: PackPrincipalType.Worldwide
additionalProperties: {}
x-schema-name: PackGlobalPrincipal
PackPermissionList:
type: object
required:
- items
- permissionUsers
properties:
items:
type: array
items:
$ref: '#/definitions/PackPermission'
permissionUsers:
type: array
items:
$ref: '#/definitions/UserSummary'
description: List of Pack permissions.
additionalProperties: {}
x-schema-name: PackPermissionList
PackPermission:
type: object
required:
- access
- id
- principal
properties:
id:
type: string
description: Id for the Permission
principal:
$ref: '#/definitions/PackPrincipal'
access:
$ref: '#/definitions/PackAccessType'
description: Metadata about a Pack permission.
additionalProperties: {}
x-schema-name: PackPermission
PackAssetType:
type: string
enum:
- logo
- cover
- exampleImage
x-schema-name: PackAssetType
x-tsEnumNames:
- Logo
- Cover
- ExampleImage
PackAssetUploadInfo:
type: object
required:
- headers
- packAssetUploadedPathName
- uploadUrl
properties:
uploadUrl:
type: string
format: url
example: https://coda-us-west-2-prod-blobs-upload.s3-accelerate.amazonaws.com/packs/123/assets/logo/e23fcb5e564f08b71183d424c2c380c0
description: A signed URL to be used for uploading a Pack asset.
packAssetUploadedPathName:
type: string
example: /packs/123/assets/e23fcb5e564f08b71183d424c2c380c0
description: An endpoint to mark the upload as complete.
headers:
type: object
example: "{\"header1\": \"value1\"}"
description: Key-value pairs of authorization headers to include in the upload request.
additionalProperties:
type: string
description: "Information indicating where to upload the Pack asset, and an endpoint to mark the upload as complete."
additionalProperties: {}
x-schema-name: PackAssetUploadInfo
PackConfigurationEntry:
type: object
required:
- configurationId
- name
properties:
configurationId:
type: string
name:
type: string
description: Name of the configuration
policy:
type: object
description: Policy associated with the configuration
additionalProperties: {}
description: Basic details about a configuration that can be used in conjunction with a pack
additionalProperties: {}
x-schema-name: PackConfigurationEntry
PackOrganizationAccess:
type: object
required:
- canRequestAccess
- hasRequestedAccess
- requiresConfiguration
properties:
canRequestAccess:
type: boolean
hasRequestedAccess:
type: boolean
requiresConfiguration:
type: boolean
incompatibleDocPermissions:
type: array
items:
$ref: '#/definitions/Permission'
incompatibleDocOwner:
$ref: '#/definitions/UserSummary'
incompatibleDocFolder:
$ref: '#/definitions/FolderReference'
allowedConfigurations:
type: array
items:
$ref: '#/definitions/PackConfigurationEntry'
description: Describes restrictions that a user's organization has placed on a pack
additionalProperties: {}
x-schema-name: PackOrganizationAccess
PackVersion:
type: object
required:
- buildNotes
- createdAt
- creationUserLoginId
- packId
- packVersion
properties:
packId:
type: number
example: 1003.0
description: ID of the Pack.
buildNotes:
type: string
example: Adding a new formula.
description: Developer notes.
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the version was created.
creationUserLoginId:
type: string
example: [email protected]
description: The login ID of creation user of the Pack version.
releaseId:
type: number
example: 2.0
description: The release number of the Pack version if it has one.
packVersion:
type: string
example: 1.0.3
description: The semantic format of the Pack version.
sdkVersion:
type: string
example: 1.5.1
description: What Packs SDK version was this version built on.
source:
$ref: '#/definitions/PackSource'
description: Details about a Pack version.
additionalProperties: {}
x-schema-name: PackVersion
PackVersionList:
type: object
required:
- creationUsers
- items
properties:
items:
type: array
items:
$ref: '#/definitions/PackVersion'
creationUsers:
type: array
items:
$ref: '#/definitions/UserSummary'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of Pack versions.
additionalProperties: {}
x-schema-name: PackVersionList
PackRelease:
type: object
required:
- createdAt
- packId
- packVersion
- releaseId
- releaseNotes
- sdkVersion
properties:
packId:
type: number
example: 1003.0
description: ID of the Packs.
releaseNotes:
type: string
example: The first release.
description: Developer notes.
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the release was created.
releaseId:
type: number
example: 2.0
description: The release number of the Pack version if it has one.
packVersion:
type: string
example: 1.0.3
description: The semantic format of the Pack version.
sdkVersion:
type: string
example: 1.5.1
description: What Packs SDK version was this version built on.
description: Details about a Pack release.
additionalProperties: {}
x-schema-name: PackRelease
PackReleaseList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/PackRelease'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of Pack releases.
additionalProperties: {}
x-schema-name: PackReleaseList
PackSource:
type: string
enum:
- web
- cli
x-schema-name: PackSource
x-tsEnumNames:
- Web
- Cli
PackSourceCodeUploadInfo:
type: object
required:
- headers
- uploadUrl
- uploadedPathName
properties:
uploadUrl:
type: string
format: url
example: https://coda-us-west-2-packs-upload.s3-accelerate.amazonaws.com/packUploads/123/1/main.ts
description: A signed URL to be used for uploading a Pack source code.
uploadedPathName:
type: string
example: /packs/123/versions/1/sourceCode/uploadComplete
description: An endpoint to mark the upload as complete.
headers:
type: object
example: "{\"header1\": \"value1\"}"
description: Key-value pairs of authorization headers to include in the upload request.
additionalProperties:
type: string
description: "Information indicating where to upload the Pack source code, and an endpoint to mark the upload as complete."
additionalProperties: {}
x-schema-name: PackSourceCodeUploadInfo
PackSourceCodeInfo:
type: object
required:
- files
properties:
files:
type: array
items:
$ref: '#/definitions/PackSourceCode'
description: "Information indicating where to upload the Pack source code, and an endpoint to mark the upload as complete."
additionalProperties: {}
x-schema-name: PackSourceCodeInfo
PackSourceCode:
type: object
required:
- filename
- url
properties:
filename:
type: string
example: main.ts
description: name of the file
url:
type: string
example: https://coda-us-west-2-packs.s3.us-west-2.amazonaws.com/packs/123/1/main.ts
description: The URL to download the source code from
description: Details about a Pack's source code.
additionalProperties: {}
x-schema-name: PackSourceCode
PackDiscoverability:
type: string
description: Widest principal a Pack is available to.
enum:
- public
- workspace
- private
x-schema-name: PackDiscoverability
x-tsEnumNames:
- Public
- Workspace
- Private
PackListing:
type: object
required:
- categories
- description
- externalMetadataUrl
- logoUrl
- makers
- name
- packId
- packVersion
- sdkVersion
- shortDescription
properties:
packId:
type: number
example: 1003.0
description: ID of the Pack.
packVersion:
type: string
example: 1.0.3
description: The version of the Pack.
releaseId:
type: number
example: 2.0
description: "The current release number of the Pack if released, otherwise undefined."
lastReleasedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: The timestamp of the latest release of this Pack.
logoUrl:
type: string
format: url
description: The link to the logo of the Pack.
coverUrl:
type: string
format: url
description: The link to the cover photo of the Pack.
name:
type: string
example: Cool Geometry Formulas
description: The name of the Pack.
description:
type: string
example: "This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids."
description: The full description of the Pack.
maxLength: 8192
shortDescription:
type: string
example: Calculate cool geometric formulas like surface area.
description: A short version of the description of the Pack.
supportEmail:
type: string
example: [email protected]
description: A contact email for the Pack.
termsOfServiceUrl:
type: string
format: url
description: A Terms of Service URL for the Pack.
privacyPolicyUrl:
type: string
format: url
description: A Privacy Policy URL for the Pack.
categories:
type: array
description: Publishing Categories associated with this Pack.
items:
$ref: '#/definitions/PublishingCategory'
makers:
type: array
description: Makers associated with this Pack.
items:
$ref: '#/definitions/MakerSummary'
certified:
type: boolean
description: Denotes if the pack is certified by Coda.
minimumFeatureSet:
$ref: '#/definitions/FeatureSet'
unrestrictedFeatureSet:
$ref: '#/definitions/FeatureSet'
externalMetadataUrl:
type: string
example: https://codahosted.io/packs/12345/1.2.3/metadata/0c892064aa5cb.json
description: The URL where complete metadata about the contents of the Pack version can be downloaded.
standardPackPlan:
$ref: '#/definitions/StandardPackPlan'
bundledPackPlan:
$ref: '#/definitions/BundledPackPlan'
sourceCodeVisibility:
$ref: '#/definitions/PackSourceCodeVisibility'
sdkVersion:
type: string
example: 1.5.1
description: What Packs SDK version was this version built on.
description: A Pack listing.
additionalProperties: {}
x-schema-name: PackListing
PackListingDetail:
type: object
required:
- categories
- description
- discoverability
- externalMetadataUrl
- logoUrl
- makers
- name
- packId
- packVersion
- sdkVersion
- shortDescription
- userAccess
properties:
packId:
type: number
example: 1003.0
description: ID of the Pack.
packVersion:
type: string
example: 1.0.3
description: The version of the Pack.
releaseId:
type: number
example: 2.0
description: "The current release number of the Pack if released, otherwise undefined."
lastReleasedAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: The timestamp of the latest release of this Pack.
logoUrl:
type: string
format: url
description: The link to the logo of the Pack.
coverUrl:
type: string
format: url
description: The link to the cover photo of the Pack.
name:
type: string
example: Cool Geometry Formulas
description: The name of the Pack.
description:
type: string
example: "This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids."
description: The full description of the Pack.
maxLength: 8192
shortDescription:
type: string
example: Calculate cool geometric formulas like surface area.
description: A short version of the description of the Pack.
supportEmail:
type: string
example: [email protected]
description: A contact email for the Pack.
termsOfServiceUrl:
type: string
format: url
description: A Terms of Service URL for the Pack.
privacyPolicyUrl:
type: string
format: url
description: A Privacy Policy URL for the Pack.
categories:
type: array
description: Publishing Categories associated with this Pack.
items:
$ref: '#/definitions/PublishingCategory'
makers:
type: array
description: Makers associated with this Pack.
items:
$ref: '#/definitions/MakerSummary'
certified:
type: boolean
description: Denotes if the pack is certified by Coda.
minimumFeatureSet:
$ref: '#/definitions/FeatureSet'
unrestrictedFeatureSet:
$ref: '#/definitions/FeatureSet'
externalMetadataUrl:
type: string
example: https://codahosted.io/packs/12345/1.2.3/metadata/0c892064aa5cb.json
description: The URL where complete metadata about the contents of the Pack version can be downloaded.
standardPackPlan:
$ref: '#/definitions/StandardPackPlan'
bundledPackPlan:
$ref: '#/definitions/BundledPackPlan'
sourceCodeVisibility:
$ref: '#/definitions/PackSourceCodeVisibility'
sdkVersion:
type: string
example: 1.5.1
description: What Packs SDK version was this version built on.
discoverability:
$ref: '#/definitions/PackDiscoverability'
userAccess:
$ref: '#/definitions/PackUserAccess'
codaHelpCenterUrl:
type: string
description: The URL of a Coda Help Center article with documentation about the Pack. This will only exist for select Coda-authored Packs.
configuration:
$ref: '#/definitions/PackConfigurationEntry'
description: A detailed Pack listing.
additionalProperties: {}
x-schema-name: PackListingDetail
PackListingList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/PackListing'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: A list of Pack listings.
additionalProperties: {}
x-schema-name: PackListingList
PackSystemConnectionMetadata:
description: Metadata of a Pack system connection.
x-schema-name: PackSystemConnectionMetadata
PackUserAccess:
type: object
required:
- canEdit
- canInstall
- canPurchase
- canTest
- canView
- requiresTrial
properties:
canEdit:
type: boolean
canTest:
type: boolean
canView:
type: boolean
canInstall:
type: boolean
canPurchase:
type: boolean
requiresTrial:
type: boolean
organization:
$ref: '#/definitions/PackOrganizationAccess'
description: The access capabilities the current user has for this Pack.
example: "{\"canEdit\": false, \"canTest\": false, \"canView\": true, \"canInstall\": true}"
additionalProperties: {}
x-schema-name: PackUserAccess
PackOauthConfigMetadata:
type: object
required:
- authorizationUrl
- maskedClientId
- maskedClientSecret
- redirectUri
- tokenUrl
properties:
maskedClientId:
type: string
description: "Masked OAuth client id. If not set, empty string will be returned."
maskedClientSecret:
type: string
description: "Masked OAuth client secret. If not set, empty string will be returned."
authorizationUrl:
type: string
description: Authorization URL of the OAuth provider.
tokenUrl:
type: string
description: Token URL of the OAuth provider.
tokenPrefix:
type: string
description: Optional token prefix that's used to make the API request.
scopes:
type: string
description: Optional scopes of the OAuth client.
redirectUri:
type: string
description: Redirect URI of the Pack.
description: The Pack OAuth configuration metadata.
additionalProperties: {}
x-schema-name: PackOauthConfigMetadata
CreatePackRequest:
type: object
properties:
workspaceId:
type: string
example: ws-asdf
description: "The parent workspace for the Pack. If unspecified, the user's default workspace will be used."
name:
type: string
example: Trigonometry
description: The name for the Pack.
description:
type: string
example: Common trigonometric functions.
description: A brief description of the Pack.
sourcePackId:
type: number
example: 10029.0
description: "The ID of the new Pack's source, if this new Pack was forked."
x-nullable: true
description: Payload for creating a Pack.
additionalProperties: {}
x-schema-name: CreatePackRequest
CreatePackResponse:
type: object
required:
- packId
properties:
packId:
type: number
example: 123.0
description: The ID assigned to the newly-created Pack.
description: Info about a Pack that was just created.
additionalProperties: {}
x-schema-name: CreatePackResponse
GetNextPackVersionRequest:
type: object
required:
- proposedMetadata
properties:
proposedMetadata:
type: string
example: "{\"formulas\": [{\"description\": \"my formula\", \"name\": \"foo\", \"parameters\": [], \"resultType\": 0}]}"
description: The metadata for the next version of the Pack.
sdkVersion:
type: string
example: 1.0.0
description: The SDK version the metadata was built on.
description: Payload for getting the next version of a Pack.
additionalProperties: {}
x-schema-name: GetNextPackVersionRequest
PackConnectionType:
type: string
description: Type of Pack connections.
enum:
- header
- multiHeader
- urlParam
- httpBasic
- custom
- oauth2ClientCredentials
x-schema-name: PackConnectionType
x-tsEnumNames:
- Header
- MultiHeader
- UrlParam
- HttpBasic
- Custom
- OAuth2ClientCredentials
PackOAuth2ClientCredentialsLocation:
type: string
description: Location of including OAuth2 client credentials in a request.
enum:
- automatic
- body
- header
x-schema-name: PackOAuth2ClientCredentialsLocation
x-tsEnumNames:
- Automatic
- Body
- Header
PackSystemConnectionCredentials:
description: Credentials of a Pack connection.
x-schema-name: PackSystemConnectionCredentials
PackConnectionHeaderMetadata:
type: object
required:
- headerName
- tokenPrefix
- type
properties:
type:
type: string
enum:
- header
x-tsType: PackConnectionType.Header
maskedToken:
type: string
headerName:
type: string
tokenPrefix:
type: string
additionalProperties: {}
x-schema-name: PackConnectionHeaderMetadata
PackConnectionMultiHeaderMetadata:
type: object
required:
- headers
- presets
- type
properties:
type:
type: string
enum:
- multiHeader
x-tsType: PackConnectionType.MultiHeader
headers:
type: array
items:
type: object
additionalProperties: {}
presets:
type: array
items:
type: object
additionalProperties: {}
additionalProperties: {}
x-schema-name: PackConnectionMultiHeaderMetadata
PackConnectionUrlParamMetadata:
type: object
required:
- domain
- params
- presetKeys
- type
properties:
type:
type: string
enum:
- urlParam
x-tsType: PackConnectionType.UrlParam
params:
type: array
items:
type: object
additionalProperties: {}
domain:
type: string
presetKeys:
type: array
items:
type: string
additionalProperties: {}
x-schema-name: PackConnectionUrlParamMetadata
PackConnectionHttpBasicMetadata:
type: object
required:
- type
properties:
type:
type: string
enum:
- httpBasic
x-tsType: PackConnectionType.HttpBasic
maskedUsername:
type: string
maskedPassword:
type: string
additionalProperties: {}
x-schema-name: PackConnectionHttpBasicMetadata
PackConnectionCustomMetadata:
type: object
required:
- domain
- params
- presetKeys
- type
properties:
type:
type: string
enum:
- custom
x-tsType: PackConnectionType.Custom
params:
type: array
description: An array of objects containing the parameter key and masked value.
items:
type: object
additionalProperties: {}
domain:
type: string
description: The domain corresponding to the pre-authorized network domain in the pack.
presetKeys:
type: array
description: An array containing the keys of parameters specified by the authentication config.
items:
type: string
additionalProperties: {}
x-schema-name: PackConnectionCustomMetadata
PackConnectionOauth2ClientCredentialsMetadata:
type: object
required:
- location
- maskedClientId
- maskedClientSecret
- type
properties:
type:
type: string
enum:
- oauth2ClientCredentials
x-tsType: PackConnectionType.OAuth2ClientCredentials
location:
$ref: '#/definitions/PackOAuth2ClientCredentialsLocation'
maskedClientId:
type: string
maskedClientSecret:
type: string
additionalProperties: {}
x-schema-name: PackConnectionOauth2ClientCredentialsMetadata
PackConnectionHeaderCredentials:
type: object
required:
- token
- type
properties:
type:
type: string
enum:
- header
x-tsType: PackConnectionType.Header
token:
type: string
additionalProperties: {}
x-schema-name: PackConnectionHeaderCredentials
PackConnectionMultiHeaderCredentials:
type: object
required:
- tokens
- type
properties:
type:
type: string
enum:
- multiHeader
x-tsType: PackConnectionType.MultiHeader
tokens:
type: array
items:
type: object
additionalProperties: {}
additionalProperties: {}
x-schema-name: PackConnectionMultiHeaderCredentials
PackConnectionUrlParamCredentials:
type: object
required:
- params
- type
properties:
type:
type: string
enum:
- urlParam
x-tsType: PackConnectionType.UrlParam
params:
type: array
items:
type: object
additionalProperties: {}
additionalProperties: {}
x-schema-name: PackConnectionUrlParamCredentials
PackConnectionHttpBasicCredentials:
type: object
required:
- type
- username
properties:
type:
type: string
enum:
- httpBasic
x-tsType: PackConnectionType.HttpBasic
username:
type: string
password:
type: string
x-allow-empty: true
additionalProperties: {}
x-schema-name: PackConnectionHttpBasicCredentials
PackConnectionCustomCredentials:
type: object
required:
- params
- type
properties:
type:
type: string
enum:
- custom
x-tsType: PackConnectionType.Custom
params:
type: array
items:
type: object
additionalProperties: {}
additionalProperties: {}
x-schema-name: PackConnectionCustomCredentials
PackConnectionOauth2ClientCredentials:
type: object
required:
- clientId
- clientSecret
- type
properties:
type:
type: string
enum:
- oauth2ClientCredentials
x-tsType: PackConnectionType.OAuth2ClientCredentials
clientId:
type: string
maxLength: 512
clientSecret:
type: string
maxLength: 512
additionalProperties: {}
x-schema-name: PackConnectionOauth2ClientCredentials
PackConnectionHeaderPatch:
type: object
required:
- type
properties:
type:
type: string
enum:
- header
x-tsType: PackConnectionType.Header
token:
type: string
additionalProperties: {}
x-schema-name: PackConnectionHeaderPatch
PackConnectionMultiHeaderPatch:
type: object
required:
- type
properties:
type:
type: string
enum:
- multiHeader
x-tsType: PackConnectionType.MultiHeader
tokensToPatch:
type: array
items:
type: object
additionalProperties: {}
additionalProperties: {}
x-schema-name: PackConnectionMultiHeaderPatch
PackConnectionUrlParamPatch:
type: object
required:
- type
properties:
type:
type: string
enum:
- urlParam
x-tsType: PackConnectionType.UrlParam
paramsToPatch:
type: array
items:
type: object
additionalProperties: {}
additionalProperties: {}
x-schema-name: PackConnectionUrlParamPatch
PackConnectionHttpBasicPatch:
type: object
required:
- type
properties:
type:
type: string
enum:
- httpBasic
x-tsType: PackConnectionType.HttpBasic
username:
type: string
password:
type: string
x-allow-empty: true
additionalProperties: {}
x-schema-name: PackConnectionHttpBasicPatch
GroupedPackLogsList:
type: object
required:
- incompleteRelatedLogs
- items
properties:
items:
type: array
items:
$ref: '#/definitions/GroupedPackLog'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
incompleteRelatedLogs:
type: boolean
description: This flag will be set to true if the result doens't include all the related logs.
description: List of grouped Pack logs.
additionalProperties: {}
x-schema-name: GroupedPackLogsList
PackConnectionCustomPatch:
type: object
required:
- type
properties:
type:
type: string
enum:
- custom
x-tsType: PackConnectionType.Custom
paramsToPatch:
type: array
items:
type: object
additionalProperties: {}
additionalProperties: {}
x-schema-name: PackConnectionCustomPatch
PackConnectionOauth2ClientCredentialsPatch:
type: object
required:
- type
properties:
type:
type: string
enum:
- oauth2ClientCredentials
x-tsType: PackConnectionType.OAuth2ClientCredentials
clientId:
type: string
maxLength: 512
clientSecret:
type: string
maxLength: 512
additionalProperties: {}
x-schema-name: PackConnectionOauth2ClientCredentialsPatch
PackLogsList:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/definitions/PackLog'
nextPageToken:
$ref: '#/definitions/nextPageToken'
nextPageLink:
$ref: '#/definitions/Acl_nextPageLink'
description: List of Pack logs.
additionalProperties: {}
x-schema-name: PackLogsList
GroupedPackLog:
description: A record of grouped Pack log.
x-schema-name: GroupedPackLog
PackLog:
description: A record of Pack log.
x-schema-name: PackLog
PackLogContext:
type: object
required:
- connectionId
- createdAt
- detailsKey
- docId
- formulaName
- logId
- packId
- packVersion
- requestId
- requestType
- userId
properties:
docId:
type: string
packId:
type: string
packVersion:
type: string
formulaName:
type: string
userId:
type: string
connectionId:
type: string
requestId:
type: string
description: |
A unique identifier of the Pack invocation that can be used to associate all log types generated in one call of a Pack formula.
requestType:
$ref: '#/definitions/PackLogRequestType'
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Creation time of the log.
logId:
type: string
description: Unique identifier of this log record.
docObjectId:
type: string
description: Doc canvas object id where the formula was fired from.
docRowId:
type: string
description: Doc canvas row id where the formula was fired from.
docColumnId:
type: string
description: Doc canvas column id where the formula was fired from.
isSyncTable:
type: boolean
description: "True if this is a formula invocation loading a page of a sync table, or metadata for a sync table (like creating a dynamic schema)."
isContinuedSyncTable:
type: boolean
description: True if this is an execution of a sync table which received a pagination parameter.
autocompleteParameterName:
type: string
description: "If this formula invocation was for a parameter auto-complete, this names the parameter."
invocationSource:
type: string
description: "If this formula was invoked by something other than a user action, this should say what that was."
detailsKey:
type: string
description: Key to be used in fetching log details.
description: Logging context that comes with a Pack log.
additionalProperties: {}
x-schema-name: PackLogContext
PackCustomLog:
type: object
required:
- context
- level
- message
- type
properties:
type:
type: string
enum:
- custom
x-tsType: PackLogType.Custom
context:
$ref: '#/definitions/PackLogContext'
message:
type: string
example: The formula is called!
description: The message that's passed into context.logger.
level:
$ref: '#/definitions/LogLevel'
description: Pack log generated by developer's custom logging with context.logger.
additionalProperties: {}
x-schema-name: PackCustomLog
PackInvocationLog:
type: object
required:
- context
- type
properties:
type:
type: string
enum:
- invocation
x-tsType: PackLogType.Invocation
context:
$ref: '#/definitions/PackLogContext'
cacheHit:
type: boolean
description: True if the formula returned a prior result without executing.
duration:
type: number
description: Duration of the formula exeuction in miliseconds.
error:
type: object
description: Error info if this invocation resulted in an error.
additionalProperties: {}
description: System logs of the invocations of the Pack.
additionalProperties: {}
x-schema-name: PackInvocationLog
GroupedPackInvocationLog:
type: object
required:
- invocationLog
- relatedLogs
- type
properties:
type:
type: string
enum:
- invocation
x-tsType: PackLogType.Invocation
invocationLog:
$ref: '#/definitions/PackInvocationLog'
relatedLogs:
type: array
items:
$ref: '#/definitions/PackLog'
description: Grouped logs of the invocations of the Pack.
additionalProperties: {}
x-schema-name: GroupedPackInvocationLog
GroupedPackAuthLog:
type: object
required:
- authLog
- relatedLogs
- type
properties:
type:
type: string
enum:
- auth
x-tsType: PackLogType.Auth
authLog:
$ref: '#/definitions/PackAuthLog'
relatedLogs:
type: array
items:
$ref: '#/definitions/PackLog'
description: Grouped logs of the Pack's auth requests.
additionalProperties: {}
x-schema-name: GroupedPackAuthLog
PackFetcherLog:
type: object
required:
- context
- type
properties:
type:
type: string
enum:
- fetcher
x-tsType: PackLogType.Fetcher
context:
$ref: '#/definitions/PackLogContext'
requestSizeBytes:
type: number
description: The number of bytes in the HTTP request sent
responseCode:
type: number
responseSizeBytes:
type: number
description: The number of bytes in the HTTP response received
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
- HEAD
baseUrl:
type: string
example: https://coda.io/api
description: "base URL of the fetcher request, with all query parameters stripped off."
cacheHit:
type: boolean
description: true if the fetcher request hits catche instead of actually requesting the remote service.
duration:
type: number
description: Duration of the fetcher request in miliseconds.
description: System logs of Pack calls to context.fetcher.
additionalProperties: {}
x-schema-name: PackFetcherLog
PackInternalLog:
type: object
required:
- context
- level
- message
- type
properties:
type:
type: string
enum:
- internal
x-tsType: PackLogType.Internal
context:
$ref: '#/definitions/PackLogContext'
message:
type: string
description: The log message.
level:
$ref: '#/definitions/LogLevel'
description: Coda internal logs from the packs infrastructure. Only visible to Codans.
additionalProperties: {}
x-schema-name: PackInternalLog
PackAuthLog:
type: object
required:
- context
- path
- type
properties:
type:
type: string
enum:
- auth
x-tsType: PackLogType.Auth
context:
$ref: '#/definitions/PackLogContext'
path:
type: string
description: The request path.
errorMessage:
type: string
description: The error message.
errorStack:
type: string
description: The error stacktrace (internal only).
description: System logs of Pack authentication requests.
additionalProperties: {}
x-schema-name: PackAuthLog
PackLogRequestType:
type: string
description: The context request type where a Pack log is generated.
enum:
- unknown
- connectionNameMetadataRequest
- parameterAutocompleteMetadataRequest
- postAuthSetupMetadataRequest
- propertyOptionsMetadataRequest
- getSyncTableSchemaMetadataRequest
- getDynamicSyncTableNameMetadataRequest
- listSyncTableDynamicUrlsMetadataRequest
- searchSyncTableDynamicUrlsMetadataRequest
- getDynamicSyncTableDisplayUrlMetadataRequest
- getIdentifiersForConnectionRequest
- invokeFormulaRequest
- invokeSyncFormulaRequest
- invokeSyncUpdateFormulaRequest
- impersonateInvokeFormulaRequest
- impersonateInvokeMetadataFormulaRequest
x-schema-name: PackLogRequestType
x-tsEnumNames:
- Unknown
- ConnectionNameMetadataRequest
- ParameterAutocompleteMetadataRequest
- PostAuthSetupMetadataRequest
- PropertyOptionsMetadataRequest
- GetSyncTableSchemaMetadataRequest
- GetDynamicSyncTableNameMetadataRequest
- ListSyncTableDynamicUrlsMetadataRequest
- SearchSyncTableDynamicUrlsMetadataRequest
- GetDynamicSyncTableDisplayUrlMetadataRequest
- GetIdentifiersForConnectionRequest
- InvokeFormulaRequest
- InvokeSyncFormulaRequest
- InvokeSyncUpdateFormulaRequest
- ImpersonateInvokeFormulaRequest
- ImpersonateInvokeMetadataFormulaRequest
PackLogType:
type: string
enum:
- custom
- fetcher
- invocation
- internal
- auth
x-schema-name: PackLogType
x-tsEnumNames:
- Custom
- Fetcher
- Invocation
- Internal
- Auth
LogLevel:
type: string
enum:
- error
- warn
- info
- debug
- trace
- unknown
x-schema-name: LogLevel
x-tsEnumNames:
- Error
- Warn
- Info
- Debug
- Trace
- Unknown
FeatureSet:
type: string
description: Only relevant for original Coda packs.
enum:
- Basic
- Pro
- Team
- Enterprise
x-schema-name: FeatureSet
x-tsEnumNames:
- Basic
- Pro
- Team
- Enterprise
x-deprecated: true
PaidFeatureSet:
type: string
description: Workspace feature set excluding free.
enum:
- Pro
- Team
- Enterprise
x-schema-name: PaidFeatureSet
x-tsEnumNames:
- Pro
- Team
- Enterprise
FeaturedDocStatus:
type: string
description: Status of featured doc in pack listing.
enum:
- docInaccessibleOrDoesNotExist
- invalidPublishedDocUrl
x-schema-name: FeaturedDocStatus
x-tsEnumNames:
- DocInaccessibleOrDoesNotExist
- InvalidPublishedDocUrl
PackFormulaIdentifier:
type: object
required:
- name
- type
properties:
name:
type: string
example: SquareRoot
description: The Pack formula name.
type:
$ref: '#/definitions/PackFormulaType'
additionalProperties: {}
x-schema-name: PackFormulaIdentifier
PackFormulaType:
type: string
enum:
- action
- formula
- sync
- metadata
x-schema-name: PackFormulaType
x-tsEnumNames:
- Action
- Formula
- Sync
- Metadata
PackSourceCodeVisibility:
type: string
description: Visibility of a pack's source code.
enum:
- private
- shared
x-schema-name: PackSourceCodeVisibility
x-tsEnumNames:
- Private
- Shared
PackPlanCurrency:
type: string
description: Currency needed to subscribe to the Pack.
enum:
- USD
x-schema-name: PackPlanCurrency
x-tsEnumNames:
- Usd
PackPlanPricingType:
type: string
description: Type of pricing used to subscribe to a Pack.
enum:
- Free
- MonthlyDocMaker
- BundledWithTier
x-schema-name: PackPlanPricingType
x-tsEnumNames:
- Free
- MonthlyDocMaker
- BundledWithTier
FreePackPlanPricing:
type: object
required:
- type
properties:
type:
type: string
enum:
- Free
x-tsType: PackPlanPricingType.Free
description: Pricing used when workspaces can subscribe to the Pack for free.
additionalProperties: {}
x-schema-name: FreePackPlanPricing
MonthlyDocMakerPackPlanPricing:
type: object
required:
- amount
- currency
- type
properties:
type:
type: string
enum:
- MonthlyDocMaker
x-tsType: PackPlanPricingType.MonthlyDocMaker
amount:
type: number
description: The monthly cost of the Pack per Doc Maker.
currency:
$ref: '#/definitions/PackPlanCurrency'
description: Pricing used when workspaces can subscribe to the Pack for a monthly cost per Doc Maker.
additionalProperties: {}
x-schema-name: MonthlyDocMakerPackPlanPricing
BundledPackPlanPricing:
type: object
required:
- minimumFeatureSet
- type
properties:
type:
type: string
enum:
- BundledWithTier
x-tsType: PackPlanPricingType.BundledWithTier
minimumFeatureSet:
$ref: '#/definitions/PaidFeatureSet'
description: Pricing used when workspaces have access to the Pack for free if their workspace is at least the given tier.
additionalProperties: {}
x-schema-name: BundledPackPlanPricing
StandardPackPlan:
type: object
required:
- createdAt
- packId
- packPlanId
- pricing
properties:
packPlanId:
type: string
packId:
type: number
pricing:
description: Pricing to show how workspaces can subscribe to the Pack.
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the Pack plan was created.
description: The Pack plan to show the Pack can be subscribed to at a monthly cost per Doc Maker or for free.
additionalProperties: {}
x-schema-name: StandardPackPlan
BundledPackPlan:
type: object
required:
- createdAt
- packId
- packPlanId
- pricing
properties:
packPlanId:
type: string
packId:
type: number
pricing:
$ref: '#/definitions/BundledPackPlanPricing'
createdAt:
type: string
format: date-time
example: 2018-04-11T00:18:57.946Z
description: Timestamp for when the Pack plan was created.
description: The Pack plan to show the Pack can be accessed if the workspace is at least the given tier.
additionalProperties: {}
x-schema-name: BundledPackPlan
PatchPackSystemConnectionRequest:
description: The request to patch pack system connection credentials.
x-schema-name: PatchPackSystemConnectionRequest
SetPackOauthConfigRequest:
type: object
properties:
clientId:
type: string
clientSecret:
type: string
redirectUri:
type: string
description: Request to set the Pack OAuth configuration.
additionalProperties: {}
x-schema-name: SetPackOauthConfigRequest
SetPackSystemConnectionRequest:
type: object
required:
- credentials
properties:
credentials:
$ref: '#/definitions/PackSystemConnectionCredentials'
description: The request to set pack system connection credentials.
additionalProperties: {}
x-schema-name: SetPackSystemConnectionRequest
RegisterPackVersionRequest:
type: object
required:
- bundleHash
properties:
bundleHash:
type: string
example: f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b
description: The SHA-256 hash of the file to be uploaded.
description: Payload for registering a Pack version.
additionalProperties: {}
x-schema-name: RegisterPackVersionRequest
UpdatePackRequest:
type: object
properties:
overallRateLimit:
type: object
description: Rate limit in Pack settings.
additionalProperties: {}
x-schema-name: PackRateLimit
x-nullable: true
perConnectionRateLimit:
type: object
description: Rate limit in Pack settings.
additionalProperties: {}
x-schema-name: PackRateLimit
x-nullable: true
logoAssetId:
type: string
description: "The asset id of the Pack's logo, returned by [`#PackAssetUploadComplete`](#operation/packAssetUploadComplete) endpoint."
x-nullable: true
coverAssetId:
type: string
description: "The asset id of the Pack's cover image, returned by [`#PackAssetUploadComplete`](#operation/packAssetUploadComplete) endpoint."
x-nullable: true
exampleImageAssetIds:
type: array
description: "The asset ids of the Pack's example images, returned by [`#PackAssetUploadComplete`](#operation/packAssetUploadComplete) endpoint, sorted by their display order."
items:
type: string
x-nullable: true
sourceCodeVisibility:
$ref: '#/definitions/PackSourceCodeVisibility'
name:
type: string
example: Cool Geometry Formulas
description: The name of the Pack.
maxLength: 128
description:
type: string
example: "This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids."
description: The full description of the Pack.
maxLength: 8192
shortDescription:
type: string
example: Calculate cool geometric formulas like surface area.
description: A short version of the description of the Pack.
maxLength: 256
supportEmail:
type: string
example: [email protected]
description: A contact email for the Pack.
maxLength: 512
termsOfServiceUrl:
type: string
format: url
description: A Terms of Service URL for the Pack.
maxLength: 512
privacyPolicyUrl:
type: string
format: url
description: A Privacy Policy URL for the Pack.
maxLength: 512
description: Payload for updating a Pack.
additionalProperties: {}
x-schema-name: UpdatePackRequest
CreatePackVersionResponse:
type: object
properties:
deprecationWarnings:
type: array
items:
$ref: '#/definitions/ValidationError'
description: Confirmation of successful Pack version creation.
additionalProperties: {}
x-schema-name: CreatePackVersionResponse
DeletePackResponse:
type: object
description: Confirmation of successful Pack deletion.
additionalProperties: {}
x-schema-name: DeletePackResponse
ListPackMakersResponse:
type: object
required:
- makers
properties:
makers:
type: array
items:
$ref: '#/definitions/Maker'
description: Confirmation of successfully retrieving Pack makers.
additionalProperties: {}
x-schema-name: ListPackMakersResponse
AddPackMakerRequest:
type: object
required:
- loginId
properties:
loginId:
type: string
example: [email protected]
description: The email of the Pack maker.
description: Payload for adding a Pack maker.
additionalProperties: {}
x-schema-name: AddPackMakerRequest
AddPackMakerResponse:
type: object
description: Confirmation of successfully adding a Pack maker.
additionalProperties: {}
x-schema-name: AddPackMakerResponse
DeletePackMakerResponse:
type: object
description: Confirmation of successfully deleting a Pack maker.
additionalProperties: {}
x-schema-name: AddPackMakerResponse
ListPackCategoriesResponse:
type: object
required:
- categories
properties:
categories:
type: array
description: The names of categories associated with a Pack.
items:
$ref: '#/definitions/PublishingCategory'
description: Confirmation of successfully retrieving Pack categories.
additionalProperties: {}
x-schema-name: ListPackCategoriesResponse
AddPackCategoryRequest:
type: object
required:
- categoryName
properties:
categoryName:
type: string
example: Project management
description: Name of the publishing category.
description: Payload for adding a Pack Category.
additionalProperties: {}
x-schema-name: AddPackCategoryRequest
AddPackCategoryResponse:
type: object
description: Confirmation of successfully adding a Pack category.
additionalProperties: {}
x-schema-name: AddPackCategoryResponse
DeletePackCategoryResponse:
type: object
description: Confirmation of successfully deleting a Pack category.
additionalProperties: {}
x-schema-name: DeletePackCategoryResponse
AddPackPermissionRequest:
type: object
required:
- access
- principal
properties:
principal:
$ref: '#/definitions/PackPrincipal'
access:
$ref: '#/definitions/PackAccessType'
description: Payload for upserting a Pack permission.
additionalProperties: {}
x-schema-name: AddPackPermissionRequest
AddPackPermissionResponse:
type: object
required:
- permissionId
properties:
permissionId:
type: string
description: The ID of the permission created or updated.
description: Confirmation of successfully upserting a Pack permission.
additionalProperties: {}
x-schema-name: AddPackPermissionResponse
DeletePackPermissionResponse:
type: object
description: Confirmation of successfully deleting a Pack permission.
additionalProperties: {}
x-schema-name: DeletePackPermissionResponse
UploadPackAssetRequest:
type: object
required:
- filename
- imageHash
- mimeType
- packAssetType
properties:
packAssetType:
$ref: '#/definitions/PackAssetType'
imageHash:
type: string
example: f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b
description: The SHA-256 hash of the image to be uploaded.
mimeType:
type: string
example: image/jpeg
description: The media type of the image being sent.
filename:
type: string
example: image.jpg
description: Payload for a Pack asset upload.
additionalProperties: {}
x-schema-name: UploadPackAssetRequest
PackAssetUploadCompleteRequest:
type: object
required:
- packAssetType
properties:
packAssetType:
$ref: '#/definitions/PackAssetType'
description: Payload for noting a Pack asset upload is complete.
additionalProperties: {}
x-schema-name: PackAssetUploadCompleteRequest
PackAssetUploadCompleteResponse:
type: object
required:
- assetId
- requestId
properties:
requestId:
type: string
example: abc-123-def-456
description: An arbitrary unique identifier for this request.
assetId:
type: string
example: e23fcb5e564f08b71183d424c2c380c0
description: An identifier of this uploaded asset.
description: Response for noting a Pack asset upload is complete.
additionalProperties: {}
x-schema-name: PackAssetUploadCompleteResponse
PackSourceCodeUploadCompleteRequest:
type: object
required:
- codeHash
- filename
properties:
filename:
type: string
example: main.ts
codeHash:
type: string
example: "123456"
description: A SHA-256 hash of the source code used to identify duplicate uploads.
description: Payload for noting a Pack source code upload is complete.
additionalProperties: {}
x-schema-name: PackSourceCodeUploadCompleteRequest
PackSourceCodeUploadCompleteResponse:
type: object
required:
- requestId
properties:
requestId:
type: string
example: abc-123-def-456
description: An arbitrary unique identifier for this request.
description: Response for noting a Pack source code upload is complete.
additionalProperties: {}
x-schema-name: PackSourceCodeUploadCompleteResponse
CreatePackVersionRequest:
type: object
properties:
notes:
type: string
example: Adding a new formula HelloWorld.
description: Developer notes of the new Pack version.
source:
$ref: '#/definitions/PackSource'
allowOlderSdkVersion:
type: boolean
description: Bypass Coda's protection against SDK version regression when multiple makers build versions.
description: Payload for Pack version upload complete.
additionalProperties: {}
x-schema-name: CreatePackVersionRequest
CreatePackReleaseRequest:
type: object
required:
- packVersion
properties:
packVersion:
type: string
example: 1.0.0
description: Which semantic pack version that the release will be created on.
releaseNotes:
type: string
example: The first release.
description: Developers notes.
description: Payload for creating a new Pack release.
additionalProperties: {}
x-schema-name: CreatePackReleaseRequest
UpdatePackReleaseRequest:
type: object
properties:
releaseNotes:
type: string
example: The first release.
description: Notes about key features or changes in this release that the Pack maker wants to communicate to users.
description: Payload for updating a new Pack release.
additionalProperties: {}
x-schema-name: UpdatePackReleaseRequest
UploadPackSourceCodeRequest:
type: object
required:
- filename
- payloadHash
properties:
payloadHash:
type: string
example: f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b
description: The SHA-256 hash of the image to be uploaded.
filename:
type: string
example: main.ts
packVersion:
type: string
example: 1.0.0
description: Payload for a Pack asset upload.
additionalProperties: {}
x-schema-name: UploadPackSourceCodeRequest
NextPackVersionInfo:
type: object
required:
- findings
- nextVersion
properties:
nextVersion:
type: string
example: 2.1.0
description: The next valid version for the Pack.
findings:
type: array
description: List of changes from the previous version.
items:
type: string
description: Information indicating the next Pack version definition.
additionalProperties: {}
x-schema-name: NextPackVersionInfo
PackVersionDiffs:
type: object
required:
- findings
properties:
findings:
type: array
description: List of changes from the previous version to the next version.
items:
type: string
description: Info about the diff between two Pack versions.
additionalProperties: {}
x-schema-name: PackVersionDiffs
PackFeaturedDoc:
type: object
required:
- doc
- isPinned
properties:
doc:
$ref: '#/definitions/DocReference'
isPinned:
type: boolean
description: Whether or not this featured doc is pinned.
docStatus:
$ref: '#/definitions/FeaturedDocStatus'
publishedUrl:
type: string
format: url
description: "The URL of the published doc, if available."
description: A Pack's featured doc.
additionalProperties: {}
x-schema-name: PackFeaturedDoc
PackFeaturedDocRequestItem:
type: object
required:
- url
properties:
url:
type: string
description: A URL to a doc.
isPinned:
type: boolean
description: Whether or not the current doc should be pinned.
description: Item representing a featured doc in the update Pack featured docs request.
additionalProperties: {}
x-schema-name: PackFeaturedDocRequestItem
UpdatePackFeaturedDocsRequest:
type: object
required:
- items
properties:
items:
type: array
description: A list of docs to set as the featured docs for a Pack.
uniqueItems: true
items:
$ref: '#/definitions/PackFeaturedDocRequestItem'
maxItems: 5
description: Payload for updating featured docs for a Pack.
additionalProperties: {}
x-schema-name: UpdatePackFeaturedDocsRequest
UpdatePackFeaturedDocsResponse:
type: object
description: Confirmation of successful Pack featured docs update.
additionalProperties: {}
x-schema-name: UpdatePackFeaturedDocsResponse
PackFeaturedDocsResponse:
type: object
required:
- items
properties:
items:
type: array
description: A list of featured docs for the Pack.
items:
$ref: '#/definitions/PackFeaturedDoc'
description: List of a Pack's featured docs.
additionalProperties: {}
x-schema-name: PackFeaturedDocsResponse
GetPackConfigurationJsonSchemaResponse:
type: object
description: JSON schema response.
additionalProperties: {}
x-schema-name: GetPackConfigurationJsonSchemaResponse
Acl_nextPageLink:
type: object
x-tagGroups:
- name: Docs
tags:
- Docs
- Permissions
- Publishing
- name: Doc Structure
tags:
- Pages
- Automations
- name: Tables and Views
tags:
- Tables
- Columns
- Rows
- name: Formulas & Controls
tags:
- Formulas
- Controls
- name: Miscellaneous
tags:
- Account
- Analytics
- Miscellaneous
x-components:
parameters:
limit:
name: limit
description: Maximum number of results to return in this query.
in: query
minimum: 1
default: 25
type: integer
x-example: 10
pageToken:
name: pageToken
description: An opaque token used to fetch the next page of results.
in: query
type: string
x-example: eyJsaW1pd
syncToken:
name: syncToken
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.
in: query
type: string
x-example: eyJsaW1pd
docId:
name: docId
description: ID of the doc.
in: path
required: true
type: string
x-example: AbCDeFGH
docIds:
name: docIds
description: List of docIds to fetch.
in: query
type: array
items:
type: string
collectionFormat: csv
query:
name: query
description: Search term used to filter down results.
in: query
type: string
x-example: Supercalifragilisticexpialidocious
permissionId:
name: permissionId
description: ID of a permission on a doc.
in: path
required: true
type: string
x-example: AbCDeFGH
pageIdOrName:
name: pageIdOrName
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.
x-sdk-description: |
ID or name of the page. Names are discouraged because they're easily prone to being changed by users. Note that if you're using a name and there are multiple pages with the same name, an arbitrary one will be returned.
in: path
required: true
type: string
x-example: canvas-IjkLmnO
tableIdOrName:
name: tableIdOrName
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."
x-sdk-description: ID or name of the table. Names are discouraged because they're easily prone to being changed by users.
in: path
required: true
type: string
x-example: grid-pqRst-U
viewIdOrName:
name: viewIdOrName
description: "ID or name of the view. 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."
x-sdk-description: ID or name of the view. Names are discouraged because they're easily prone to being changed by users.
in: path
required: true
example: table-pqRst-U
schema:
type: string
columnIdOrName:
name: columnIdOrName
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."
x-sdk-description: ID or name of the column. Names are discouraged because they're easily prone to being changed by users.
in: path
required: true
type: string
x-example: c-tuVwxYz
rowIdOrName:
name: rowIdOrName
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.
x-sdk-description: |
ID or name of the row. Names are discouraged because they're easily prone to being changed by users. Note that if there are multiple rows with the same value in the identifying column, an arbitrary one will be returned.
in: path
required: true
type: string
x-example: i-tuVwxYz
formulaIdOrName:
name: formulaIdOrName
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."
x-sdk-description: ID or name of the formula. Names are discouraged because they're easily prone to being changed by users.
in: path
required: true
type: string
x-example: f-fgHijkLm
controlIdOrName:
name: controlIdOrName
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."
x-sdk-description: ID or name of the control. Names are discouraged because they're easily prone to being changed by users.
in: path
required: true
type: string
x-example: ctrl-cDefGhij
useColumnNames:
name: useColumnNames
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.
in: query
type: boolean
x-example: true
sortBy:
name: sortBy
description: Determines how to sort the given objects.
in: query
enum:
- name
type: string
x-schema-name: SortBy
x-tsEnumNames:
- Name
x-example: name
requestId:
name: requestId
description: ID of the request.
in: path
required: true
type: string
x-example: abc-123-def-456
ruleId:
name: ruleId
description: ID of the automation rule.
in: path
required: true
type: string
x-example: grid-auto-b3Jmey6jBS
tableTypes:
name: tableTypes
description: "Comma-separated list of table types to include in results. If omitted, includes both tables and views."
in: query
type: array
items:
$ref: '#/definitions/TableType'
x-example: "table,view"
collectionFormat: csv
workspaceId:
name: workspaceId
description: ID of the workspace.
in: path
required: true
type: string
x-example: ws-1Ab234
workspaceIdInQuery:
name: workspaceId
description: ID of the workspace.
in: query
required: false
type: string
x-example: ws-1Ab234
includedRoles:
name: includedRoles
description: Show only members that have the included roles specified in a comma-separated list.
in: query
explode: false
example: "Editor,DocMaker"
schema:
type: array
items:
$ref: '#/definitions/WorkspaceUserRole'
packId:
name: packId
description: ID of a Pack
in: path
required: true
minimum: 1
type: integer
x-example: 123
loginId:
name: loginId
description: Email of a Coda user.
in: path
required: true
type: string
x-example: [email protected]
categoryName:
name: categoryName
description: Name of a publishing category
in: path
required: true
type: string
x-example: Project management
packVersion:
name: packVersion
description: Semantic version of a Pack
in: path
required: true
type: string
x-example: 1.2.3
basePackVersion:
name: basePackVersion
description: Semantic version of the previous Pack version.
in: path
required: true
type: string
x-example: 1.2.3
targetPackVersion:
name: targetPackVersion
description: Semantic version of the new Pack version.
in: path
required: true
type: string
x-example: 1.2.3
packAssetId:
name: packAssetId
description: Unique identifier for a Pack asset.
in: path
required: true
type: string
packAssetType:
name: packAssetType
description: Pack asset type.
in: path
required: true
enum:
- logo
- cover
- exampleImage
type: string
x-schema-name: PackAssetType
x-tsEnumNames:
- Logo
- Cover
- ExampleImage
packAccessTypes:
name: packAccessTypes
description: Pack access types.
in: query
type: array
items:
$ref: '#/definitions/PackAccessType'
x-schema-name: PackAccessTypes
collectionFormat: csv
packIds:
name: packIds
description: Which Pack IDs to fetch.
in: query
type: array
items:
type: integer
collectionFormat: csv
excludePublicPacks:
name: excludePublicPacks
description: "Only get Packs shared with users/workspaces, not publicly."
in: query
type: boolean
excludeWorkspaceAcls:
name: excludeWorkspaceAcls
description: Do not include Packs that are only shared with workspaces.
in: query
type: boolean
excludeIndividualAcls:
name: excludeIndividualAcls
description: Do not include Packs that are only shared with the user individually.
in: query
type: boolean
onlyWorkspaceId:
name: onlyWorkspaceId
description: Use only this workspace (not all of a user's workspaces) to check for Packs shared via workspace ACL.
in: query
type: string
parentWorkspaceIds:
name: parentWorkspaceIds
description: Filter to only Packs whose parent workspace is one of the given IDs.
in: query
type: array
items:
type: string
collectionFormat: csv
direction:
name: direction
description: Direction to sort results in.
in: query
enum:
- ascending
- descending
type: string
x-schema-name: SortDirection
x-tsEnumNames:
- Ascending
- Descending
isPublished:
name: isPublished
description: Limit results to only published items.
in: query
type: boolean
isOwner:
name: isOwner
in: query
description: Show only docs owned by the user.
schema:
type: boolean
sinceDate:
name: sinceDate
description: Limit results to activity on or after this date.
in: query
format: date
type: string
x-example: 2020-08-01
untilDate:
name: untilDate
description: Limit results to activity on or before this date.
in: query
format: date
type: string
x-example: 2020-08-05
scale:
name: scale
description: Quantization period over which to view analytics. Defaults to daily.
in: query
enum:
- daily
- cumulative
type: string
x-schema-name: AnalyticsScale
x-tsEnumNames:
- Daily
- Cumulative
x-example: daily
docAnalyticsOrderBy:
name: orderBy
in: query
description: Use this parameter to order the doc analytics returned.
enum:
- date
- docId
- title
- createdAt
- publishedAt
- likes
- copies
- views
- sessionsDesktop
- sessionsMobile
- sessionsOther
- totalSessions
type: string
x-schema-name: DocAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- DocId
- Title
- CreatedAt
- PublishedAt
- Likes
- Copies
- Views
- SessionsDesktop
- SessionsMobile
- SessionsOther
- TotalSessions
packAnalyticsOrderBy:
name: orderBy
in: query
description: Use this parameter to order the Pack analytics returned.
enum:
- date
- packId
- name
- createdAt
- docInstalls
- workspaceInstalls
- numFormulaInvocations
- numActionInvocations
- numSyncInvocations
- numMetadataInvocations
- docsActivelyUsing
- docsActivelyUsing7Day
- docsActivelyUsing30Day
- docsActivelyUsing90Day
- docsActivelyUsingAllTime
- workspacesActivelyUsing
- workspacesActivelyUsing7Day
- workspacesActivelyUsing30Day
- workspacesActivelyUsing90Day
- workspacesActivelyUsingAllTime
- workspacesWithActiveSubscriptions
- workspacesWithSuccessfulTrials
- revenueUsd
type: string
x-schema-name: PackAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- PackId
- Name
- CreatedAt
- DocInstalls
- WorkspaceInstalls
- NumFormulaInvocations
- NumActionInvocations
- NumSyncInvocations
- NumMetadataInvocations
- DocsActivelyUsing
- DocsActivelyUsing7Day
- DocsActivelyUsing30Day
- DocsActivelyUsing90Day
- DocsActivelyUsingAllTime
- WorkspacesActivelyUsing
- WorkspacesActivelyUsing7Day
- WorkspacesActivelyUsing30Day
- WorkspacesActivelyUsing90Day
- WorkspacesActivelyUsingAllTime
- WorkspacesWithActiveSubscriptions
- WorkspacesWithSuccessfulTrials
- RevenueUsd
packFormulaAnalyticsOrderBy:
name: orderBy
in: query
description: Use this parameter to order the Pack formula analytics returned.
enum:
- date
- formulaName
- formulaType
- formulaInvocations
- medianLatencyMs
- medianResponseSizeBytes
- errors
- docsActivelyUsing
- docsActivelyUsing7Day
- docsActivelyUsing30Day
- docsActivelyUsing90Day
- docsActivelyUsingAllTime
- workspacesActivelyUsing
- workspacesActivelyUsing7Day
- workspacesActivelyUsing30Day
- workspacesActivelyUsing90Day
- workspacesActivelyUsingAllTime
type: string
x-schema-name: PackFormulaAnalyticsOrderBy
x-tsEnumNames:
- AnalyticsDate
- FormulaName
- FormulaType
- FormulaInvocations
- MedianLatencyMs
- MedianResponseSizeBytes
- Errors
- DocsActivelyUsing
- DocsActivelyUsing7Day
- DocsActivelyUsing30Day
- DocsActivelyUsing90Day
- DocsActivelyUsingAllTime
- WorkspacesActivelyUsing
- WorkspacesActivelyUsing7Day
- WorkspacesActivelyUsing30Day
- WorkspacesActivelyUsing90Day
- WorkspacesActivelyUsingAllTime
customDocDomain:
name: customDocDomain
description: A custom domain for a published doc.
in: path
required: true
type: string
isPublishedNoDefault:
name: isPublished
description: |
Limit results to only published items. If false or unspecified, returns all items including published ones.
in: query
type: boolean
x-no-default: true
packReleaseId:
name: packReleaseId
description: ID of a Pack release
in: path
required: true
minimum: 1
type: integer
x-example: 2
responses:
BadRequestError:
description: The request parameters did not conform to expectations.
schema:
description: An HTTP error resulting from an unsuccessful request.
required:
- statusCode
- statusMessage
- message
additionalProperties: false
properties:
statusCode:
type: number
description: HTTP status code of the error.
example: 400
statusMessage:
type: string
description: HTTP status message of the error.
example: Bad Request
message:
type: string
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
example: Bad Request
BadRequestWithValidationErrors:
description: The request parameters did not conform to expectations.
schema:
description: An HTTP error resulting from an unsuccessful request.
required:
- statusCode
- statusMessage
- message
additionalProperties: false
properties:
statusCode:
type: number
description: HTTP status code of the error.
example: 400
statusMessage:
type: string
description: HTTP status message of the error.
example: Bad Request
message:
type: string
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
example: Bad Request
codaDetail:
type: object
description: Detail about why this request was rejected.
additionalProperties: false
properties:
validationErrors:
type: array
items:
$ref: '#/definitions/ValidationError'
UnauthorizedError:
description: The API token is invalid or has expired.
schema:
description: An HTTP error resulting from an unsuccessful request.
required:
- statusCode
- statusMessage
- message
additionalProperties: false
properties:
statusCode:
type: number
description: HTTP status code of the error.
example: 401
statusMessage:
type: string
description: HTTP status message of the error.
example: Unauthorized
message:
type: string
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
example: Unauthorized
ForbiddenError:
description: The API token does not grant access to this resource.
schema:
description: An HTTP error resulting from an unsuccessful request.
required:
- statusCode
- statusMessage
- message
additionalProperties: false
properties:
statusCode:
type: number
description: HTTP status code of the error.
example: 403
statusMessage:
type: string
description: HTTP status message of the error.
example: Forbidden
message:
type: string
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
example: Forbidden
NotFoundError:
description: The resource could not be located with the current API token.
schema:
description: An HTTP error resulting from an unsuccessful request.
required:
- statusCode
- statusMessage
- message
additionalProperties: false
properties:
statusCode:
type: number
description: HTTP status code of the error.
example: 404
statusMessage:
type: string
description: HTTP status message of the error.
example: Not Found
message:
type: string
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
example: Not Found
GoneError:
description: The resource has been deleted.
schema:
description: An HTTP error resulting from an unsuccessful request.
required:
- statusCode
- statusMessage
- message
additionalProperties: false
properties:
statusCode:
type: number
description: HTTP status code of the error.
example: 410
statusMessage:
type: string
description: HTTP status message of the error.
example: Gone
message:
type: string
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
example: Gone
UnprocessableEntityError:
description: Unable to process the request.
schema:
description: An HTTP error resulting from an unsuccessful request.
required:
- statusCode
- statusMessage
- message
additionalProperties: false
properties:
statusCode:
type: number
description: HTTP status code of the error.
example: 422
statusMessage:
type: string
description: HTTP status message of the error.
example: Unprocessable Entity
message:
type: string
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
example: Unprocessable Entity
TooManyRequestsError:
description: The client has sent too many requests.
schema:
description: An HTTP error resulting from an unsuccessful request.
required:
- statusCode
- statusMessage
- message
additionalProperties: false
properties:
statusCode:
type: number
description: HTTP status code of the error.
example: 429
statusMessage:
type: string
description: HTTP status message of the error.
example: Too Many Requests
message:
type: string
description: "Any additional context on the error, or the same as `statusMessage` otherwise."
example: Too Many Requests
@villeodell
Copy link
Author

Created with the help of https://github.com/LucyBot-Inc/api-spec-converter, then modified further by hand to make corrections.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment