Created
November 11, 2023 14:23
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
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: | |
<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: | |
- group | |
- domain | |
- anyone | |
x-schema-name: PrincipalType | |
x-tsEnumNames: | |
- Group | |
- Domain | |
- Anyone | |
AddedPrincipal: | |
description: Metadata about a principal to add to a doc. | |
x-schema-name: AddedPrincipal | |
AddedEmailPrincipal: | |
type: object | |
required: | |
- type | |
properties: | |
type: | |
type: string | |
description: The type of this principal. | |
enum: | |
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: | |
- type | |
properties: | |
type: | |
type: string | |
description: The type of this principal. | |
enum: | |
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 | |
- 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 | |
- 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: | |
- 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: | |
- 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: | |
- 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: | |
- 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Created with the help of https://github.com/LucyBot-Inc/api-spec-converter, then modified further by hand to make corrections.