openapi: 3.0.0
info:
version: 1.5.0
title: Coda Account Packs API
license:
name: Coda Developer Terms
url: https://coda.io/trust/developer
description: "# Introduction\n\nThe Coda API is a RESTful API that lets you programmatically interact with Coda docs:\n\n * List and search Coda docs\n * Create new docs and copy existing ones\n * Share and publish docs\n * Discover pages, tables, formulas, and controls\n * Read, insert, upsert, update, and delete rows\n\nIf you plan to integrate Coda with an AI tool, you may also want to consider using the\n[Coda MCP server](https://coda.io/resources/guides/getting_started_with_coda_mcp). It's optimized for LLM usage\npatterns and often exposes more granular methods for accessing and modifying data.\n\n# Getting Started\n\nOur [Getting Started Guide](https://coda.io/@oleg/getting-started-guide-coda-api) helps you learn the\nbasic of working with the API and shows a few ways you can use it. Check it out, and learn how to:\n\n- Read data from Coda tables and write back to them\n- Build a one-way sync from one Coda doc to another\n- Automate reminders\n- Sync your Google Calendar to Coda\n\n# Changes to the API\n\nAs we update and release newer versions of the API, we reserve the right to remove\nolder APIs and functionality with a 3-month deprecation notice. We will post about such changes as well as announce\nnew features in the [Developers Central](https://community.coda.io/c/developers-central) section of our Community,\nand update the [API updates](https://coda.io/api-updates) doc.\n\n# Using the API\n\nCoda's REST API is designed to be straightforward to use. You can use the language and platform of your choice to\nmake requests. To get a feel for the API, you can also use a tool like [Postman](https://www.getpostman.com/) or\n[Insomnia](https://insomnia.rest/).\n\n## API Endpoint\n\nThis API uses a base path of `https://coda.io/apis/v1`.\n\n## Resource IDs and Links\n\nEach resource instance retrieved via the API has the following fields:\n\n - `id`: The resource's immutable ID, which can be used to refer to it within its context\n - `type`: The type of resource, useful for identifying it in a heterogenous collection of results\n - `href`: A fully qualified URI that can be used to refer to and get the latest details on the resource\n\nMost resources can be queried by their name or ID. We recommend sticking with IDs where possible, as names are\nfragile and prone to being changed by your doc's users.\n\n### List Endpoints\n\nEndpoints supporting listing of resources have the following fields:\n\n - `items`: An array containing the listed resources, limited by the `limit` or `pageToken` query parameters\n - `nextPageLink`: If more results are available, an API link to the next page of results\n - `nextPageToken`: If more results are available, a page token that can be passed into the `pageToken` query parameter\n\n**The maximum page size may change at any time, and may be different for different endpoints.** Please do not rely on it\nfor any behavior of your application. If you pass a `limit` parameter that is larger than our maximum allowed limit,\nwe will only return as many results as our maximum limit. You should look for the presence of the `nextPageToken` on the\nresponse to see if there are more results available, rather than relying on a result set that matches your provided limit.\n\nTo fetch a subsequent page of results, pass the `pageToken` parameter. Set this parameter to the value given to you as the `nextPageToken`\nin a page response. If no value is provided, there are no more results available. You only need to pass the `pageToken` to get\nthe next page of results, you don't need to pass any of the parameters from your original request, as they are all\nimplied by the `pageToken`. Any other parameters provided alongside a `pageToken` will be ignored.\n\n### Doc IDs\n\nWhile most object IDs will have to be discovered via the API, you may find yourself frequently wanting to get the\nID of a specific Coda doc.\n\nHere's a handy tool that will extract it for you. (See if you can find the pattern!)\n\n
\n\n## Rate Limiting\n\nThe Coda API sets a reasonable limit on the number of requests that can be made per minute. Once this limit is\nreached, calls to the API will start returning errors with an HTTP status code of 429.\n\nThese are the current rate limits. They are subject to change at any time without notice. For robustness,\nall API scripts should check for HTTP 429 Too Many Requests errors and back off and retry the request.\nLimits apply per-user across all endpoints that share the same limit and across all docs.\n\nReading data (with the exceptions below): {{READ_RATE_LIMIT}}\n
\nWriting data (POST/PUT/PATCH): {{WRITE_RATE_LIMIT}}\n
\nWriting doc content data (POST/PUT/PATCH): {{WRITE_DOC_CONTENT_RATE_LIMIT}}\n
\nListing docs: {{LIST_DOCS_RATE_LIMIT}}\n
\nReading analytics: {{ANALYTICS_RATE_LIMIT}}\n\n## Consistency\n\nWhile edits made in Coda are shared with other collaborators in real-time, it can take a few seconds for them to\nbecome available via the API. You may also notice that changes made via the API, such as updating a row, are not\nimmediate. These endpoints all return an HTTP 202 status code, instead of a standard 200, indicating that the\nedit has been accepted and queued for processing. This generally takes a few seconds, and the edit may fail if\ninvalid. Each such edit will return a `requestId` in the response, and you can pass this `requestId` to the\n[`#getMutationStatus`](#operation/getMutationStatus) endpoint to find out if it has been applied.\n\nSimilarly, when you get doc data from the API (rows, pages, columns, etc), the data you receive comes from\nthe most recent \"snapshot\" of the doc, which might be slightly stale relative to the data you observe in\nyour browser. If you want to ensure that the data you receive is up to date and are ok getting an error if not,\nyou can pass this header in your request: `X-Coda-Doc-Version: latest`. If the API's view of the doc is\nnot up to date, the API will return an HTTP 400 response.\n\n## Volatile Formulas\n\nCoda exposes a number of \"volatile\" formulas, as as `Today()`, `Now()`, and `User()`. When used in a live Coda\ndoc, these formulas affect what's visible in realtime, tailored to the current user.\n\nSuch formulas behave differently with the API. Time-based values may only be current to the last edit made to the\ndoc. User-based values may be blank or invalid.\n\n## Free and Paid Workspaces\n\nWe make the Coda API available to all of our users free of charge, in both free and paid workspaces. However, API\nusage is subject to the role of the user associated with the API token in the workspace applicable to each API\nrequest. What this means is:\n\n- For the [`#createDoc`](#operation/createDoc) endpoint specifically, the owner of the API token must be a Doc\n Maker (or Admin) in the workspace. If the \"Any member can create docs\" option in enabled in the workspace\n settings, they can be an Editor and will get auto-promoted to Doc Maker upon using this endpoint. Lastly, if in\n addition, the API key owner matches the \"Auto-join email domains\" setting, they will be auto-added to the\n workspace and promoted to Doc Maker upon using this endpoint\n\nThis behavior applies to the API as well as any integrations that may use it, such as Zapier.\n\n## Examples\n\nTo help you get started, this documentation provides code examples in Python, Unix shell, and Google Apps Script.\nThese examples are based on a simple doc that looks something like this:\n\n\n\n### Python examples\n\nThese examples use Python 3.6+. If you don't already have the `requests` module, use `pip` or `easy_install` to\nget it.\n\n### Shell examples\n\nThe shell examples are intended to be run in a Unix shell. If you're on Windows, you will need to install\n[WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10).\n\nThese examples use the standard cURL utility to pull from the API, and then process it with `jq` to extract and\nformat example output. If you don't already have it, you can either [install it](https://stedolan.github.io/jq/)\nor run the command without it to see the raw JSON output.\n\n### Google Apps Script examples\n\n\n\n[Google Apps Script](https://script.google.com/) makes it easy to write code in a JavaScript-like syntax and\neasily access many Google products with built-in libraries. You can set up your scripts to run periodically,\nwhich makes it a good environment for writing tools without maintaining your own server.\n\nCoda provides a library for Google Apps Script. To use it, go into `Resources -> Libraries...` and enter the\nfollowing library ID: `15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl`. If you want to see the\nlibrary's source code, it's available\n[here](https://script.google.com/d/15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl/edit).\n\nGoogle provides autocomplete for API functions as well as generated docs. You can access these docs via the\nLibraries dialog by clicking on the library name. Required parameters that would be included in the URL path are\npositional arguments in each of these functions, followed by the request body, if applicable. All remaining\nparameters can be specified in the options object.\n\n## OpenAPI/Swagger Spec\n\nIn an effort to standardize our API and make it accessible, we offer an OpenAPI 3.0 specification:\n\n- [OpenAPI 3.0 spec - YAML](https://coda.io/apis/v1/openapi.yaml)\n- [OpenAPI 3.0 spec - JSON](https://coda.io/apis/v1/openapi.json)\n\n#### Postman collection\n\nTo get started with prototyping the API quickly in Postman, you can use one of links above to import the Coda API\ninto a collection. You'll then need to set the [appropriate header](#section/Authentication) and environment\nvariables.\n\n## Client libraries\n\nWe do not currently support client libraries apart from Google Apps Script. To work with the Coda API, you can\neither use standard network libraries for your language, or use the appropriate Swagger Generator tool to\nauto-generate Coda API client libraries for your language of choice. We do not provide any guarantees that these\nautogenerated libraries are compatible with our API (e.g., some libraries may not work with Bearer\nauthentication).\n\n### OpenAPI 3.0\n\n[Swagger Generator 3](https://generator3.swagger.io/) (that link takes you to the docs for the generator API) can\ngenerate client libraries for [these languages](https://generator3.swagger.io/v2/clients). It's relatively new\nand thus only has support for a limited set of languages at this time.\n\n### Third-party client libraries\n\nSome members of our amazing community have written libraries to work with our API. These aren't officially\nsupported by Coda, but are listed here for convenience. (Please let us know if you've written a library and would\nlike to have it included here.)\n\n- [PHP](https://github.com/danielstieber/CodaPHP) by Daniel Stieber\n- [Node-RED](https://github.com/serene-water/node-red-contrib-coda-io) by Mori Sugimoto\n- [NodeJS](https://www.npmjs.com/package/coda-js) by Parker McMullin\n- [Ruby](https://rubygems.org/gems/coda_docs/) by Carlos MunĚoz at Getro\n- [Python](https://github.com/Blasterai/codaio) by Mikhail Beliansky\n- [Go](https://github.com/artsafin/coda-schema-generator) by Artur Safin\n"
termsOfService: https://coda.io/trust/tos
contact:
name: API Support
url: https://coda.io
email: help+api@coda.io
x-logo:
url: https://cdn.coda.io/external/img/apilogo.png
backgroundColor: transparent
altText: Coda API
href: '#'
servers:
- url: https://coda.io/apis/v1
description: Coda API (v1)
security:
- Bearer: []
tags:
- name: Packs
description: 'This API allows you to manage Packs that you have developed as well as list publicly available Coda packs.
'
paths:
/packs:
get:
summary: List Packs
description: 'Get the list of accessible Packs.
'
operationId: listPacks
tags:
- Packs
parameters:
- name: accessType
description: Deprecated, use accessTypes instead. Filter to only return the Packs for which the current user has this access type
in: query
example: edit
schema:
$ref: '#/components/schemas/PackAccessType'
- name: accessTypes
description: Filter to only return the Packs for which the current user has these access types.
in: query
explode: false
example: edit
schema:
type: array
items:
$ref: '#/components/schemas/PackAccessType'
- name: sortBy
description: The sort order of the Packs returned.
in: query
example: true
schema:
$ref: '#/components/schemas/PacksSortBy'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/direction'
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/onlyWorkspaceId'
- $ref: '#/components/parameters/parentWorkspaceIds'
- $ref: '#/components/parameters/excludePublicPacks'
- $ref: '#/components/parameters/excludeIndividualAcls'
- $ref: '#/components/parameters/excludeWorkspaceAcls'
- $ref: '#/components/parameters/excludeNomosOrganizationAcls'
- $ref: '#/components/parameters/excludeGrammarlyInstitutionAcls'
- $ref: '#/components/parameters/packEntrypoint'
responses:
'200':
description: List of Pack summaries.
content:
application/json:
schema:
$ref: '#/components/schemas/PackSummaryList'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
post:
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
tags:
- Packs
requestBody:
description: Parameters for creating the Pack.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackRequest'
responses:
'200':
description: Info about the Pack that was just created.
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
x-codeSamples:
- label: Python 3.13
lang: python
source: 'import requests
headers = {''Authorization'': ''Bearer ''}
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 ' \\\n 'https://coda.io/apis/v1/packs' |\n jq .packId\n# => 123\n"
- label: Google Apps Script
lang: javascript
source: '// Import the CodaAPI library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
CodaAPI.authenticate('''');
Logger.log(''Your new Pack ID is '' + CodaAPI.createPack().packId);
// => Your new Pack ID is 123
'
/packs/{packId}:
get:
summary: Get a single Pack
description: 'Returns a single Pack.
'
operationId: getPack
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: The requested Pack.
content:
application/json:
schema:
$ref: '#/components/schemas/Pack'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
patch:
summary: Update Pack
description: 'Update an existing Pack for non-versioned fields.
'
operationId: updatePack
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters for updating the Pack.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePackRequest'
responses:
'200':
description: Info about the Pack that was just updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Pack'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
delete:
summary: Delete Pack
description: 'Delete a given Pack.
'
operationId: deletePack
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: Confirmation that the Pack deletion was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePackResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/configurations/schema:
get:
summary: Gets the JSON Schema for Pack configuration.
description: 'Returns a JSON Schema applicable for customizing the pack using Pack configurations.
'
operationId: getPackConfigurationSchema
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: Response containing the JSON Schema of the pack configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/GetPackConfigurationJsonSchemaResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/versions:
get:
summary: List the versions for a Pack.
description: 'Get the list of versions of a Pack.
'
operationId: listPackVersions
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/pageToken'
tags:
- Packs
responses:
'200':
description: List of Pack versions.
content:
application/json:
schema:
$ref: '#/components/schemas/PackVersionList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/nextVersion:
post:
summary: Get the next valid version for a Pack.
description: 'Get the next valid version based on the proposed metadata.
'
operationId: getNextPackVersion
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetNextPackVersionRequest'
responses:
'200':
description: Next Pack version info.
content:
application/json:
schema:
$ref: '#/components/schemas/NextPackVersionInfo'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/versions/{basePackVersion}/diff/{targetPackVersion}:
get:
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
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/basePackVersion'
- $ref: '#/components/parameters/targetPackVersion'
responses:
'200':
description: Diffs between the two pack versions.
content:
application/json:
schema:
$ref: '#/components/schemas/PackVersionDiffs'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/versions/{packVersion}/register:
post:
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
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/packVersion'
requestBody:
description: Parameters for registering the Pack.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterPackVersionRequest'
responses:
'200':
description: The information indicating where to upload the Pack version definition.
content:
application/json:
schema:
$ref: '#/components/schemas/PackVersionUploadInfo'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/versions/{packVersion}/uploadComplete:
post:
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
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/packVersion'
requestBody:
description: Parameters for Pack version upload complete.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackVersionRequest'
responses:
'200':
description: Confirmation of successful Pack version creation.
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackVersionResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/releases:
post:
summary: Create a new Pack release.
description: 'Creates a new Pack release based on an existing Pack version.
'
operationId: createPackRelease
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters to create the Pack release.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackReleaseRequest'
responses:
'200':
description: The newly created Pack release.
content:
application/json:
schema:
$ref: '#/components/schemas/PackRelease'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
get:
summary: List the releases for a Pack.
description: 'Get the list of releases of a Pack.
'
operationId: listPackReleases
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/pageToken'
tags:
- Packs
responses:
'200':
description: List of Pack releases.
content:
application/json:
schema:
$ref: '#/components/schemas/PackReleaseList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/releases/{packReleaseId}:
put:
summary: Update an existing Pack release.
description: 'Update details of a Pack release.
'
operationId: updatePackRelease
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/packReleaseId'
requestBody:
description: Parameters to update the Pack release.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePackReleaseRequest'
responses:
'200':
description: The updated Pack release.
content:
application/json:
schema:
$ref: '#/components/schemas/PackRelease'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/reviews:
get:
summary: List pack reviews
description: List reviews for a specific pack.
operationId: listPackReviews
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- name: limit
in: query
description: Maximum number of results to return.
schema:
type: integer
minimum: 1
default: 25
- $ref: '#/components/parameters/pageToken'
- name: status
in: query
description: Filter reviews by status.
schema:
$ref: '#/components/schemas/PackReviewStatus'
responses:
'200':
description: List of pack reviews
content:
application/json:
schema:
$ref: '#/components/schemas/ListPackReviewsResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
post:
summary: Create pack review
description: Submit a pack for review in Superhuman GO.
operationId: createPackReview
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters for creating pack review.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackReviewRequest'
responses:
'200':
description: Pack review created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackReviewResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/reviews/pending/cancel:
post:
summary: Cancel pending pack review
description: Cancel the pending pack review for this pack. Any user with edit permission on the pack can cancel the review.
operationId: cancelPackReview
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: Pack review canceled successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CancelPackReviewResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/listingDraft:
get:
summary: Get Pack listing draft
description: Get the current listing draft for a Pack.
operationId: getPackListingDraft
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: The Pack listing draft
content:
application/json:
schema:
$ref: '#/components/schemas/GetPackListingDraftResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
put:
summary: Upsert Pack listing draft
description: Create or update the listing draft for a Pack.
operationId: upsertPackListingDraft
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: The listing draft data to save.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpsertPackListingDraftRequest'
responses:
'200':
description: The saved Pack listing draft
content:
application/json:
schema:
$ref: '#/components/schemas/UpsertPackListingDraftResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
delete:
summary: Delete Pack listing draft
description: Delete the listing draft for a Pack, discarding any unsaved changes.
operationId: deletePackListingDraft
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: The Pack listing draft was deleted
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePackListingDraftResponse'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/oauthConfig:
put:
summary: Set the OAuth configurations of the Pack.
description: 'Set the OAuth configurations of the Pack, including client id and secret.
'
operationId: setPackOauthConfig
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters to set the Pack OAuth configuration.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetPackOauthConfigRequest'
responses:
'200':
description: The updated OAuth configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/PackOauthConfigMetadata'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
get:
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
parameters:
- $ref: '#/components/parameters/packId'
tags:
- Packs
responses:
'200':
description: The Pack's OAuth configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/PackOauthConfigMetadata'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/systemConnection:
put:
summary: Set the system connection credentials of the Pack.
description: 'Set the system connection credentials of the Pack.
'
operationId: setPackSystemConnection
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters to set the Pack system connection credentials.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetPackSystemConnectionRequest'
responses:
'200':
description: The updated system connection.
content:
application/json:
schema:
$ref: '#/components/schemas/PackSystemConnectionMetadata'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
patch:
summary: Patch the system connection credentials of the Pack.
description: 'Patch the system connection credentials of the Pack.
'
operationId: patchPackSystemConnection
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters to patch the Pack system connection credentials.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchPackSystemConnectionRequest'
responses:
'200':
description: The updated system connection.
content:
application/json:
schema:
$ref: '#/components/schemas/PackSystemConnectionMetadata'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
get:
summary: Retrieve the system connection metadata of the Pack.
description: 'Retrieve the system connection metadata of the Pack.
'
operationId: getPackSystemConnection
parameters:
- $ref: '#/components/parameters/packId'
tags:
- Packs
responses:
'200':
description: The system connection metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/PackSystemConnectionMetadata'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/permissions:
get:
summary: List permissions for a Pack
description: 'Get user, workspace, and/or global permissions for a given Pack.
'
operationId: getPackPermissions
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: List of Pack permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/PackPermissionList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
post:
summary: Add a permission for Pack
description: 'Create or modify user, workspace, organization, group, or global permissions for a given Pack.
'
operationId: addPackPermission
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters for creating/updating Pack permissions.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddPackPermissionRequest'
responses:
'200':
description: Confirmation of successfully upserting a Pack permission.
content:
application/json:
schema:
$ref: '#/components/schemas/AddPackPermissionResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
delete:
summary: Delete a user's own permissions for Pack
description: 'Delete a user''s own permissions for a given Pack.
'
operationId: deleteUserPackPermission
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: Confirmation of successfully deleting a user's permissions for a Pack.
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteUserPackPermissionsResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/permissions/{permissionId}:
delete:
summary: Delete a permission for Pack
description: 'Delete user, workspace, or global permissions for a given Pack.
'
operationId: deletePackPermission
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/permissionId'
responses:
'200':
description: Confirmation of successfully deleting a Pack permission.
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePackPermissionResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/invitations:
get:
summary: List pending Pack invitations for the current user
description: 'Get pending Pack invitations for the authenticated user.
'
operationId: listUserPackInvitations
tags:
- Packs
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: List of Pack invitations for the user.
content:
application/json:
schema:
$ref: '#/components/schemas/PackInvitationWithPackList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/invitations:
get:
summary: List invitations for a Pack
description: 'Get pending invitations for a given Pack.
'
operationId: listPackInvitations
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: List of Pack invitations.
content:
application/json:
schema:
$ref: '#/components/schemas/PackInvitationList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
post:
summary: Create an invitation for Pack
description: 'Create an invitation for a user to access a Pack.
'
operationId: createPackInvitation
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters for creating Pack invitation.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackInvitationRequest'
responses:
'200':
description: Confirmation of successfully creating a Pack invitation.
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePackInvitationResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/invitations/{invitationId}:
put:
summary: Update an invitation for Pack
description: 'Update the access level of an existing Pack invitation.
'
operationId: updatePackInvitation
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/invitationId'
requestBody:
description: Parameters for updating Pack invitation.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePackInvitationRequest'
responses:
'200':
description: Confirmation of successfully updating a Pack invitation.
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePackInvitationResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
delete:
summary: Revoke an invitation for Pack
description: 'Revoke a pending Pack invitation.
'
operationId: deletePackInvitation
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/invitationId'
responses:
'200':
description: Confirmation of successfully revoking a Pack invitation.
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePackInvitationResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/invitations/{invitationId}/reply:
post:
summary: Reply to a Pack invitation
description: 'Reply to a Pack invitation (accept or reject). Requires authentication as the invited user.
'
operationId: replyToPackInvitation
tags:
- Packs
parameters:
- $ref: '#/components/parameters/invitationId'
requestBody:
description: Parameters for replying to Pack invitation.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HandlePackInvitationRequest'
responses:
'200':
description: Confirmation of successfully replying to a Pack invitation.
content:
application/json:
schema:
$ref: '#/components/schemas/HandlePackInvitationResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/makers:
get:
summary: List makers for Pack
description: 'List makers for a given pack.
'
operationId: listPackMakers
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: Confirmation of successfully retrieving Pack makers
content:
application/json:
schema:
$ref: '#/components/schemas/ListPackMakersResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/maker:
post:
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
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Payload for adding a Pack maker.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddPackMakerRequest'
responses:
'200':
description: Confirmation of successfully adding a Pack maker.
content:
application/json:
schema:
$ref: '#/components/schemas/AddPackMakerResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/maker/{loginId}:
delete:
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
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/loginId'
responses:
'200':
description: Confirmation of successfully deleting a Pack maker.
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePackMakerResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/categories:
get:
summary: List categories for Pack
description: 'List publishing categories for a given pack.
'
operationId: listPackCategories
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: Confirmation of successfully retrieving Pack categories
content:
application/json:
schema:
$ref: '#/components/schemas/ListPackCategoriesResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/category:
post:
summary: Add a category for Pack
description: 'Add a publishing category for a given pack.
'
operationId: addPackCategory
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Payload for adding a Pack category.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddPackCategoryRequest'
responses:
'200':
description: Confirmation of successfully adding a Pack category
content:
application/json:
schema:
$ref: '#/components/schemas/AddPackCategoryResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/category/{categoryName}:
delete:
summary: Delete a category for Pack
description: 'Delete a publishing category for a given pack.
'
operationId: deletePackCategory
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/categoryName'
responses:
'200':
description: Confirmation of successfully deleting a Pack category
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePackCategoryResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/uploadAsset:
post:
summary: Upload a Pack asset.
description: 'Request a signed s3 URL to upload your Pack asset.
'
operationId: uploadPackAsset
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters to specify the asset being uploaded.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UploadPackAssetRequest'
responses:
'200':
description: The information indicating where to upload the Pack asset.
content:
application/json:
schema:
$ref: '#/components/schemas/PackAssetUploadInfo'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/uploadSourceCode:
post:
summary: Upload Pack source code.
description: 'Request a signed s3 URL to upload your Pack source code.
'
operationId: uploadPackSourceCode
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters to specify the source code being uploaded.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UploadPackSourceCodeRequest'
responses:
'200':
description: The information indicating where to upload the Pack source code.
content:
application/json:
schema:
$ref: '#/components/schemas/PackSourceCodeUploadInfo'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/assets/{packAssetId}/assetType/{packAssetType}/uploadComplete:
post:
summary: Pack asset upload complete
description: 'Note the completion of the upload of a Pack asset.
'
operationId: packAssetUploadComplete
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/packAssetId'
- $ref: '#/components/parameters/packAssetType'
responses:
'200':
description: Confirmation of successful Pack asset creation.
content:
application/json:
schema:
$ref: '#/components/schemas/PackAssetUploadCompleteResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/versions/{packVersion}/sourceCode/uploadComplete:
post:
summary: Pack source code upload complete
description: 'Note the completion of the upload of a Pack source code.
'
operationId: packSourceCodeUploadComplete
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/packVersion'
requestBody:
description: Parameters to specify the source code being uploaded.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PackSourceCodeUploadCompleteRequest'
responses:
'200':
description: Confirmation of successful Pack asset creation.
content:
application/json:
schema:
$ref: '#/components/schemas/PackSourceCodeUploadCompleteResponse'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/versions/{packVersion}/sourceCode:
get:
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
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/packVersion'
responses:
'200':
description: The source code associated with the given packId/version
content:
application/json:
schema:
$ref: '#/components/schemas/PackSourceCodeInfo'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/listings:
get:
summary: List the Pack listings accessible to a user.
description: 'Get listings of public Packs and Packs created by you.
'
operationId: listPackListings
parameters:
- $ref: '#/components/parameters/packAccessTypes'
- $ref: '#/components/parameters/packIds'
- $ref: '#/components/parameters/onlyWorkspaceId'
- $ref: '#/components/parameters/parentWorkspaceIds'
- $ref: '#/components/parameters/excludePublicPacks'
- $ref: '#/components/parameters/excludeWorkspaceAcls'
- $ref: '#/components/parameters/excludeIndividualAcls'
- $ref: '#/components/parameters/packEntrypoint'
- $ref: '#/components/parameters/certifiedAgentsOnly'
- $ref: '#/components/parameters/packCategories'
- name: sortBy
in: query
description: Specify a sort order for the returned Pack listings returned.
schema:
$ref: '#/components/schemas/PackListingsSortBy'
- name: orderBy
in: query
description: 'Deprecated: use sortBy instead.'
schema:
$ref: '#/components/schemas/PackListingsSortBy'
- $ref: '#/components/parameters/direction'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/pageToken'
- name: installContext
in: query
description: Type of installation context for which Pack information is being requested.
example: workspace
required: false
schema:
$ref: '#/components/schemas/PackListingInstallContextType'
tags:
- Packs
responses:
'200':
description: Public Pack listings and Pack listings created by you.
content:
application/json:
schema:
$ref: '#/components/schemas/PackListingList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/listing:
get:
summary: Get detailed listing information for a Pack.
description: 'Get detailed listing information for a Pack.
'
operationId: getPackListing
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- name: workspaceId
description: ID of the target workspace (if applicable) for checking installation privileges.
in: query
example: ws-1Ab234
schema:
type: string
- name: docId
description: ID of the target document for checking installation privileges
in: query
example: fleHfrkw3L
schema:
type: string
- name: ingestionId
description: ID of the target ingestion for checking limit settings
in: query
example: uuid-uuid-uuid-uuid
schema:
type: string
- name: installContext
in: query
description: Type of installation context for which Pack information is being requested.
example: workspace
required: false
schema:
$ref: '#/components/schemas/PackListingInstallContextType'
- name: releaseChannel
in: query
description: Release channel for which Pack information is being requested.
example: LIVE
required: false
schema:
$ref: '#/components/schemas/IngestionPackReleaseChannel'
responses:
'200':
description: The Pack listing detail.
content:
application/json:
schema:
$ref: '#/components/schemas/PackListingDetail'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/docs/{docId}/logs:
get:
summary: Retrieve the logs of a Pack.
description: 'Retrieve the logs of a Pack for debugging purpose.
'
operationId: listPackLogs
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/docId'
- name: logTypes
description: Only return logs of the given types.
in: query
explode: false
example: fetcher,custom
schema:
type: array
items:
$ref: '#/components/schemas/PackLogType'
- name: beforeTimestamp
description: 'Only return logs before the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: afterTimestamp
description: 'Only return logs after the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: order
description: 'Specifies if the logs will be returned in time desc or asc. Default is desc.
'
in: query
required: false
schema:
type: string
enum:
- asc
- desc
- name: q
description: 'A search query that follows Lucene syntax.
'
in: query
required: false
example: context.doc_id:"fleHfrkw3L" AND event.action:"FormulaRequest"
schema:
type: string
x-allow-empty: true
- name: requestIds
description: Only return logs matching provided request IDs.
in: query
explode: false
example: 416faabf,4127faag
schema:
type: array
items:
type: string
responses:
'200':
description: Pack logs.
content:
application/json:
schema:
$ref: '#/components/schemas/PackLogsList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/logs:
get:
summary: Retrieve the logs of a Ingestion.
description: Retrieve the logs of a Ingestion for debugging purpose.
operationId: listIngestionLogs
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/tenantId'
- $ref: '#/components/parameters/rootIngestionId'
- name: logTypes
description: Only return logs of the given types.
in: query
explode: false
example: fetcher,custom
schema:
type: array
items:
$ref: '#/components/schemas/PackLogType'
- name: ingestionExecutionId
description: ID of the ingestion execution.
in: query
required: false
example: a4e293c4-4a85-45a4-b2ba-7f305cba2703
schema:
type: string
format: uuid
- name: beforeTimestamp
description: 'Only return logs before the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: afterTimestamp
description: 'Only return logs after the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: ingestionStatus
description: 'Only fetch logs with the given ingestion status. This only works in combination with the onlyExecutionCompletions parameter.
'
in: query
schema:
$ref: '#/components/schemas/IngestionStatus'
- name: onlyExecutionCompletions
description: Only fetch logs that represent the completion of a child execution.
in: query
schema:
type: boolean
- name: order
description: 'Specifies if the logs will be returned in time desc or asc. Default is desc.
'
in: query
required: false
schema:
type: string
enum:
- asc
- desc
- name: q
description: 'A search query that follows Lucene syntax.
'
in: query
required: false
example: context.doc_id:"fleHfrkw3L" AND event.action:"FormulaRequest"
schema:
type: string
x-allow-empty: true
- name: requestIds
description: Only return logs matching provided request IDs.
in: query
explode: false
example: 416faabf,4127faag
schema:
type: array
items:
type: string
responses:
'200':
description: Pack logs.
content:
application/json:
schema:
$ref: '#/components/schemas/PackLogsList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/docs/{docId}/groupedLogs:
get:
summary: Retrieve the grouped logs of a Pack.
description: 'Retrieve the grouped logs of a Pack for debugging purpose.
'
operationId: listGroupedPackLogs
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/docId'
- name: beforeTimestamp
description: 'Only return logs before the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: afterTimestamp
description: 'Only return logs after the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: order
description: 'Specifies if the logs will be returned in time desc or asc. Default is desc.
'
in: query
required: false
schema:
type: string
enum:
- asc
- desc
- name: q
description: 'A search query that follows Lucene syntax.
'
in: query
required: false
example: context.doc_id:"fleHfrkw3L" AND event.action:"FormulaRequest"
schema:
type: string
x-allow-empty: true
responses:
'200':
description: Grouped pack logs.
content:
application/json:
schema:
$ref: '#/components/schemas/GroupedPackLogsList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/groupedLogs:
get:
summary: Retrieve the grouped logs of a Pack for a specific ingestionExecutionId.
description: 'Retrieve the grouped logs of a Pack for debugging purpose.
'
operationId: listGroupedIngestionLogs
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/tenantId'
- $ref: '#/components/parameters/rootIngestionId'
- $ref: '#/components/parameters/ingestionExecutionId'
- name: beforeTimestamp
description: 'Only return logs before the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: afterTimestamp
description: 'Only return logs after the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: order
description: 'Specifies if the logs will be returned in time desc or asc. Default is desc.
'
in: query
required: false
schema:
type: string
enum:
- asc
- desc
- name: q
description: 'A search query that follows Lucene syntax.
'
in: query
required: false
example: context.doc_id:"fleHfrkw3L" AND event.action:"FormulaRequest"
schema:
type: string
x-allow-empty: true
responses:
'200':
description: Grouped pack logs.
content:
application/json:
schema:
$ref: '#/components/schemas/GroupedPackLogsList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/ingestionBatchExecutions:
get:
summary: Retrieve a list of ingestion batch executions for the given root ingestion id.
description: 'Retrieve the ingestion batch executions of a root ingestion for debugging purpose.
'
operationId: listIngestionBatchExecutions
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/tenantId'
- $ref: '#/components/parameters/rootIngestionId'
- $ref: '#/components/parameters/pageToken'
- name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- name: datasource
description: Only show batch executions for this datasource (sync table).
in: query
required: false
schema:
type: string
x-allow-empty: true
- name: executionType
description: Only show batch executions with this execution type.
in: query
required: false
schema:
$ref: '#/components/schemas/IngestionExecutionType'
- name: includeDeletedIngestions
description: Include deleted ingestion executions in the response
in: query
required: false
schema:
type: boolean
- name: ingestionExecutionId
description: Only retrieve this single batch execution.
in: query
required: false
schema:
type: string
- name: ingestionId
description: Only show batch executions for this sync table ingestion.
in: query
required: false
schema:
type: string
- name: ingestionStatus
description: Only show batch executions with this status.
in: query
required: false
schema:
$ref: '#/components/schemas/IngestionStatus'
responses:
'200':
description: list of ingestion batch executions.
content:
application/json:
schema:
$ref: '#/components/schemas/IngestionBatchExecutionsList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
? /packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/ingestionBatchExecutions/{ingestionExecutionId}/parentItems
: get:
summary: Retrieve a list of parent items for the given ingestion batch execution id.
description: 'Retrieve the parent items of a ingestion batch execution for debugging purpose.
'
operationId: listIngestionParentItems
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/tenantId'
- $ref: '#/components/parameters/rootIngestionId'
- $ref: '#/components/parameters/pageToken'
- name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- name: ingestionExecutionId
description: Only show parent items for this ingestion batch execution.
in: path
required: true
schema:
type: string
format: uuid
- name: ingestionId
description: The ID of the sync table ingestion. Enables faster lookup.
in: query
required: true
schema:
type: string
format: uuid
- name: ingestionStatus
description: Only show parent items with this status.
in: query
required: false
schema:
$ref: '#/components/schemas/IngestionStatus'
responses:
'200':
description: list of ingestion parent items.
content:
application/json:
schema:
$ref: '#/components/schemas/IngestionParentItemsList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/tenantId/{tenantId}/rootIngestionId/{rootIngestionId}/logs/{logId}:
get:
summary: Retrieve the information for a specific log.
description: 'Retrieve the ingestion execution ids of a root ingestion for debugging purpose.
'
operationId: getPackLogDetails
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
- $ref: '#/components/parameters/tenantId'
- $ref: '#/components/parameters/rootIngestionId'
- name: logId
in: path
description: 'The id of the log to retrieve.
'
required: true
schema:
type: string
x-allow-empty: false
- name: detailsKey
in: query
description: 'The key of the details to retrieve.
'
required: true
schema:
type: string
x-allow-empty: false
responses:
'200':
description: Pack log details.
content:
application/json:
schema:
$ref: '#/components/schemas/PackLogDetails'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/packs/{packId}/featuredDocs:
get:
summary: List featured docs for a Pack
description: 'Returns a list of featured doc ids for a Pack.
'
operationId: listPackFeaturedDocs
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
responses:
'200':
description: The featured docs for a Pack.
content:
application/json:
schema:
$ref: '#/components/schemas/PackFeaturedDocsResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
put:
summary: Update featured docs for a Pack
description: 'Create or replace the featured docs for a Pack.
'
operationId: updatePackFeaturedDocs
tags:
- Packs
parameters:
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters for updating the Pack's featured docs.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePackFeaturedDocsRequest'
responses:
'200':
description: Update Pack's featured docs success response
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePackFeaturedDocsResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/go/tenants/{tenantId}/agentInstances/{agentInstanceId}/agentSessionIds:
get:
summary: Retrieve the chat sessions of an agent instance.
description: Retrieve the chat sessions of an agent instance for debugging purpose.
operationId: listAgentSessionIds
tags:
- Packs
parameters:
- name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/tenantId'
- $ref: '#/components/parameters/agentInstanceId'
- name: agentSessionId
description: ID of the agent chat session.
in: query
required: false
example: a4e293c4-4a85-45a4-b2ba-7f305cba2703
schema:
type: string
format: uuid
- name: logTypes
description: Only return logs of the given types.
in: query
explode: false
example: fetcher,custom
schema:
type: array
items:
$ref: '#/components/schemas/PackLogType'
- name: beforeTimestamp
description: 'Only return logs before the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: afterTimestamp
description: 'Only return logs after the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: order
description: 'Specifies if the logs will be returned in time desc or asc. Default is desc.
'
in: query
required: false
schema:
type: string
enum:
- asc
- desc
- name: q
description: 'A search query that follows Lucene syntax.
'
in: query
required: false
example: trace.id:"a4e293c4-4a85-45a4-b2ba-7f305cba2703" AND event.action:"FormulaRequest"
schema:
type: string
x-allow-empty: true
- name: requestIds
description: Only return logs matching provided request IDs.
in: query
explode: false
example: 416faabf,4127faag
schema:
type: array
items:
type: string
responses:
'200':
description: Pack logs.
content:
application/json:
schema:
$ref: '#/components/schemas/PackLogsList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/go/tenants/{tenantId}/agentInstances/{agentInstanceId}/logs:
get:
summary: Retrieve the logs of an agent instance.
description: Retrieve the logs of an agent instance for debugging purpose.
operationId: listAgentLogs
tags:
- Packs
parameters:
- name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/tenantId'
- $ref: '#/components/parameters/agentInstanceId'
- name: logTypes
description: Only return logs of the given types.
in: query
explode: false
example: fetcher,custom
schema:
type: array
items:
$ref: '#/components/schemas/PackLogType'
- name: agentSessionId
description: ID of the agent chat session.
in: query
required: false
example: a4e293c4-4a85-45a4-b2ba-7f305cba2703
schema:
type: string
format: uuid
- name: beforeTimestamp
description: 'Only return logs before the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: afterTimestamp
description: 'Only return logs after the given time (non-inclusive).
'
in: query
required: false
example: '2018-04-11T00:18:57.946Z'
schema:
type: string
format: date-time
- name: order
description: 'Specifies if the logs will be returned in time desc or asc. Default is desc.
'
in: query
required: false
schema:
type: string
enum:
- asc
- desc
- name: q
description: 'A search query that follows Lucene syntax.
'
in: query
required: false
example: trace.id:"a4e293c4-4a85-45a4-b2ba-7f305cba2703" AND event.action:"FormulaRequest"
schema:
type: string
x-allow-empty: true
- name: requestIds
description: Only return logs matching provided request IDs.
in: query
explode: false
example: 416faabf,4127faag
schema:
type: array
items:
type: string
responses:
'200':
description: Pack logs.
content:
application/json:
schema:
$ref: '#/components/schemas/PackLogsList'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
/go/tenants/{tenantId}/agentInstances/{agentInstanceId}/logs/{logId}:
get:
summary: Retrieve the information for a specific log.
description: 'Retrieve the log details of given logId.
'
operationId: getAgentPackLogDetails
tags:
- Packs
parameters:
- $ref: '#/components/parameters/tenantId'
- $ref: '#/components/parameters/agentInstanceId'
- name: logId
in: path
description: 'The id of the log to retrieve.
'
required: true
schema:
type: string
x-allow-empty: false
- name: detailsKey
in: query
description: 'The key of the details to retrieve.
'
required: true
schema:
type: string
x-allow-empty: false
responses:
'200':
description: Pack log details.
content:
application/json:
schema:
$ref: '#/components/schemas/PackLogDetails'
'400':
$ref: '#/components/responses/BadRequestWithValidationErrors'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
components:
schemas:
FeatureSet:
x-schema-name: FeatureSet
deprecated: true
description: Only relevant for original Coda packs.
type: string
enum:
- Basic
- Pro
- Team
- Enterprise
x-tsEnumNames:
- Basic
- Pro
- Team
- Enterprise
ListPackMakersResponse:
x-schema-name: ListPackMakersResponse
description: Confirmation of successfully retrieving Pack makers.
type: object
required:
- makers
additionalProperties: false
properties:
makers:
type: array
items:
$ref: '#/components/schemas/Maker'
PackSystemConnectionMetadata:
x-schema-name: PackSystemConnectionMetadata
description: Metadata of a Pack system connection.
oneOf:
- $ref: '#/components/schemas/PackConnectionHeaderMetadata'
- $ref: '#/components/schemas/PackConnectionMultiHeaderMetadata'
- $ref: '#/components/schemas/PackConnectionUrlParamMetadata'
- $ref: '#/components/schemas/PackConnectionHttpBasicMetadata'
- $ref: '#/components/schemas/PackConnectionCustomMetadata'
- $ref: '#/components/schemas/PackConnectionOauth2ClientCredentialsMetadata'
- $ref: '#/components/schemas/PackConnectionGoogleServiceAccountMetadata'
- $ref: '#/components/schemas/PackConnectionAwsAssumeRoleMetadata'
- $ref: '#/components/schemas/PackConnectionAwsAccessKeyMetadata'
discriminator:
propertyName: type
mapping:
header: '#/components/schemas/PackConnectionHeaderMetadata'
multiHeader: '#/components/schemas/PackConnectionMultiHeaderMetadata'
urlParam: '#/components/schemas/PackConnectionUrlParamMetadata'
httpBasic: '#/components/schemas/PackConnectionHttpBasicMetadata'
custom: '#/components/schemas/PackConnectionCustomMetadata'
oauth2ClientCredentials: '#/components/schemas/PackConnectionOauth2ClientCredentialsMetadata'
googleServiceAccount: '#/components/schemas/PackConnectionGoogleServiceAccountMetadata'
awsAssumeRole: '#/components/schemas/PackConnectionAwsAssumeRoleMetadata'
awsAccessKey: '#/components/schemas/PackConnectionAwsAccessKeyMetadata'
PackImageFile:
x-schema-name: PackImageFile
description: A Pack image file.
type: object
additionalProperties: false
required:
- filename
- imageUrl
- assetId
properties:
filename:
type: string
description: The name of the image file.
imageUrl:
type: string
format: url
description: The URL to the image file.
assetId:
type: string
description: The asset id of the Pack's image.
altText:
type: string
description: The alt text for the image.
mimeType:
type: string
description: The media type of the image.
example: image/jpeg
PackPermissionList:
x-schema-name: PackPermissionList
description: List of Pack permissions.
type: object
required:
- items
- permissionUsers
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackPermission'
permissionUsers:
type: array
items:
$ref: '#/components/schemas/UserSummary'
PackConnectionHttpBasicMetadata:
x-schema-name: PackConnectionHttpBasicMetadata
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- httpBasic
x-tsType: PackConnectionType.HttpBasic
maskedUsername:
type: string
maskedPassword:
type: string
PackAuthLog:
x-schema-name: PackAuthLog
description: System logs of Pack authentication requests.
type: object
required:
- type
- context
- path
additionalProperties: false
properties:
type:
type: string
enum:
- auth
x-tsType: PackLogType.Auth
context:
$ref: '#/components/schemas/PackLogContext'
path:
type: string
description: The request path.
errorMessage:
type: string
description: The error message.
errorStack:
type: string
description: The error stacktrace (internal only).
AccessType:
x-schema-name: AccessType
description: Type of access.
type: string
enum:
- readonly
- write
- comment
- none
x-tsEnumNames:
- ReadOnly
- Write
- Comment
- None
PackGroupPrincipal:
x-schema-name: PackGroupPrincipal
type: object
required:
- type
- groupId
additionalProperties: false
properties:
type:
type: string
enum:
- group
x-tsType: PackPrincipalType.Group
groupId:
type: string
groupName:
type: string
PackVersionList:
x-schema-name: PackVersionList
description: List of Pack versions.
type: object
required:
- items
- creationUsers
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackVersion'
creationUsers:
type: array
items:
$ref: '#/components/schemas/UserSummary'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/nextPageLink'
- type: string
example: https://coda.io/apis/v1/packs/1/versions?pageToken=xyz
PackMcpLog:
x-schema-name: PackMcpLog
description: Pack log generated by an MCP (Model Context Protocol) operation.
type: object
required:
- type
- context
additionalProperties: false
properties:
type:
type: string
enum:
- mcp
x-tsType: PackLogType.Mcp
context:
$ref: '#/components/schemas/PackLogContext'
message:
type: string
description: A descriptive message about the MCP operation.
error:
description: Error info if this invocation resulted in an error.
type: object
required:
- message
additionalProperties: false
properties:
message:
type: string
stack:
type: string
UploadPackAssetRequest:
x-schema-name: UploadPackAssetRequest
description: Payload for a Pack asset upload.
type: object
additionalProperties: false
required:
- packAssetType
- filename
- mimeType
- imageHash
properties:
packAssetType:
$ref: '#/components/schemas/PackAssetType'
imageHash:
type: string
description: The SHA-256 hash of the image to be uploaded.
example: f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b
mimeType:
type: string
description: The media type of the image being sent.
example: image/jpeg
filename:
type: string
example: image.jpg
PackSourceCodeUploadInfo:
x-schema-name: PackSourceCodeUploadInfo
description: Information indicating where to upload the Pack source code, and an endpoint to mark the upload as complete.
type: object
required:
- uploadUrl
- uploadedPathName
- headers
additionalProperties: false
properties:
uploadUrl:
type: string
format: url
description: A signed URL to be used for uploading a Pack source code.
example: https://coda-us-west-2-prod-packs-upload.s3-accelerate.amazonaws.com/packUploads/123/1/main.ts
uploadedPathName:
type: string
description: An endpoint to mark the upload as complete.
example: /packs/123/versions/1/sourceCode/uploadComplete
headers:
type: object
additionalProperties:
type: string
description: Key-value pairs of authorization headers to include in the upload request.
example: '{"header1": "value1"}'
PackLogType:
x-schema-name: PackLogType
type: string
enum:
- custom
- fetcher
- invocation
- internal
- auth
- ingestionLifecycle
- ingestionDebug
- agentRuntime
- mcp
x-tsEnumNames:
- Custom
- Fetcher
- Invocation
- Internal
- Auth
- IngestionLifecycle
- IngestionDebug
- AgentRuntime
- Mcp
UpdatePackInvitationResponse:
x-schema-name: UpdatePackInvitationResponse
description: Confirmation of successfully updating a Pack invitation.
type: object
additionalProperties: false
properties: {}
BundledPackPlan:
x-schema-name: BundledPackPlan
description: The Pack plan to show the Pack can be accessed if the workspace is at least the given tier.
type: object
required:
- packPlanId
- packId
- pricing
- createdAt
additionalProperties: false
properties:
packPlanId:
type: string
packId:
type: number
pricing:
$ref: '#/components/schemas/BundledPackPlanPricing'
createdAt:
type: string
format: date-time
description: Timestamp for when the Pack plan was created.
example: '2018-04-11T00:18:57.946Z'
GetNextPackVersionRequest:
x-schema-name: GetNextPackVersionRequest
description: Payload for getting the next version of a Pack.
type: object
additionalProperties: false
required:
- proposedMetadata
properties:
proposedMetadata:
type: string
description: The metadata for the next version of the Pack.
example: '{"formulas": [{"description": "my formula", "name": "foo", "parameters": [], "resultType": 0}]}'
sdkVersion:
type: string
description: The SDK version the metadata was built on.
example: 1.0.0
NextPackVersionInfo:
x-schema-name: NextPackVersionInfo
description: Information indicating the next Pack version definition.
type: object
required:
- nextVersion
- findings
- findingDetails
additionalProperties: false
properties:
nextVersion:
type: string
description: The next valid version for the Pack.
example: 2.1.0
findings:
type: array
deprecated: true
items:
type: string
description: List of changes from the previous version.
findingDetails:
type: array
items:
type: object
additionalProperties: false
required:
- finding
- path
properties:
finding:
type: string
path:
type: string
PackSource:
x-schema-name: PackSource
type: string
enum:
- web
- cli
x-tsEnumNames:
- Web
- Cli
PackUserAccess:
x-schema-name: PackUserAccess
type: object
description: The access capabilities the current user has for this Pack.
example: '{"canEdit": false, "canTest": false, "canView": true, "canInstall": true}'
required:
- canEdit
- canTest
- canView
- canInstall
- canPurchase
- requiresTrial
- canConnectAccount
additionalProperties: false
properties:
canEdit:
type: boolean
canTest:
type: boolean
canView:
type: boolean
canInstall:
type: boolean
canPurchase:
type: boolean
requiresTrial:
type: boolean
canConnectAccount:
type: boolean
organization:
oneOf:
- $ref: '#/components/schemas/PackOrganizationAccessForDocs'
- $ref: '#/components/schemas/PackOrganizationAccessForCodaBrain'
ingestionLimitSettings:
$ref: '#/components/schemas/IngestionLimitSettings'
AnyonePrincipal:
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
description: The type of this principal.
enum:
- anyone
x-tsType: PrincipalType.Anyone
PackSummaryList:
x-schema-name: PackSummaryList
description: List of Pack summaries.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackSummary'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/nextPageLink'
- type: string
example: https://coda.io/apis/v1/packs?pageToken=xyz
PackConnectionOauth2ClientCredentialsMetadata:
x-schema-name: PackConnectionOauth2ClientCredentialsMetadata
type: object
required:
- type
- location
- maskedClientId
- maskedClientSecret
additionalProperties: false
properties:
type:
type: string
enum:
- oauth2ClientCredentials
x-tsType: PackConnectionType.OAuth2ClientCredentials
location:
$ref: '#/components/schemas/PackOAuth2ClientCredentialsLocation'
maskedClientId:
type: string
maskedClientSecret:
type: string
PackLog:
x-schema-name: PackLog
description: A record of Pack log.
oneOf:
- $ref: '#/components/schemas/PackCustomLog'
- $ref: '#/components/schemas/PackInvocationLog'
- $ref: '#/components/schemas/PackFetcherLog'
- $ref: '#/components/schemas/PackInternalLog'
- $ref: '#/components/schemas/PackAuthLog'
- $ref: '#/components/schemas/PackIngestionLifecycleLog'
- $ref: '#/components/schemas/PackIngestionDebugLog'
- $ref: '#/components/schemas/PackAgentRuntimeLog'
- $ref: '#/components/schemas/PackMcpLog'
discriminator:
propertyName: type
mapping:
custom: '#/components/schemas/PackCustomLog'
fetcher: '#/components/schemas/PackInvocationLog'
invocation: '#/components/schemas/PackFetcherLog'
internal: '#/components/schemas/PackInternalLog'
auth: '#/components/schemas/PackAuthLog'
ingestionLifecycle: '#/components/schemas/PackIngestionLifecycleLog'
ingestionDebug: '#/components/schemas/PackIngestionDebugLog'
agentRuntime: '#/components/schemas/PackAgentRuntimeLog'
mcp: '#/components/schemas/PackMcpLog'
PackConnectionGoogleServiceAccountMetadata:
x-schema-name: PackConnectionGoogleServiceAccountMetadata
type: object
required:
- type
- maskedServiceAccountKey
additionalProperties: false
properties:
type:
type: string
enum:
- googleServiceAccount
x-tsType: PackConnectionType.GoogleServiceAccount
maskedServiceAccountKey:
type: string
CreatePackInvitationResponse:
x-schema-name: CreatePackInvitationResponse
description: Confirmation of successfully creating a Pack invitation.
type: object
required:
- invitationId
additionalProperties: false
properties:
invitationId:
type: string
description: The ID of the invitation created.
example: 550e8400-e29b-41d4-a716-446655440000
IngestionLimitSettings:
x-schema-name: IngestionLimitSettings
description: Limits for a pack-driven ingestion
type: object
additionalProperties: false
required:
- maxBytesPerSyncTableDefault
- allowedTablesCount
properties:
tableSettings:
type: object
description: 'Map from table name to per table settings. This may not include every table in the pack. Each setting per table will include an optional maxBytesPerSyncTableOverride that will override the default, an optional excludeIngestionByDefault flag, and an optional parameterLimits dictionary of allowed parameter values.
'
additionalProperties:
$ref: '#/components/schemas/IngestionTableSetting'
maxBytesPerSyncTableDefault:
type: number
description: The default bytes limit when ingesting data for a table in the pack. null means no limit.
nullable: true
allowedTablesCount:
type: number
description: The maximum number of tables that can be included. -1 means no limit.
PackOrganizationAccessForCodaBrain:
x-schema-name: PackOrganizationAccessForCodaBrain
description: Describes restrictions that a user's organization has placed on a pack for Coda Brain ingestions
type: object
required:
- canRequestAccess
- hasRequestedAccess
- requiresConfiguration
additionalProperties: false
properties:
canRequestAccess:
type: boolean
hasRequestedAccess:
type: boolean
requiresConfiguration:
type: boolean
allowedConfigurations:
type: array
items:
$ref: '#/components/schemas/PackConfigurationEntry'
allowedPackIds:
type: array
items:
type: number
PackListingDraftData:
x-schema-name: PackListingDraftData
description: Draft listing data for a Pack. All fields are optional.
type: object
additionalProperties: false
properties:
name:
type: string
description: The name of the Pack.
maxLength: 128
description:
type: string
description: The full description of the Pack.
maxLength: 8192
shortDescription:
type: string
description: A short version of the description of the Pack.
maxLength: 256
logo:
$ref: '#/components/schemas/PackImageFile'
cover:
$ref: '#/components/schemas/PackImageFile'
exampleImages:
type: array
nullable: true
items:
$ref: '#/components/schemas/PackImageFile'
agentImages:
type: array
nullable: true
items:
$ref: '#/components/schemas/PackImageFile'
categoryIds:
type: array
items:
type: string
supportEmail:
type: string
nullable: true
maxLength: 512
termsOfServiceUrl:
type: string
format: url
nullable: true
maxLength: 512
privacyPolicyUrl:
type: string
format: url
nullable: true
maxLength: 512
sourceCodeVisibility:
$ref: '#/components/schemas/PackSourceCodeVisibility'
agentShortDescription:
type: string
nullable: true
maxLength: 256
agentDescription:
type: string
nullable: true
maxLength: 8192
additionalInformation:
$ref: '#/components/schemas/PackListingAdditionalInformation'
PackAssetType:
x-schema-name: PackAssetType
type: string
enum:
- logo
- cover
- exampleImage
- agentImage
x-tsEnumNames:
- Logo
- Cover
- ExampleImage
- AgentImage
PackWorkspacePrincipal:
x-schema-name: PackWorkspacePrincipal
type: object
required:
- type
- workspaceId
additionalProperties: false
properties:
type:
type: string
enum:
- workspace
x-tsType: PackPrincipalType.Workspace
workspaceId:
type: string
Pack:
x-schema-name: Pack
description: Details about a Pack.
type: object
additionalProperties: false
required:
- id
- name
- description
- shortDescription
- workspaceId
- categories
properties:
id:
type: number
description: ID of the Pack.
example: 1003
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.
exampleImages:
type: array
description: The example images for the Pack.
items:
$ref: '#/components/schemas/PackImageFile'
agentImages:
type: array
description: The agent images for the Pack.
items:
$ref: '#/components/schemas/PackImageFile'
workspaceId:
type: string
description: The parent workspace for the Pack.
example: ws-asdf
categories:
type: array
description: Publishing categories associated with this Pack.
items:
$ref: '#/components/schemas/PublishingCategory'
certified:
type: boolean
description: Denotes if the pack is certified by Coda.
certifiedAgent:
type: boolean
description: Denotes if the pack is certified by Grammarly to be optimized for agent usage.
sourceCodeVisibility:
$ref: '#/components/schemas/PackSourceCodeVisibility'
packEntrypoints:
type: array
description: Pack entrypoints where this pack is available
items:
$ref: '#/components/schemas/PackEntrypoint'
verifiedVersion:
type: string
description: The latest released pack version that has been verified (approved) for use. For agent packs, this is the most recent release that passed review. For non-agent packs or legacy releases, this is the most recent release.
example: 1.0.0
name:
type: string
description: The name of the Pack.
example: Cool Geometry Formulas
maxLength: 128
description:
type: string
description: The full description of the Pack.
example: This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids.
maxLength: 8192
shortDescription:
type: string
description: A short version of the description of the Pack.
example: Calculate cool geometric formulas like surface area.
maxLength: 256
agentShortDescription:
type: string
description: A short description for the pack as an agent.
example: Chat with a tool that can calculate cool geometric formulas like surface area.
maxLength: 256
agentDescription:
type: string
description: A full description for the pack as an agent.
example: Chat with a comprehensive tool that can calculate cool geometric formulas like surface area, volume, and other mathematical operations. This agent can help with complex calculations and provide detailed explanations.
x-allow-empty: true
maxLength: 8192
supportEmail:
type: string
description: A contact email for the Pack.
example: user@email.com
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: '#/components/schemas/PackRateLimit'
perConnectionRateLimit:
$ref: '#/components/schemas/PackRateLimit'
featuredDocStatus:
$ref: '#/components/schemas/FeaturedDocStatus'
additionalInformation:
$ref: '#/components/schemas/PackListingAdditionalInformation'
UpdatePackFeaturedDocsResponse:
x-schema-name: UpdatePackFeaturedDocsResponse
description: Confirmation of successful Pack featured docs update.
type: object
additionalProperties: false
properties: {}
IngestionExecutionType:
x-schema-name: IngestionExecutionType
description: Type of an ingestion batch execution.
type: string
enum:
- FULL
- INCREMENTAL
x-tsEnumNames:
- Full
- Incremental
GroupedPackLogsList:
x-schema-name: GroupedPackLogsList
description: List of grouped Pack logs.
type: object
required:
- items
- incompleteRelatedLogs
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/GroupedPackLog'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/nextPageLink'
- type: string
example: https://coda.io/apis/v1/packs/1/groupedLogs?pageToken=xyz
incompleteRelatedLogs:
type: boolean
description: This flag will be set to true if the result doens't include all the related logs.
LogLevel:
x-schema-name: LogLevel
type: string
enum:
- error
- warn
- info
- debug
- trace
- unknown
x-tsEnumNames:
- Error
- Warn
- Info
- Debug
- Trace
- Unknown
DeletePackPermissionResponse:
x-schema-name: DeletePackPermissionResponse
description: Confirmation of successfully deleting a Pack permission.
type: object
additionalProperties: false
properties: {}
PackIngestionDebugLog:
x-schema-name: PackIngestionDebugLog
description: Pack log generated by an executing ingestion. Contains metadata helpful for debugging
type: object
required:
- type
- context
- message
- level
additionalProperties: false
properties:
type:
type: string
enum:
- ingestionDebug
x-tsType: PackLogType.IngestionDebug
context:
$ref: '#/components/schemas/PackLogContext'
message:
type: string
description: The message that's passed into context.logger.
example: The formula is called!
level:
$ref: '#/components/schemas/LogLevel'
DeletePackListingDraftResponse:
x-schema-name: DeletePackListingDraftResponse
description: Response after deleting a Pack listing draft
type: object
additionalProperties: false
PackLogsList:
x-schema-name: PackLogsList
description: List of Pack logs.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackLog'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/nextPageLink'
- type: string
example: https://coda.io/apis/v1/packs/1/logs?pageToken=xyz
PaidFeatureSet:
x-schema-name: PaidFeatureSet
description: Workspace feature set excluding free.
type: string
enum:
- Pro
- Team
- Enterprise
x-tsEnumNames:
- Pro
- Team
- Enterprise
PackPermission:
x-schema-name: PackPermission
description: Metadata about a Pack permission.
type: object
required:
- id
- principal
- access
additionalProperties: false
properties:
id:
type: string
description: Id for the Permission
principal:
$ref: '#/components/schemas/PackPrincipal'
access:
$ref: '#/components/schemas/PackAccessType'
PackSummary:
x-schema-name: PackSummary
description: Summary of a Pack.
type: object
additionalProperties: false
required:
- id
- name
- description
- shortDescription
- workspaceId
- categories
properties:
id:
type: number
description: ID of the Pack.
example: 1003
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.
exampleImages:
type: array
description: The example images for the Pack.
items:
$ref: '#/components/schemas/PackImageFile'
agentImages:
type: array
description: The agent images for the Pack.
items:
$ref: '#/components/schemas/PackImageFile'
workspaceId:
type: string
description: The parent workspace for the Pack.
example: ws-asdf
categories:
type: array
description: Publishing categories associated with this Pack.
items:
$ref: '#/components/schemas/PublishingCategory'
certified:
type: boolean
description: Denotes if the pack is certified by Coda.
certifiedAgent:
type: boolean
description: Denotes if the pack is certified by Grammarly to be optimized for agent usage.
sourceCodeVisibility:
$ref: '#/components/schemas/PackSourceCodeVisibility'
packEntrypoints:
type: array
description: Pack entrypoints where this pack is available
items:
$ref: '#/components/schemas/PackEntrypoint'
verifiedVersion:
type: string
description: The latest released pack version that has been verified (approved) for use. For agent packs, this is the most recent release that passed review. For non-agent packs or legacy releases, this is the most recent release.
example: 1.0.0
name:
type: string
description: The name of the Pack.
example: Cool Geometry Formulas
maxLength: 128
description:
type: string
description: The full description of the Pack.
example: This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids.
maxLength: 8192
shortDescription:
type: string
description: A short version of the description of the Pack.
example: Calculate cool geometric formulas like surface area.
maxLength: 256
agentShortDescription:
type: string
description: A short description for the pack as an agent.
example: Chat with a tool that can calculate cool geometric formulas like surface area.
maxLength: 256
agentDescription:
type: string
description: A full description for the pack as an agent.
example: Chat with a comprehensive tool that can calculate cool geometric formulas like surface area, volume, and other mathematical operations. This agent can help with complex calculations and provide detailed explanations.
x-allow-empty: true
maxLength: 8192
supportEmail:
type: string
description: A contact email for the Pack.
example: user@email.com
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
PackLogRequestType:
x-schema-name: PackLogRequestType
description: The context request type where a Pack log is generated.
type: string
enum:
- unknown
- connectionNameMetadataRequest
- parameterAutocompleteMetadataRequest
- postAuthSetupMetadataRequest
- propertyOptionsMetadataRequest
- getSyncTableSchemaMetadataRequest
- getDynamicSyncTableNameMetadataRequest
- listSyncTableDynamicUrlsMetadataRequest
- searchSyncTableDynamicUrlsMetadataRequest
- getDynamicSyncTableDisplayUrlMetadataRequest
- getIdentifiersForConnectionRequest
- invokeFormulaRequest
- invokeSyncFormulaRequest
- invokeSyncUpdateFormulaRequest
- invokeExecuteGetPermissionsRequest
- validateParametersMetadataRequest
- mcp
x-tsEnumNames:
- Unknown
- ConnectionNameMetadataRequest
- ParameterAutocompleteMetadataRequest
- PostAuthSetupMetadataRequest
- PropertyOptionsMetadataRequest
- GetSyncTableSchemaMetadataRequest
- GetDynamicSyncTableNameMetadataRequest
- ListSyncTableDynamicUrlsMetadataRequest
- SearchSyncTableDynamicUrlsMetadataRequest
- GetDynamicSyncTableDisplayUrlMetadataRequest
- ValidateParametersMetadataRequest
- GetIdentifiersForConnectionRequest
- InvokeFormulaRequest
- InvokeSyncFormulaRequest
- InvokeSyncUpdateFormulaRequest
- InvokeExecuteGetPermissionsRequest
- Mcp
StandardPackPlan:
x-schema-name: StandardPackPlan
description: The Pack plan to show the Pack can be subscribed to at a monthly cost per Doc Maker or for free.
type: object
required:
- packPlanId
- packId
- pricing
- createdAt
additionalProperties: false
properties:
packPlanId:
type: string
packId:
type: number
pricing:
oneOf:
- $ref: '#/components/schemas/FreePackPlanPricing'
- $ref: '#/components/schemas/MonthlyDocMakerPackPlanPricing'
description: Pricing to show how workspaces can subscribe to the Pack.
createdAt:
type: string
format: date-time
description: Timestamp for when the Pack plan was created.
example: '2018-04-11T00:18:57.946Z'
IngestionBatchExecutionsList:
x-schema-name: IngestionBatchExecutionsList
description: List of Ingestion Batch Executions.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/IngestionBatchExecution'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
PackListingsSortBy:
x-schema-name: PackListingsSortBy
description: Determines how the Pack listings returned are sorted.
type: string
enum:
- packId
- name
- packVersion
- packVersionModifiedAt
- agentDirectorySort
x-tsEnumNames:
- PackId
- Name
- PackVersion
- PackVersionModifiedAt
- AgentDirectorySort
PackNomosOrganizationPrincipal:
x-schema-name: PackNomosOrganizationPrincipal
type: object
required:
- type
- nomosOrganizationId
additionalProperties: false
properties:
type:
type: string
enum:
- nomosOrganization
x-tsType: PackPrincipalType.NomosOrganization
nomosOrganizationId:
type: string
PackReviewAdditionalInformation:
x-schema-name: PackReviewAdditionalInformation
description: Additional information about the pack review
type: object
additionalProperties: false
properties:
videoWalkthrough:
type: string
nullable: true
description: URL or reference to video walkthrough for agent verification.
maxLength: 512
additionalDetails:
type: string
nullable: true
description: Additional details for the pack review.
maxLength: 8192
privacyCollectsPersonalInfo:
type: boolean
nullable: true
description: Whether the agent or third-party partners collect personal information.
privacyPersonalInfoCategories:
type: array
nullable: true
items:
type: string
description: Categories of personal information collected by the agent.
privacyDataUsagePurposes:
type: array
nullable: true
items:
type: string
description: Purposes for which collected data is used by the agent or third-party partners.
privacyDataCollectedBy:
type: array
nullable: true
items:
type: string
description: Whether data is collected by the developer, a third party, or both.
CreatePackReviewResponse:
x-schema-name: CreatePackReviewResponse
description: Response containing created review information
type: object
required:
- packReviewId
additionalProperties: false
properties:
packReviewId:
type: string
format: uuid
description: ID of the created review
PackAssetUploadCompleteResponse:
x-schema-name: PackAssetUploadCompleteResponse
description: Response for noting a Pack asset upload is complete.
type: object
additionalProperties: false
required:
- requestId
- assetId
properties:
requestId:
type: string
description: An arbitrary unique identifier for this request.
example: abc-123-def-456
assetId:
type: string
description: An identifier of this uploaded asset.
example: e23fcb5e564f08b71183d424c2c380c0
PackCustomLog:
x-schema-name: PackCustomLog
description: Pack log generated by developer's custom logging with context.logger.
type: object
required:
- type
- context
- message
- level
additionalProperties: false
properties:
type:
type: string
enum:
- custom
x-tsType: PackLogType.Custom
context:
$ref: '#/components/schemas/PackLogContext'
message:
type: string
description: The message that's passed into context.logger.
example: The formula is called!
level:
$ref: '#/components/schemas/LogLevel'
PackOAuth2ClientCredentialsLocation:
x-schema-name: PackOAuth2ClientCredentialsLocation
description: Location of including OAuth2 client credentials in a request.
type: string
enum:
- automatic
- body
- header
x-tsEnumNames:
- Automatic
- Body
- Header
PackAgentRuntimeLogDetails:
x-schema-name: PackAgentRuntimeLogDetails
description: Details for pack agent runtime logs
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- agentRuntime
x-tsType: PackLogType.AgentRuntime
input:
type: string
description: The input to the turn.
output:
type: string
description: The output from the turn.
PackSourceCodeUploadCompleteResponse:
x-schema-name: PackSourceCodeUploadCompleteResponse
description: Response for noting a Pack source code upload is complete.
type: object
additionalProperties: false
required:
- requestId
properties:
requestId:
type: string
description: An arbitrary unique identifier for this request.
example: abc-123-def-456
AddPackPermissionResponse:
x-schema-name: AddPackPermissionResponse
description: Confirmation of successfully upserting a Pack permission.
type: object
required:
- permissionId
additionalProperties: false
properties:
permissionId:
type: string
description: The ID of the permission created or updated.
EmailPrincipal:
type: object
required:
- email
- type
additionalProperties: false
properties:
type:
type: string
description: The type of this principal.
enum:
- email
x-tsType: PrincipalType.Email
email:
type: string
description: Email for the principal.
example: example@domain.com
PackConnectionAwsAssumeRoleCredentials:
x-schema-name: PackConnectionAwsAssumeRoleCredentials
type: object
required:
- type
- roleArn
- externalId
additionalProperties: false
properties:
type:
type: string
enum:
- awsAssumeRole
x-tsType: PackConnectionType.AwsAssumeRole
roleArn:
type: string
externalId:
type: string
DomainPrincipal:
type: object
required:
- domain
- type
additionalProperties: false
properties:
type:
type: string
description: The type of this principal.
enum:
- domain
x-tsType: PrincipalType.Domain
domain:
type: string
description: Domain for the principal.
example: domain.com
UpdatePackRequest:
x-schema-name: UpdatePackRequest
description: Payload for updating a Pack.
type: object
additionalProperties: false
properties:
overallRateLimit:
x-schema-name: PackRateLimit
description: Rate limit in Pack settings.
type: object
additionalProperties: false
required:
- intervalSeconds
- operationsPerInterval
properties:
intervalSeconds:
type: integer
description: The rate limit interval in seconds.
example: 3600
minimum: 1
maximum: 86400
operationsPerInterval:
type: integer
description: The maximum number of Pack operations that can be performed in a given interval.
example: 20
minimum: 0
nullable: true
perConnectionRateLimit:
x-schema-name: PackRateLimit
description: Rate limit in Pack settings.
type: object
additionalProperties: false
required:
- intervalSeconds
- operationsPerInterval
properties:
intervalSeconds:
type: integer
description: The rate limit interval in seconds.
example: 3600
minimum: 1
maximum: 86400
operationsPerInterval:
type: integer
description: The maximum number of Pack operations that can be performed in a given interval.
example: 20
minimum: 0
nullable: true
logo:
x-schema-name: ImageFileForUpdatePackRequest
description: Information about an image file for an update Pack request.
type: object
additionalProperties: false
required:
- assetId
- filename
properties:
assetId:
type: string
description: The asset id of the Pack's image, returned by [`#PackAssetUploadComplete`](#operation/packAssetUploadComplete) endpoint.
filename:
type: string
description: The filename for the image.
mimeType:
type: string
description: The media type of the image being sent.
example: image/jpeg
nullable: true
cover:
x-schema-name: ImageFileForUpdatePackRequest
description: Information about an image file for an update Pack request.
type: object
additionalProperties: false
required:
- assetId
- filename
properties:
assetId:
type: string
description: The asset id of the Pack's image, returned by [`#PackAssetUploadComplete`](#operation/packAssetUploadComplete) endpoint.
filename:
type: string
description: The filename for the image.
mimeType:
type: string
description: The media type of the image being sent.
example: image/jpeg
nullable: true
exampleImages:
type: array
description: The example images for the Pack.
nullable: true
items:
$ref: '#/components/schemas/ImageFileForUpdatePackRequest'
agentImages:
type: array
description: The agent images for the Pack.
nullable: true
items:
$ref: '#/components/schemas/ImageFileForUpdatePackRequest'
sourceCodeVisibility:
$ref: '#/components/schemas/PackSourceCodeVisibility'
nullable: true
packEntrypoints:
type: array
description: Pack entrypoints where this pack is available
nullable: true
minItems: 1
items:
$ref: '#/components/schemas/PackEntrypoint'
name:
type: string
description: The name of the Pack.
example: Cool Geometry Formulas
maxLength: 128
description:
type: string
description: The full description of the Pack.
example: This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids.
maxLength: 8192
shortDescription:
type: string
description: A short version of the description of the Pack.
example: Calculate cool geometric formulas like surface area.
maxLength: 256
agentShortDescription:
type: string
description: A short description for the pack as an agent.
example: Chat with a tool that can calculate cool geometric formulas like surface area.
maxLength: 256
agentDescription:
type: string
description: A full description for the pack as an agent.
example: Chat with a comprehensive tool that can calculate cool geometric formulas like surface area, volume, and other mathematical operations. This agent can help with complex calculations and provide detailed explanations.
x-allow-empty: true
maxLength: 8192
supportEmail:
type: string
description: A contact email for the Pack.
example: user@email.com
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
PackConnectionUrlParamCredentials:
x-schema-name: PackConnectionUrlParamCredentials
type: object
required:
- type
- params
additionalProperties: false
properties:
type:
type: string
enum:
- urlParam
x-tsType: PackConnectionType.UrlParam
params:
type: array
items:
type: object
required:
- key
- value
additionalProperties: false
properties:
key:
type: string
value:
type: string
WorkspacePrincipal:
type: object
required:
- type
- workspaceId
additionalProperties: false
properties:
type:
type: string
description: The type of this principal.
enum:
- workspace
x-tsType: PrincipalType.Workspace
workspaceId:
type: string
description: WorkspaceId for the principal.
example: ws-sdfmsdf9
IngestionParentItem:
x-schema-name: IngestionParentItem
description: An ingestion parent item and its execution state (either full or incremental).
type: object
required:
- completionTimestamp
- creationTimestamp
- errorMessage
- executionType
- ingestionExecutionId
- ingestionName
- parentItemId
- startTimestamp
additionalProperties: false
properties:
attemptNumber:
type: number
description: The attempt number of the ingestion child execution.
completionTimestamp:
type: number
description: Completion time of the ingestion child execution in seconds since epoch.
errorMessage:
type: string
nullable: true
executionType:
$ref: '#/components/schemas/IngestionChildExecutionType'
ingestionChildExecutionIndex:
type: number
description: Current execution index for this parent item's child execution.
ingestionExecutionId:
type: string
description: The ID of the ingestion child execution.
ingestionName:
type: string
description: The name of the ingestion child execution.
ingestionStatus:
$ref: '#/components/schemas/IngestionStatus'
parentItemId:
type: string
description: The ID of the parent item.
startTimestamp:
type: number
description: Start time of the ingestion child execution in seconds since epoch.
rowCount:
type: number
description: The number of rows processed so far in the current ingestion child execution.
latestCheckpointTimestamp:
type: number
description: The timestamp of the latest checkpoint of the ingestion child execution.
PackConnectionGoogleServiceAccountCredentials:
x-schema-name: PackConnectionGoogleServiceAccountCredentials
type: object
required:
- type
- serviceAccountKey
additionalProperties: false
properties:
type:
type: string
enum:
- googleServiceAccount
x-tsType: PackConnectionType.GoogleServiceAccount
serviceAccountKey:
type: string
MakerSummary:
x-schema-name: MakerSummary
description: Summary about a maker
type: object
required:
- name
additionalProperties: false
properties:
name:
type: string
description: Name of the maker.
example: John Doe
pictureLink:
type: string
format: url
description: Browser-friendly link to the maker's avatar image.
example: https://cdn.coda.io/avatars/default_avatar.png
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.
PackInvocationLogDetails:
x-schema-name: PackInvocationLogDetails
description: Details for pack invocation logs
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- invocation
x-tsType: PackLogType.Invocation
result:
type: object
required:
- stringVal
- int64Val
- doubleVal
- objectVal
- boolVal
- dateVal
additionalProperties: false
properties:
stringVal:
type: string
int64Val:
type: number
doubleVal:
type: number
objectVal:
type: string
boolVal:
type: boolean
dateVal:
type: number
resultDetail:
type: string
description: Supplementary information about the result.
continuationJson:
type: string
description: Only used by sync invocations.
completionJson:
type: string
description: Only used by sync invocations.
deletedItemIdsJson:
type: string
description: Only used by sync invocations.
permissionsContextJson:
type: string
description: Only used by sync invocations.
ListPackCategoriesResponse:
x-schema-name: ListPackCategoriesResponse
description: Confirmation of successfully retrieving Pack categories.
type: object
required:
- categories
additionalProperties: false
properties:
categories:
type: array
description: The names of categories associated with a Pack.
items:
$ref: '#/components/schemas/PublishingCategory'
PackConnectionHeaderMetadata:
x-schema-name: PackConnectionHeaderMetadata
type: object
required:
- type
- headerName
- tokenPrefix
additionalProperties: false
properties:
type:
type: string
enum:
- header
x-tsType: PackConnectionType.Header
maskedToken:
type: string
headerName:
type: string
tokenPrefix:
type: string
PackInvitationList:
x-schema-name: PackInvitationList
description: List of Pack invitations.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackInvitation'
nextPageToken:
type: string
nullable: true
description: Token for fetching the next page of results
nextPageLink:
type: string
format: url
nullable: true
description: URL for fetching the next page of results
CancelPackReviewResponse:
x-schema-name: CancelPackReviewResponse
description: Response confirming the pack review was canceled
type: object
additionalProperties: false
properties: {}
PackGlobalPrincipal:
x-schema-name: PackGlobalPrincipal
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- worldwide
x-tsType: PackPrincipalType.Worldwide
nextPageToken:
description: If specified, an opaque token used to fetch the next page of results.
type: string
example: eyJsaW1pd
PackConnectionAwsAccessKeyPatch:
x-schema-name: PackConnectionAwsAccessKeyPatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- awsAccessKey
x-tsType: PackConnectionType.AwsAccessKey
accessKeyId:
type: string
secretAccessKey:
type: string
PackListing:
x-schema-name: PackListing
description: A Pack listing.
type: object
additionalProperties: false
required:
- packId
- packVersion
- name
- shortDescription
- description
- logoUrl
- logo
- externalMetadataUrl
- categories
- makers
- sdkVersion
- packCategoryType
properties:
packId:
type: number
description: ID of the Pack.
example: 1003
packVersion:
type: string
description: The version of the Pack.
example: 1.0.3
releaseId:
type: number
description: The current release number of the Pack if released, otherwise undefined.
example: 2
lastReleasedAt:
type: string
format: date-time
description: The timestamp of the latest release of this Pack.
example: '2018-04-11T00:18:57.946Z'
logoUrl:
type: string
format: url
description: The link to the logo of the Pack.
deprecated: true
logo:
$ref: '#/components/schemas/PackImageFile'
coverUrl:
type: string
format: url
description: The link to the cover photo of the Pack.
deprecated: true
cover:
$ref: '#/components/schemas/PackImageFile'
exampleImages:
type: array
items:
$ref: '#/components/schemas/PackImageFile'
description: The example images for the Pack.
agentImages:
type: array
items:
$ref: '#/components/schemas/PackImageFile'
description: The agent images for the Pack.
name:
type: string
description: The name of the Pack.
example: Cool Geometry Formulas
description:
type: string
description: The full description of the Pack.
example: This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids.
maxLength: 8192
shortDescription:
type: string
description: A short version of the description of the Pack.
example: Calculate cool geometric formulas like surface area.
agentShortDescription:
type: string
description: A short description for the pack as an agent.
example: Chat with a tool that can calculate cool geometric formulas like surface area.
agentDescription:
type: string
description: A full description for the pack as an agent.
example: Chat with a comprehensive tool that can calculate cool geometric formulas like surface area, volume, and other mathematical operations. This agent can help with complex calculations and provide detailed explanations.
supportEmail:
type: string
description: A contact email for the Pack.
example: user@email.com
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: '#/components/schemas/PublishingCategory'
makers:
type: array
description: Makers associated with this Pack.
items:
$ref: '#/components/schemas/MakerSummary'
certified:
type: boolean
description: Denotes if the pack is certified by Coda.
certifiedAgent:
type: boolean
description: Denotes if the pack is certified by Grammarly to be optimized for agent usage.
minimumFeatureSet:
$ref: '#/components/schemas/FeatureSet'
unrestrictedFeatureSet:
$ref: '#/components/schemas/FeatureSet'
externalMetadataUrl:
type: string
description: The URL where complete metadata about the contents of the Pack version can be downloaded.
example: https://codahosted.io/packs/12345/1.2.3/metadata/0c892064aa5cb.json
standardPackPlan:
$ref: '#/components/schemas/StandardPackPlan'
bundledPackPlan:
$ref: '#/components/schemas/BundledPackPlan'
sourceCodeVisibility:
$ref: '#/components/schemas/PackSourceCodeVisibility'
sdkVersion:
type: string
description: What Packs SDK version was this version built on.
example: 1.5.1
packCategoryType:
$ref: '#/components/schemas/PackCategoryType'
PackConnectionCustomCredentials:
x-schema-name: PackConnectionCustomCredentials
type: object
required:
- type
- params
additionalProperties: false
properties:
type:
type: string
enum:
- custom
x-tsType: PackConnectionType.Custom
params:
type: array
items:
type: object
required:
- key
- value
additionalProperties: false
properties:
key:
type: string
value:
type: string
PackConnectionHttpBasicCredentials:
x-schema-name: PackConnectionHttpBasicCredentials
type: object
required:
- type
- username
additionalProperties: false
properties:
type:
type: string
enum:
- httpBasic
x-tsType: PackConnectionType.HttpBasic
username:
type: string
password:
type: string
x-allow-empty: true
Maker:
x-schema-name: Maker
description: Info about the maker
type: object
required:
- name
- loginId
additionalProperties: false
properties:
name:
type: string
description: Name of the maker.
example: John Doe
pictureLink:
type: string
format: url
description: Browser-friendly link to the maker's avatar image.
example: https://cdn.coda.io/avatars/default_avatar.png
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
description: Email address of the user.
example: user@example.com
AddPackPermissionRequest:
x-schema-name: AddPackPermissionRequest
description: Payload for upserting a Pack permission.
type: object
required:
- access
- principal
additionalProperties: false
properties:
principal:
$ref: '#/components/schemas/PackPrincipal'
access:
$ref: '#/components/schemas/PackAccessType'
CreatePackReleaseRequest:
x-schema-name: CreatePackReleaseRequest
description: Payload for creating a new Pack release.
type: object
required:
- packVersion
additionalProperties: false
properties:
packVersion:
type: string
description: Which semantic pack version that the release will be created on.
example: 1.0.0
releaseNotes:
type: string
description: Developers notes.
example: The first release.
Principal:
x-schema-name: Principal
description: Metadata about a principal.
oneOf:
- $ref: '#/components/schemas/EmailPrincipal'
- $ref: '#/components/schemas/GroupPrincipal'
- $ref: '#/components/schemas/DomainPrincipal'
- $ref: '#/components/schemas/WorkspacePrincipal'
- $ref: '#/components/schemas/AnyonePrincipal'
- $ref: '#/components/schemas/InternalAccessPrincipal'
discriminator:
propertyName: type
mapping:
email: '#/components/schemas/EmailPrincipal'
group: '#/components/schemas/GroupPrincipal'
domain: '#/components/schemas/DomainPrincipal'
workspace: '#/components/schemas/WorkspacePrincipal'
anyone: '#/components/schemas/AnyonePrincipal'
internalAccess: '#/components/schemas/InternalAccessPrincipal'
PackAccessTypes:
x-schema-name: PackAccessTypes
description: Access types for a Pack.
additionalProperties: false
type: array
items:
$ref: '#/components/schemas/PackAccessType'
SetPackOauthConfigRequest:
x-schema-name: SetPackOauthConfigRequest
description: Request to set the Pack OAuth configuration.
type: object
additionalProperties: false
properties:
clientId:
type: string
clientSecret:
type: string
redirectUri:
type: string
PackVersionUploadInfo:
x-schema-name: PackVersionUploadInfo
description: Information indicating where to upload the Pack version definition.
type: object
required:
- uploadUrl
- headers
additionalProperties: false
properties:
uploadUrl:
type: string
description: A URL to be used for uploading a Pack version definition.
example: https://coda-us-west-2-prod-packs-upload.s3.amazonaws.com/packs/123/versions/1.0.0
headers:
type: object
additionalProperties:
type: string
description: Key-value pairs of authorization headers to include in the upload request.
example: '{"header1": "value1"}'
AddPackMakerResponse:
x-schema-name: AddPackMakerResponse
description: Confirmation of successfully adding a Pack maker.
type: object
additionalProperties: false
properties: {}
CreatePackInvitationRequest:
x-schema-name: CreatePackInvitationRequest
description: Payload for creating a Pack invitation.
type: object
required:
- access
- email
additionalProperties: false
properties:
email:
type: string
description: Email address of the user to invite
example: user@example.com
access:
$ref: '#/components/schemas/PackAccessType'
IngestionTableSetting:
x-schema-name: IngestionTableSetting
description: Ingestion settings for a specific table
type: object
additionalProperties: false
properties:
maxBytesPerSyncTableOverride:
type: number
description: The bytes limit when ingesting data for this table. null means no limit.
nullable: true
excludeIngestionByDefault:
type: boolean
description: Whether to exclude this table from ingestions by default.
parameterLimits:
type: object
description: Limits for allowed parameter values.
additionalProperties:
$ref: '#/components/schemas/ParameterSetting'
PackUserPrincipal:
x-schema-name: PackUserPrincipal
type: object
required:
- type
- email
additionalProperties: false
properties:
type:
type: string
enum:
- user
x-tsType: PackPrincipalType.User
email:
type: string
FeaturedDocStatus:
x-schema-name: FeaturedDocStatus
description: Status of featured doc in pack listing.
type: string
enum:
- docInaccessibleOrDoesNotExist
- invalidPublishedDocUrl
x-tsEnumNames:
- DocInaccessibleOrDoesNotExist
- InvalidPublishedDocUrl
nextPageLink:
description: If specified, a link that can be used to fetch the next page of results.
type: string
format: url
IngestionParentItemsList:
x-schema-name: IngestionParentItemsList
description: List of Ingestion Parent Items.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/IngestionParentItem'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
PackLogDetails:
x-schema-name: PackLogDetails
description: Details for a pack log.
oneOf:
- $ref: '#/components/schemas/PackFetcherLogDetails'
- $ref: '#/components/schemas/PackInvocationLogDetails'
- $ref: '#/components/schemas/PackAgentRuntimeLogDetails'
discriminator:
propertyName: type
mapping:
invocation: '#/components/schemas/PackInvocationLogDetails'
fetcher: '#/components/schemas/PackFetcherLogDetails'
agentRuntime: '#/components/schemas/PackAgentRuntimeLogDetails'
DocReference:
x-schema-name: DocReference
description: Reference to a Coda doc.
type: object
required:
- id
- type
- browserLink
- href
additionalProperties: false
properties:
id:
type: string
description: ID of the Coda doc.
example: AbCDeFGH
type:
type: string
description: The type of this resource.
enum:
- doc
x-tsType: Type.Doc
href:
type: string
format: url
description: API link to the Coda doc.
example: https://coda.io/apis/v1/docs/AbCDeFGH
browserLink:
type: string
format: url
description: Browser-friendly link to the Coda doc.
example: https://coda.io/d/_dAbCDeFGH
ImageFileForUpdatePackRequest:
x-schema-name: ImageFileForUpdatePackRequest
description: Information about an image file for an update Pack request.
type: object
additionalProperties: false
required:
- assetId
- filename
properties:
assetId:
type: string
description: The asset id of the Pack's image, returned by [`#PackAssetUploadComplete`](#operation/packAssetUploadComplete) endpoint.
filename:
type: string
description: The filename for the image.
mimeType:
type: string
description: The media type of the image being sent.
example: image/jpeg
PackRelease:
x-schema-name: PackRelease
description: Details about a Pack release.
type: object
additionalProperties: false
required:
- packId
- releaseId
- releaseNotes
- createdAt
- packVersion
- sdkVersion
properties:
packId:
type: number
description: ID of the Packs.
example: 1003
releaseNotes:
type: string
description: Developer notes.
example: The first release.
createdAt:
type: string
format: date-time
description: Timestamp for when the release was created.
example: '2018-04-11T00:18:57.946Z'
releaseId:
type: number
description: The release number of the Pack version if it has one.
example: 2
packVersion:
type: string
description: The semantic format of the Pack version.
example: 1.0.3
sdkVersion:
type: string
description: What Packs SDK version was this version built on.
example: 1.5.1
PackOauthConfigMetadata:
x-schema-name: PackOauthConfigMetadata
description: The Pack OAuth configuration metadata.
type: object
additionalProperties: false
required:
- maskedClientId
- maskedClientSecret
- authorizationUrl
- tokenUrl
- redirectUri
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.
useDynamicClientRegistration:
type: boolean
description: Whether this Pack uses Dynamic Client Registration for OAuth.
PackInternalLog:
x-schema-name: PackInternalLog
description: Coda internal logs from the packs infrastructure. Only visible to Codans.
type: object
required:
- type
- context
- message
- level
additionalProperties: false
properties:
type:
type: string
enum:
- internal
x-tsType: PackLogType.Internal
context:
$ref: '#/components/schemas/PackLogContext'
message:
type: string
description: The log message.
level:
$ref: '#/components/schemas/LogLevel'
IngestionChildExecutionType:
x-schema-name: IngestionChildExecutionType
description: Type of an ingestion childexecution.
type: string
enum:
- FULL
- INCREMENTAL
- PATCH
x-tsEnumNames:
- Full
- Incremental
- Patch
PackGrammarlyInstitutionPrincipal:
x-schema-name: PackGrammarlyInstitutionPrincipal
type: object
required:
- type
- grammarlyInstitutionId
additionalProperties: false
properties:
type:
type: string
enum:
- grammarlyInstitution
x-tsType: PackPrincipalType.GrammarlyInstitution
grammarlyInstitutionId:
type: integer
format: int64
minimum: 1
PackListingInstallContextType:
x-schema-name: PackListingInstallContextType
description: Type of context in which a Pack is being installed.
type: string
enum:
- workspace
- doc
x-tsEnumNames:
- Workspace
- Doc
ValidationError:
x-schema-name: ValidationError
description: Detail about why a particular field failed request validation.
type: object
additionalProperties: false
required:
- path
- message
properties:
path:
type: string
description: A path indicating the affected field, in OGNL notation.
example: parent.child[0]
message:
type: string
description: An error message.
example: Expected a string but got a number
PackDiscoverability:
x-schema-name: PackDiscoverability
description: Widest principal a Pack is available to.
type: string
enum:
- public
- nomosOrganization
- group
- grammarlyInstitution
- workspace
- private
x-tsEnumNames:
- Public
- NomosOrganization
- Group
- GrammarlyInstitution
- Workspace
- Private
DeleteUserPackPermissionsResponse:
x-schema-name: DeleteUserPackPermissionsResponse
description: Confirmation of successfully deleting a user's permissions for a Pack.
type: object
additionalProperties: false
properties: {}
PackReview:
x-schema-name: PackReview
description: A pack review submission
type: object
required:
- packReviewId
- packId
- packReviewStatus
- submittedByUserId
- submissionTimestamp
additionalProperties: false
properties:
packReviewId:
type: string
format: uuid
description: ID of the review
packId:
type: integer
description: ID of the pack being reviewed
packVersion:
type: string
description: Pack version being reviewed (for code reviews)
includesListingReview:
type: boolean
description: Whether listing info was included in the review scope
packReviewStatus:
$ref: '#/components/schemas/PackReviewStatus'
submittedByUserId:
type: integer
description: User ID of the person who submitted the review
submissionTimestamp:
type: string
format: date-time
description: When the review was submitted
additionalInformation:
$ref: '#/components/schemas/PackReviewAdditionalInformation'
PackFetcherLog:
x-schema-name: PackFetcherLog
description: System logs of Pack calls to context.fetcher.
type: object
required:
- type
- context
additionalProperties: false
properties:
type:
type: string
enum:
- fetcher
x-tsType: PackLogType.Fetcher
context:
$ref: '#/components/schemas/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
description: base URL of the fetcher request, with all query parameters stripped off.
example: https://coda.io/api
cacheHit:
type: boolean
description: true if the fetcher request hits catche instead of actually requesting the remote service.
duration:
description: Duration of the fetcher request in miliseconds.
type: number
IngestionStatus:
x-schema-name: IngestionStatus
description: Status of the ingestion execution.
type: string
enum:
- QUEUED
- STARTED
- CANCELLED
- UP_FOR_RETRY
- COMPLETED
- FAILED
x-tsEnumNames:
- Queued
- Started
- Cancelled
- UpForRetry
- Completed
- Failed
DeletePackResponse:
x-schema-name: DeletePackResponse
description: Confirmation of successful Pack deletion.
type: object
additionalProperties: false
properties: {}
PackAgentRuntimeLog:
x-schema-name: PackAgentRuntimeLog
description: Pack log generated by an executing agent runtime.
type: object
required:
- type
- context
- turnType
additionalProperties: false
properties:
type:
type: string
enum:
- agentRuntime
x-tsType: PackLogType.AgentRuntime
context:
$ref: '#/components/schemas/PackLogContext'
turnType:
type: string
description: The type of LLM agent turn that this log is for.
durationMs:
type: number
description: The duration of the turn in milliseconds.
name:
type: string
description: The name of the turn target.
model:
type: string
description: The model used for the turn.
tokenUsage:
type: string
description: The token usage for the turn.
instructions:
type: string
description: The instructions for the turn.
fromAgent:
type: string
description: The name of the agent that initiated the turn.
toAgent:
type: string
description: The name of the agent that received the turn.
PackEntrypoint:
x-schema-name: PackEntrypoint
type: string
enum:
- go
- docs
x-tsEnumNames:
- Go
- Docs
PackPrincipal:
x-schema-name: PackPrincipal
description: Metadata about a Pack principal.
oneOf:
- $ref: '#/components/schemas/PackUserPrincipal'
- $ref: '#/components/schemas/PackWorkspacePrincipal'
- $ref: '#/components/schemas/PackGlobalPrincipal'
- $ref: '#/components/schemas/PackNomosOrganizationPrincipal'
- $ref: '#/components/schemas/PackGroupPrincipal'
- $ref: '#/components/schemas/PackGrammarlyInstitutionPrincipal'
discriminator:
propertyName: type
mapping:
user: '#/components/schemas/PackUserPrincipal'
workspace: '#/components/schemas/PackWorkspacePrincipal'
global: '#/components/schemas/PackGlobalPrincipal'
nomosOrganization: '#/components/schemas/PackNomosOrganizationPrincipal'
group: '#/components/schemas/PackGroupPrincipal'
grammarlyInstitution: '#/components/schemas/PackGrammarlyInstitutionPrincipal'
PackConnectionCustomPatch:
x-schema-name: PackConnectionCustomPatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- custom
x-tsType: PackConnectionType.Custom
paramsToPatch:
type: array
items:
type: object
required:
- key
- value
additionalProperties: false
properties:
key:
type: string
value:
type: string
PackConnectionUrlParamPatch:
x-schema-name: PackConnectionUrlParamPatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- urlParam
x-tsType: PackConnectionType.UrlParam
paramsToPatch:
type: array
items:
type: object
required:
- key
- value
additionalProperties: false
properties:
key:
type: string
value:
type: string
UpdatePackFeaturedDocsRequest:
x-schema-name: UpdatePackFeaturedDocsRequest
description: Payload for updating featured docs for a Pack.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
maxItems: 5
uniqueItems: true
description: A list of docs to set as the featured docs for a Pack.
items:
$ref: '#/components/schemas/PackFeaturedDocRequestItem'
CreatePackReviewRequest:
x-schema-name: CreatePackReviewRequest
description: Request to create a pack review
type: object
additionalProperties: false
properties:
packVersion:
type: string
description: Pack version to review (for code reviews)
releaseNotes:
type: string
maxLength: 8192
description: Release notes for this version (used when pack is approved and released)
PackConnectionHeaderCredentials:
x-schema-name: PackConnectionHeaderCredentials
type: object
required:
- type
- token
additionalProperties: false
properties:
type:
type: string
enum:
- header
x-tsType: PackConnectionType.Header
token:
type: string
DeletePackMakerResponse:
x-schema-name: AddPackMakerResponse
description: Confirmation of successfully deleting a Pack maker.
type: object
additionalProperties: false
properties: {}
PackListingAdditionalInformation:
x-schema-name: PackListingAdditionalInformation
description: Additional information saved with the pack listing draft
type: object
additionalProperties: false
properties:
videoWalkthrough:
type: string
nullable: true
description: URL or reference to video walkthrough for agent verification.
maxLength: 512
additionalDetails:
type: string
nullable: true
description: Additional details for the pack review.
maxLength: 8192
privacyCollectsPersonalInfo:
type: boolean
nullable: true
description: Whether the agent or third-party partners collect personal information.
privacyPersonalInfoCategories:
type: array
nullable: true
items:
type: string
description: Categories of personal information collected by the agent.
privacyDataUsagePurposes:
type: array
nullable: true
items:
type: string
description: Purposes for which collected data is used by the agent or third-party partners.
privacyDataCollectedBy:
type: array
nullable: true
items:
type: string
description: Whether data is collected by the developer, a third party, or both.
AddPackCategoryRequest:
x-schema-name: AddPackCategoryRequest
description: Payload for adding a Pack Category.
type: object
required:
- categoryName
additionalProperties: false
properties:
categoryName:
type: string
description: Name of the publishing category.
example: Project management
PackFetcherLogDetails:
x-schema-name: PackFetcherLogDetails
description: Details for pack fetcher logs
type: object
required:
- type
- request
additionalProperties: false
properties:
type:
type: string
enum:
- fetcher
x-tsType: PackLogType.Fetcher
request:
type: string
response:
type: string
PackSourceCode:
x-schema-name: PackSourceCode
description: Details about a Pack's source code.
type: object
additionalProperties: false
required:
- filename
- url
properties:
filename:
type: string
description: name of the file
example: main.ts
url:
type: string
description: The URL to download the source code from
example: https://coda-us-west-2-prod-packs.s3.us-west-2.amazonaws.com/packs/123/1/main.ts
GetPackListingDraftResponse:
x-schema-name: GetPackListingDraftResponse
description: Response containing the Pack listing draft
type: object
additionalProperties: false
properties:
packListingDraftId:
type: string
format: uuid
description: ID of the listing draft
listingData:
$ref: '#/components/schemas/PackListingDraftData'
PackListingList:
x-schema-name: PackListingList
description: A list of Pack listings.
type: object
additionalProperties: false
required:
- items
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackListing'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/nextPageLink'
- type: string
example: https://coda.io/apis/v1/packs/listings?pageToken=xyz
AddPackCategoryResponse:
x-schema-name: AddPackCategoryResponse
description: Confirmation of successfully adding a Pack category.
type: object
additionalProperties: false
properties: {}
PackReleaseList:
x-schema-name: PackReleaseList
description: List of Pack releases.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackRelease'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/nextPageLink'
- type: string
example: https://coda.io/apis/v1/packs/1/releases?pageToken=xyz
CreatePackRequest:
x-schema-name: CreatePackRequest
description: Payload for creating a Pack.
type: object
additionalProperties: false
properties:
workspaceId:
type: string
description: The parent workspace for the Pack. If unspecified, the user's default workspace will be used.
example: ws-asdf
name:
type: string
description: The name for the Pack.
example: Trigonometry
description:
type: string
description: A brief description of the Pack.
example: Common trigonometric functions.
sourcePackId:
type: number
description: The ID of the new Pack's source, if this new Pack was forked.
nullable: true
example: 10029
PackCategoryType:
x-schema-name: PackCategoryType
description: The category of a Pack.
type: string
enum:
- connector
- agent
- customAgent
x-tsEnumNames:
- Connector
- Agent
- CustomAgent
UpdatePackInvitationRequest:
x-schema-name: UpdatePackInvitationRequest
description: Payload for updating a Pack invitation.
type: object
required:
- access
additionalProperties: false
properties:
access:
$ref: '#/components/schemas/PackAccessType'
PackConnectionHeaderPatch:
x-schema-name: PackConnectionHeaderPatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- header
x-tsType: PackConnectionType.Header
token:
type: string
Permission:
x-schema-name: Permission
description: A specific permission granted to a principal.
type: object
required:
- principal
- id
- access
additionalProperties: false
properties:
principal:
$ref: '#/components/schemas/Principal'
id:
type: string
description: Id for the Permission
access:
$ref: '#/components/schemas/AccessType'
SortDirection:
x-schema-name: SortDirection
description: Direction of a sort for a table or view.
type: string
enum:
- ascending
- descending
x-tsEnumNames:
- Ascending
- Descending
GetPackConfigurationJsonSchemaResponse:
x-schema-name: GetPackConfigurationJsonSchemaResponse
description: JSON schema response.
type: object
additionalProperties: true
HandlePackInvitationResponse:
x-schema-name: HandlePackInvitationResponse
description: Confirmation of successfully handling a Pack invitation.
type: object
additionalProperties: false
properties:
permissionId:
type: string
description: The ID of the permission that was created. Only returned when accepting the invitation.
PackConnectionAwsAssumeRoleMetadata:
x-schema-name: PackConnectionAwsAssumeRoleMetadata
type: object
required:
- type
- service
- roleArn
- externalId
additionalProperties: false
properties:
type:
type: string
enum:
- awsAssumeRole
x-tsType: PackConnectionType.AwsAssumeRole
service:
type: string
roleArn:
type: string
externalId:
type: string
FolderReference:
x-schema-name: FolderReference
description: Reference to a Coda folder.
type: object
required:
- id
- type
- browserLink
additionalProperties: false
properties:
id:
type: string
description: ID of the Coda folder.
example: fl-1Ab234
type:
type: string
description: The type of this resource.
enum:
- folder
x-tsType: Type.Folder
browserLink:
type: string
format: url
description: Browser-friendly link to the folder.
example: https://coda.io/folders/fl-1Ab234
name:
type: string
description: Name of the folder; included if the user has access to the folder.
example: My docs
GroupPrincipal:
type: object
required:
- groupId
- groupName
- type
additionalProperties: false
properties:
type:
type: string
description: The type of this principal.
enum:
- group
x-tsType: PrincipalType.Group
groupId:
type: string
description: Group ID for the principal.
example: grp-6SM9xrKcqW
groupName:
type: string
description: Name of the group.
example: Marketing team
CreatePackVersionRequest:
x-schema-name: CreatePackVersionRequest
description: Payload for Pack version upload complete.
type: object
additionalProperties: false
properties:
notes:
type: string
description: Developer notes of the new Pack version.
example: Adding a new formula HelloWorld.
source:
$ref: '#/components/schemas/PackSource'
allowOlderSdkVersion:
type: boolean
description: Bypass Coda's protection against SDK version regression when multiple makers build versions.
MonthlyDocMakerPackPlanPricing:
x-schema-name: MonthlyDocMakerPackPlanPricing
description: Pricing used when workspaces can subscribe to the Pack for a monthly cost per Doc Maker.
type: object
required:
- type
- amount
- currency
additionalProperties: false
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: '#/components/schemas/PackPlanCurrency'
PublishingCategory:
x-schema-name: PublishingCategory
description: Info about a publishing category
type: object
required:
- categoryId
- categoryName
additionalProperties: false
properties:
categoryId:
type: string
description: The ID for this category.
example: aBCdEFg
categoryName:
type: string
description: The name of the category.
example: Project management
categorySlug:
type: string
description: The URL identifier of the category.
example: project-management
ParameterSetting:
x-schema-name: ParameterSetting
description: Setting for a specific parameter
type: object
additionalProperties: false
required:
- default
- allowed
properties:
default:
type: string
description: Default value for the parameter
allowed:
type: array
items:
type: string
PackVersion:
x-schema-name: PackVersion
description: Details about a Pack version.
type: object
additionalProperties: false
required:
- packId
- buildNotes
- createdAt
- creationUserLoginId
- packVersion
properties:
packId:
type: number
description: ID of the Pack.
example: 1003
buildNotes:
type: string
description: Developer notes.
example: Adding a new formula.
createdAt:
type: string
format: date-time
description: Timestamp for when the version was created.
example: '2018-04-11T00:18:57.946Z'
creationUserLoginId:
type: string
description: The login ID of creation user of the Pack version.
example: api@coda.io
releaseId:
type: number
description: The release number of the Pack version if it has one.
example: 2
packVersion:
type: string
description: The semantic format of the Pack version.
example: 1.0.3
sdkVersion:
type: string
description: What Packs SDK version was this version built on.
example: 1.5.1
source:
$ref: '#/components/schemas/PackSource'
PackFeaturedDocRequestItem:
x-schema-name: PackFeaturedDocRequestItem
description: Item representing a featured doc in the update Pack featured docs request.
type: object
required:
- url
additionalProperties: false
properties:
url:
type: string
description: A URL to a doc.
isPinned:
type: boolean
description: Whether or not the current doc should be pinned.
PackSystemConnectionCredentials:
x-schema-name: PackSystemConnectionCredentials
description: Credentials of a Pack connection.
oneOf:
- $ref: '#/components/schemas/PackConnectionHeaderCredentials'
- $ref: '#/components/schemas/PackConnectionMultiHeaderCredentials'
- $ref: '#/components/schemas/PackConnectionUrlParamCredentials'
- $ref: '#/components/schemas/PackConnectionHttpBasicCredentials'
- $ref: '#/components/schemas/PackConnectionCustomCredentials'
- $ref: '#/components/schemas/PackConnectionOauth2ClientCredentials'
- $ref: '#/components/schemas/PackConnectionGoogleServiceAccountCredentials'
- $ref: '#/components/schemas/PackConnectionAwsAssumeRoleCredentials'
- $ref: '#/components/schemas/PackConnectionAwsAccessKeyCredentials'
discriminator:
propertyName: type
mapping:
header: '#/components/schemas/PackConnectionHeaderCredentials'
multiHeader: '#/components/schemas/PackConnectionMultiHeaderCredentials'
urlParam: '#/components/schemas/PackConnectionUrlParamCredentials'
httpBasic: '#/components/schemas/PackConnectionHttpBasicCredentials'
custom: '#/components/schemas/PackConnectionCustomCredentials'
oauth2ClientCredentials: '#/components/schemas/PackConnectionOauth2ClientCredentials'
googleServiceAccount: '#/components/schemas/PackConnectionGoogleServiceAccountCredentials'
awsAssumeRole: '#/components/schemas/PackConnectionAwsAssumeRoleCredentials'
awsAccessKey: '#/components/schemas/PackConnectionAwsAccessKeyCredentials'
PackConnectionUrlParamMetadata:
x-schema-name: PackConnectionUrlParamMetadata
type: object
required:
- type
- params
- domain
- presetKeys
additionalProperties: false
properties:
type:
type: string
enum:
- urlParam
x-tsType: PackConnectionType.UrlParam
params:
type: array
items:
type: object
required:
- key
- maskedValue
additionalProperties: false
properties:
key:
type: string
maskedValue:
type: string
domain:
type: string
presetKeys:
type: array
items:
type: string
PackConnectionMultiHeaderMetadata:
x-schema-name: PackConnectionMultiHeaderMetadata
type: object
required:
- type
- headers
- presets
additionalProperties: false
properties:
type:
type: string
enum:
- multiHeader
x-tsType: PackConnectionType.MultiHeader
headers:
type: array
items:
type: object
required:
- headerName
- maskedToken
additionalProperties: false
properties:
headerName:
type: string
maskedToken:
type: string
tokenPrefix:
type: string
presets:
type: array
items:
type: object
required:
- headerName
additionalProperties: false
properties:
headerName:
type: string
tokenPrefix:
type: string
UpdatePackReleaseRequest:
x-schema-name: UpdatePackReleaseRequest
description: Payload for updating a new Pack release.
type: object
additionalProperties: false
properties:
releaseNotes:
type: string
description: Notes about key features or changes in this release that the Pack maker wants to communicate to users.
example: The first release.
DeletePackInvitationResponse:
x-schema-name: DeletePackInvitationResponse
description: Confirmation of successfully deleting a Pack invitation.
type: object
additionalProperties: false
properties: {}
PackConnectionOauth2ClientCredentialsPatch:
x-schema-name: PackConnectionOauth2ClientCredentialsPatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- oauth2ClientCredentials
x-tsType: PackConnectionType.OAuth2ClientCredentials
clientId:
type: string
maxLength: 512
clientSecret:
type: string
maxLength: 512
DeletePackCategoryResponse:
x-schema-name: DeletePackCategoryResponse
description: Confirmation of successfully deleting a Pack category.
type: object
additionalProperties: false
properties: {}
PatchPackSystemConnectionRequest:
x-schema-name: PatchPackSystemConnectionRequest
description: The request to patch pack system connection credentials.
oneOf:
- $ref: '#/components/schemas/PackConnectionHeaderPatch'
- $ref: '#/components/schemas/PackConnectionMultiHeaderPatch'
- $ref: '#/components/schemas/PackConnectionUrlParamPatch'
- $ref: '#/components/schemas/PackConnectionHttpBasicPatch'
- $ref: '#/components/schemas/PackConnectionCustomPatch'
- $ref: '#/components/schemas/PackConnectionOauth2ClientCredentialsPatch'
- $ref: '#/components/schemas/PackConnectionGoogleServiceAccountPatch'
- $ref: '#/components/schemas/PackConnectionAwsAssumeRolePatch'
- $ref: '#/components/schemas/PackConnectionAwsAccessKeyPatch'
discriminator:
propertyName: type
mapping:
header: '#/components/schemas/PackConnectionHeaderPatch'
multiHeader: '#/components/schemas/PackConnectionMultiHeaderPatch'
urlParam: '#/components/schemas/PackConnectionUrlParamPatch'
httpBasic: '#/components/schemas/PackConnectionHttpBasicPatch'
custom: '#/components/schemas/PackConnectionCustomPatch'
oauth2ClientCredentials: '#/components/schemas/PackConnectionOauth2ClientCredentialsPatch'
googleServiceAccount: '#/components/schemas/PackConnectionGoogleServiceAccountPatch'
awsAssumeRole: '#/components/schemas/PackConnectionAwsAssumeRolePatch'
awsAccessKey: '#/components/schemas/PackConnectionAwsAccessKeyPatch'
PackSourceCodeInfo:
x-schema-name: PackSourceCodeInfo
description: Information indicating where to upload the Pack source code, and an endpoint to mark the upload as complete.
type: object
required:
- files
additionalProperties: false
properties:
files:
type: array
items:
$ref: '#/components/schemas/PackSourceCode'
PackLogContext:
x-schema-name: PackLogContext
description: Logging context that comes with a Pack log.
type: object
required:
- logId
- docId
- createdAt
- packId
- packVersion
- formulaName
- userId
- connectionId
- requestId
- requestType
- detailsKey
additionalProperties: false
properties:
docId:
type: string
packId:
type: string
packVersion:
type: string
formulaName:
type: string
userId:
type: string
connectionId:
type: string
connectionName:
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: '#/components/schemas/PackLogRequestType'
createdAt:
type: string
format: date-time
description: Creation time of the log.
example: '2018-04-11T00:18:57.946Z'
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.
ingestionChildExecutionIndex:
type: number
description: Child execution id for this ingestion log.
ingestionId:
type: string
description: Unique identifier of the ingestion that triggered this log.
rootIngestionId:
type: string
description: Unique identifier of the root ingestion that triggered this log.
ingestionExecutionId:
type: string
description: Unique identifier of the ingestion execution that triggered this log.
ingestionStage:
type: string
description: Stage along the ingestion lifecycle that this log was created in.
ingestionParentStage:
type: string
description: An ingestion lifecycle stage that this ingestion log is bundled under.
ingestionExecutionAttempt:
type: integer
description: Execution attempt for this ingestion log.
ingestionParentItemId:
type: string
description: Parent item id for this ingestion log.
ingestionProcessId:
type: string
description: Unique identifier of the ingestion processing call that triggered this log.
additionalMetadata:
type: object
description: Additional metadata for the ingestion log.
agentSessionId:
type: string
description: Agent chat session id.
agentInstanceId:
type: string
description: Agent instance id.
executingAgentInstanceId:
type: string
description: Executing agent instance id.
GroupedPackLog:
x-schema-name: GroupedPackLog
description: A record of grouped Pack log.
oneOf:
- $ref: '#/components/schemas/GroupedPackInvocationLog'
- $ref: '#/components/schemas/GroupedPackAuthLog'
discriminator:
propertyName: type
mapping:
invocation: '#/components/schemas/GroupedPackInvocationLog'
auth: '#/components/schemas/GroupedPackAuthLog'
PackInvitationWithPack:
x-schema-name: PackInvitationWithPack
description: Pack invitation with Pack metadata.
type: object
required:
- invitation
- pack
- makers
- networkDomains
additionalProperties: false
properties:
invitation:
$ref: '#/components/schemas/PackInvitation'
pack:
$ref: '#/components/schemas/PackSummary'
makers:
type: array
items:
$ref: '#/components/schemas/Maker'
networkDomains:
type: array
items:
type: string
description: Network domain of the Pack
PackOrganizationAccessForDocs:
x-schema-name: PackOrganizationAccessForDocs
description: Describes restrictions that a user's organization has placed on a pack
type: object
required:
- canRequestAccess
- hasRequestedAccess
- requiresConfiguration
additionalProperties: false
properties:
canRequestAccess:
type: boolean
hasRequestedAccess:
type: boolean
requiresConfiguration:
type: boolean
allowedConfigurations:
type: array
items:
$ref: '#/components/schemas/PackConfigurationEntry'
allowedPackIds:
type: array
items:
type: number
incompatibleDocPermissions:
type: array
items:
$ref: '#/components/schemas/Permission'
incompatibleDocOwner:
$ref: '#/components/schemas/UserSummary'
incompatibleDocFolder:
$ref: '#/components/schemas/FolderReference'
isDocOwner:
type: boolean
PacksSortBy:
x-schema-name: PacksSortBy
description: Determines how the Packs returned are sorted.
type: string
enum:
- title
- createdAt
- updatedAt
x-tsEnumNames:
- Title
- CreatedAt
- UpdatedAt
PackReviewStatus:
x-schema-name: PackReviewStatus
description: The status of a pack review
type: string
enum:
- pending
- approved
- denied
- canceled
- superseded
x-tsEnumNames:
- Pending
- Approved
- Denied
- Canceled
- Superseded
PackSourceCodeVisibility:
x-schema-name: PackSourceCodeVisibility
description: Visibility of a pack's source code.
type: string
enum:
- private
- shared
x-tsEnumNames:
- Private
- Shared
PackConnectionAwsAssumeRolePatch:
x-schema-name: PackConnectionAwsAssumeRolePatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- awsAssumeRole
x-tsType: PackConnectionType.AwsAssumeRole
roleArn:
type: string
externalId:
type: string
GroupedPackAuthLog:
x-schema-name: GroupedPackAuthLog
description: Grouped logs of the Pack's auth requests.
type: object
required:
- type
- authLog
- relatedLogs
additionalProperties: false
properties:
type:
type: string
enum:
- auth
x-tsType: PackLogType.Auth
authLog:
$ref: '#/components/schemas/PackAuthLog'
relatedLogs:
type: array
items:
$ref: '#/components/schemas/PackLog'
PackConnectionAwsAccessKeyCredentials:
x-schema-name: PackConnectionAwsAccessKeyCredentials
type: object
required:
- type
- accessKeyId
- secretAccessKey
additionalProperties: false
properties:
type:
type: string
enum:
- awsAccessKey
x-tsType: PackConnectionType.AwsAccessKey
accessKeyId:
type: string
secretAccessKey:
type: string
PackConnectionMultiHeaderPatch:
x-schema-name: PackConnectionMultiHeaderPatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- multiHeader
x-tsType: PackConnectionType.MultiHeader
tokensToPatch:
type: array
items:
type: object
required:
- key
- value
additionalProperties: false
properties:
key:
type: string
value:
type: string
IngestionPackReleaseChannel:
x-schema-name: IngestionPackReleaseChannel
description: Live or Latest version of pack
type: string
enum:
- LIVE
- LATEST
x-tsEnumNames:
- Live
- Latest
InternalAccessPrincipal:
type: object
required:
- type
- internalAccessType
additionalProperties: false
properties:
type:
type: string
description: The type of this principal.
enum:
- internalAccess
x-tsType: PrincipalType.InternalAccess
internalAccessType:
type: string
description: The type of internal access (e.g., support).
example: support
PackSourceCodeUploadCompleteRequest:
x-schema-name: PackSourceCodeUploadCompleteRequest
description: Payload for noting a Pack source code upload is complete.
type: object
additionalProperties: false
required:
- filename
- codeHash
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.
PackConnectionHttpBasicPatch:
x-schema-name: PackConnectionHttpBasicPatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- httpBasic
x-tsType: PackConnectionType.HttpBasic
username:
type: string
password:
type: string
x-allow-empty: true
PackAssetUploadInfo:
x-schema-name: PackAssetUploadInfo
description: Information indicating where to upload the Pack asset, and an endpoint to mark the upload as complete.
type: object
required:
- uploadUrl
- packAssetUploadedPathName
- headers
additionalProperties: false
properties:
uploadUrl:
type: string
format: url
description: A signed URL to be used for uploading a Pack asset.
example: https://coda-us-west-2-prod-blobs-upload.s3-accelerate.amazonaws.com/packs/123/assets/logo/e23fcb5e564f08b71183d424c2c380c0
packAssetUploadedPathName:
type: string
description: An endpoint to mark the upload as complete.
example: /packs/123/assets/e23fcb5e564f08b71183d424c2c380c0
headers:
type: object
additionalProperties:
type: string
description: Key-value pairs of authorization headers to include in the upload request.
example: '{"header1": "value1"}'
IngestionBatchExecution:
x-schema-name: IngestionBatchExecution
description: An ingestion batch execution.
type: object
required:
- completionTimestamp
- creationTimestamp
- errorMessage
- executionType
- fullExecutionId
- ingestionExecutionId
- ingestionId
- ingestionName
- ingestionStatuses
- startTimestamp
additionalProperties: false
properties:
completionTimestamp:
type: number
description: Completion time of the ingestion batch execution in seconds since epoch.
creationTimestamp:
type: number
description: Creation time of the ingestion batch execution in seconds since epoch.
dynamicLabel:
type: string
description: The label of the dynamic URL of the ingestion, if any.
dynamicUrl:
type: string
description: The dynamic URL of the ingestion.
executionType:
$ref: '#/components/schemas/IngestionExecutionType'
fullExecutionId:
type: string
description: The ID of the full ingestion execution.
ingestionExecutionId:
type: string
description: The ID of the ingestion batch execution.
ingestionId:
type: string
description: The ID of the ingestion.
ingestionName:
type: string
description: The name of the ingestion.
ingestionStatusCounts:
type: object
additionalProperties:
type: integer
description: Histogram of IngestionStatus of child executions (even if there's only 1, non-crawled execution) as enum values.
example:
COMPLETED: 12
FAILED: 5
STARTED: 4
lastFinishedFullWorkflowExecutionId:
type: string
format: uuid
description: The ID of the last full workflow execution that finished.
lastFinishedIncrementalWorkflowExecutionId:
type: string
format: uuid
description: The ID of the last incremental workflow execution that finished.
latestFullWorkflowExecutionId:
type: string
format: uuid
description: The ID of the latest full workflow execution.
latestIncrementalWorkflowExecutionId:
type: string
format: uuid
description: The ID of the latest incremental workflow execution.
latestIngestionSequenceId:
type: string
format: uuid
description: The ID of the latest full execution.
liveIngestionSequenceId:
type: string
format: uuid
description: The ID of the full execution that generated the currently live data.
parentSyncTableIngestionId:
type: string
description: The ID of the parent sync tableingestion, if any.
startTimestamp:
type: number
description: Start time of the ingestion batch execution in seconds since epoch.
totalRowCount:
type: number
description: The total number of rows processed in the ingestion batch execution.
BundledPackPlanPricing:
x-schema-name: BundledPackPlanPricing
description: Pricing used when workspaces have access to the Pack for free if their workspace is at least the given tier.
type: object
required:
- type
- minimumFeatureSet
additionalProperties: false
properties:
type:
type: string
enum:
- BundledWithTier
x-tsType: PackPlanPricingType.BundledWithTier
minimumFeatureSet:
$ref: '#/components/schemas/PaidFeatureSet'
PackIngestionLifecycleLog:
x-schema-name: PackIngestionLifecycleLog
description: Pack log generated by an executing ingestion.
type: object
required:
- type
- context
- message
- level
additionalProperties: false
properties:
type:
type: string
enum:
- ingestionLifecycle
x-tsType: PackLogType.IngestionLifecycle
context:
$ref: '#/components/schemas/PackLogContext'
message:
type: string
description: The message that's passed into context.logger.
example: The formula is called!
level:
$ref: '#/components/schemas/LogLevel'
GroupedPackInvocationLog:
x-schema-name: GroupedPackInvocationLog
description: Grouped logs of the invocations of the Pack.
type: object
required:
- type
- invocationLog
- relatedLogs
additionalProperties: false
properties:
type:
type: string
enum:
- invocation
x-tsType: PackLogType.Invocation
invocationLog:
$ref: '#/components/schemas/PackInvocationLog'
relatedLogs:
type: array
items:
$ref: '#/components/schemas/PackLog'
PackConnectionAwsAccessKeyMetadata:
x-schema-name: PackConnectionAwsAccessKeyMetadata
type: object
required:
- type
- service
- maskedAccessKeyId
- maskedSecretAccessKey
additionalProperties: false
properties:
type:
type: string
enum:
- awsAccessKey
x-tsType: PackConnectionType.AwsAccessKey
service:
type: string
maskedAccessKeyId:
type: string
maskedSecretAccessKey:
type: string
UpsertPackListingDraftRequest:
x-schema-name: UpsertPackListingDraftRequest
description: Request to create or update a Pack listing draft
type: object
required:
- listingData
additionalProperties: false
properties:
listingData:
$ref: '#/components/schemas/PackListingDraftInputData'
PackRateLimit:
x-schema-name: PackRateLimit
description: Rate limit in Pack settings.
type: object
additionalProperties: false
required:
- intervalSeconds
- operationsPerInterval
properties:
intervalSeconds:
type: integer
description: The rate limit interval in seconds.
example: 3600
minimum: 1
maximum: 86400
operationsPerInterval:
type: integer
description: The maximum number of Pack operations that can be performed in a given interval.
example: 20
minimum: 0
PackFeaturedDocsResponse:
x-schema-name: PackFeaturedDocsResponse
description: List of a Pack's featured docs.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
description: A list of featured docs for the Pack.
items:
$ref: '#/components/schemas/PackFeaturedDoc'
UploadPackSourceCodeRequest:
x-schema-name: UploadPackSourceCodeRequest
description: Payload for a Pack asset upload.
type: object
additionalProperties: false
required:
- filename
- payloadHash
properties:
payloadHash:
type: string
description: The SHA-256 hash of the image to be uploaded.
example: f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b
filename:
type: string
example: main.ts
packVersion:
type: string
example: 1.0.0
UpsertPackListingDraftResponse:
x-schema-name: UpsertPackListingDraftResponse
description: Response containing the upserted Pack listing draft
type: object
required:
- packListingDraftId
- packId
- listingData
additionalProperties: false
properties:
packListingDraftId:
type: string
format: uuid
description: ID of the listing draft
packId:
type: number
description: ID of the Pack
listingData:
$ref: '#/components/schemas/PackListingDraftData'
PackConnectionMultiHeaderCredentials:
x-schema-name: PackConnectionMultiHeaderCredentials
type: object
required:
- type
- tokens
additionalProperties: false
properties:
type:
type: string
enum:
- multiHeader
x-tsType: PackConnectionType.MultiHeader
tokens:
type: array
items:
type: object
required:
- key
- value
additionalProperties: false
properties:
key:
type: string
value:
type: string
HandlePackInvitationRequest:
x-schema-name: HandlePackInvitationRequest
description: Payload for handling a Pack invitation (accept or reject).
type: object
required:
- accept
additionalProperties: false
properties:
accept:
type: boolean
description: True to accept the invitation, false to reject it
UserSummary:
x-schema-name: UserSummary
description: Summary about the user.
type: object
required:
- name
- loginId
- type
additionalProperties: false
properties:
name:
type: string
description: Name of the user.
example: John Doe
loginId:
type: string
description: Email address of the user.
example: user@example.com
type:
type: string
description: The type of this resource.
enum:
- user
x-tsType: Type.User
pictureLink:
type: string
format: url
description: Browser-friendly link to the user's avatar image.
example: https://cdn.coda.io/avatars/default_avatar.png
ListPackReviewsResponse:
x-schema-name: ListPackReviewsResponse
description: Response containing pack reviews
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
description: List of pack reviews
items:
$ref: '#/components/schemas/PackReview'
nextPageToken:
type: string
description: Token for fetching the next page of results
nextPageLink:
type: string
format: url
description: Link for fetching the next page of results
PackConfigurationEntry:
x-schema-name: PackConfigurationEntry
description: Basic details about a configuration that can be used in conjunction with a pack
type: object
required:
- configurationId
- name
additionalProperties: false
properties:
configurationId:
type: string
name:
description: Name of the configuration
type: string
policy:
type: object
description: Policy associated with the configuration
additionalProperties: true
PackVersionDiffs:
x-schema-name: PackVersionDiffs
description: Info about the diff between two Pack versions.
type: object
required:
- findings
- findingDetails
additionalProperties: false
properties:
findings:
type: array
deprecated: true
items:
type: string
description: List of changes from the previous version to the next version.
findingDetails:
type: array
items:
type: object
additionalProperties: false
required:
- finding
- path
properties:
finding:
type: string
path:
type: string
CreatePackResponse:
x-schema-name: CreatePackResponse
description: Info about a Pack that was just created.
type: object
required:
- packId
additionalProperties: false
properties:
packId:
type: number
description: The ID assigned to the newly-created Pack.
example: 123
PackListingDraftInputData:
x-schema-name: PackListingDraftInputData
description: Input data for creating or updating a Pack listing draft. Agent images only require assetId and filename; the server resolves the full image URL.
type: object
additionalProperties: false
properties:
name:
type: string
description: The name of the Pack.
maxLength: 128
description:
type: string
description: The full description of the Pack.
maxLength: 8192
shortDescription:
type: string
description: A short version of the description of the Pack.
maxLength: 256
logo:
$ref: '#/components/schemas/PackImageFile'
cover:
$ref: '#/components/schemas/PackImageFile'
exampleImages:
type: array
nullable: true
items:
$ref: '#/components/schemas/PackImageFile'
agentImages:
type: array
nullable: true
items:
$ref: '#/components/schemas/ImageFileForUpdatePackRequest'
categoryIds:
type: array
items:
type: string
supportEmail:
type: string
nullable: true
maxLength: 512
termsOfServiceUrl:
type: string
format: url
nullable: true
maxLength: 512
privacyPolicyUrl:
type: string
format: url
nullable: true
maxLength: 512
sourceCodeVisibility:
$ref: '#/components/schemas/PackSourceCodeVisibility'
agentShortDescription:
type: string
nullable: true
maxLength: 256
agentDescription:
type: string
nullable: true
maxLength: 8192
additionalInformation:
$ref: '#/components/schemas/PackListingAdditionalInformation'
RegisterPackVersionRequest:
x-schema-name: RegisterPackVersionRequest
description: Payload for registering a Pack version.
type: object
required:
- bundleHash
additionalProperties: false
properties:
bundleHash:
type: string
description: The SHA-256 hash of the file to be uploaded.
example: f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b
AddPackMakerRequest:
x-schema-name: AddPackMakerRequest
description: Payload for adding a Pack maker.
type: object
required:
- loginId
additionalProperties: false
properties:
loginId:
type: string
description: The email of the Pack maker.
example: api@coda.io
PackListingDetail:
x-schema-name: PackListingDetail
description: A detailed Pack listing.
type: object
additionalProperties: false
required:
- packId
- packVersion
- name
- shortDescription
- description
- logoUrl
- logo
- discoverability
- categories
- makers
- userAccess
- externalMetadataUrl
- sdkVersion
- packCategoryType
properties:
packId:
type: number
description: ID of the Pack.
example: 1003
packVersion:
type: string
description: The version of the Pack.
example: 1.0.3
releaseId:
type: number
description: The current release number of the Pack if released, otherwise undefined.
example: 2
lastReleasedAt:
type: string
format: date-time
description: The timestamp of the latest release of this Pack.
example: '2018-04-11T00:18:57.946Z'
logoUrl:
type: string
format: url
description: The link to the logo of the Pack.
deprecated: true
logo:
$ref: '#/components/schemas/PackImageFile'
coverUrl:
type: string
format: url
description: The link to the cover photo of the Pack.
deprecated: true
cover:
$ref: '#/components/schemas/PackImageFile'
exampleImages:
type: array
items:
$ref: '#/components/schemas/PackImageFile'
description: The example images for the Pack.
agentImages:
type: array
items:
$ref: '#/components/schemas/PackImageFile'
description: The agent images for the Pack.
name:
type: string
description: The name of the Pack.
example: Cool Geometry Formulas
description:
type: string
description: The full description of the Pack.
example: This Pack allows users to calculate the surface area and volume of a few common 3D shapes, like cubes and pyramids.
maxLength: 8192
shortDescription:
type: string
description: A short version of the description of the Pack.
example: Calculate cool geometric formulas like surface area.
agentShortDescription:
type: string
description: A short description for the pack as an agent.
example: Chat with a tool that can calculate cool geometric formulas like surface area.
agentDescription:
type: string
description: A full description for the pack as an agent.
example: Chat with a comprehensive tool that can calculate cool geometric formulas like surface area, volume, and other mathematical operations. This agent can help with complex calculations and provide detailed explanations.
supportEmail:
type: string
description: A contact email for the Pack.
example: user@email.com
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: '#/components/schemas/PublishingCategory'
makers:
type: array
description: Makers associated with this Pack.
items:
$ref: '#/components/schemas/MakerSummary'
certified:
type: boolean
description: Denotes if the pack is certified by Coda.
certifiedAgent:
type: boolean
description: Denotes if the pack is certified by Grammarly to be optimized for agent usage.
minimumFeatureSet:
$ref: '#/components/schemas/FeatureSet'
unrestrictedFeatureSet:
$ref: '#/components/schemas/FeatureSet'
externalMetadataUrl:
type: string
description: The URL where complete metadata about the contents of the Pack version can be downloaded.
example: https://codahosted.io/packs/12345/1.2.3/metadata/0c892064aa5cb.json
standardPackPlan:
$ref: '#/components/schemas/StandardPackPlan'
bundledPackPlan:
$ref: '#/components/schemas/BundledPackPlan'
sourceCodeVisibility:
$ref: '#/components/schemas/PackSourceCodeVisibility'
sdkVersion:
type: string
description: What Packs SDK version was this version built on.
example: 1.5.1
packCategoryType:
$ref: '#/components/schemas/PackCategoryType'
discoverability:
$ref: '#/components/schemas/PackDiscoverability'
userAccess:
$ref: '#/components/schemas/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: '#/components/schemas/PackConfigurationEntry'
FreePackPlanPricing:
x-schema-name: FreePackPlanPricing
description: Pricing used when workspaces can subscribe to the Pack for free.
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- Free
x-tsType: PackPlanPricingType.Free
PackInvitationWithPackList:
x-schema-name: PackInvitationWithPackList
description: List of Pack invitations with Pack metadata.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackInvitationWithPack'
nextPageToken:
type: string
nullable: true
description: Token for fetching the next page of results
nextPageLink:
type: string
format: url
nullable: true
description: URL for fetching the next page of results
PackConnectionGoogleServiceAccountPatch:
x-schema-name: PackConnectionGoogleServiceAccountPatch
type: object
required:
- type
additionalProperties: false
properties:
type:
type: string
enum:
- googleServiceAccount
x-tsType: PackConnectionType.GoogleServiceAccount
serviceAccountKey:
type: string
maxLength: 512
PackInvocationLog:
x-schema-name: PackInvocationLog
description: System logs of the invocations of the Pack.
type: object
required:
- type
- context
additionalProperties: false
properties:
type:
type: string
enum:
- invocation
x-tsType: PackLogType.Invocation
context:
$ref: '#/components/schemas/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:
description: Error info if this invocation resulted in an error.
type: object
required:
- message
additionalProperties: false
properties:
message:
type: string
stack:
type: string
CreatePackVersionResponse:
x-schema-name: CreatePackVersionResponse
description: Confirmation of successful Pack version creation.
type: object
additionalProperties: false
properties:
deprecationWarnings:
type: array
items:
$ref: '#/components/schemas/ValidationError'
PackAccessType:
x-schema-name: PackAccessType
type: string
enum:
- none
- view
- test
- edit
- admin
x-tsEnumNames:
- None
- View
- Test
- Edit
- Admin
PackConnectionCustomMetadata:
x-schema-name: PackConnectionCustomMetadata
type: object
required:
- type
- params
- domain
- presetKeys
additionalProperties: false
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
required:
- key
- maskedValue
additionalProperties: false
properties:
key:
type: string
maskedValue:
type: string
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
PackInvitation:
x-schema-name: PackInvitation
description: Metadata about a Pack invitation.
type: object
required:
- invitationId
- packId
- inviteeEmail
- inviterUserId
- access
- createdAt
- expiresAt
additionalProperties: false
properties:
invitationId:
type: string
description: ID of the invitation
example: 550e8400-e29b-41d4-a716-446655440000
packId:
type: number
description: ID of the Pack
example: 123
inviteeEmail:
type: string
description: Email address of the invited user
example: user@example.com
inviterUserId:
type: integer
description: User ID of the user who created this invitation
example: 456
access:
$ref: '#/components/schemas/PackAccessType'
createdAt:
type: string
format: date-time
description: Timestamp when the invitation was created
expiresAt:
type: string
format: date-time
description: Timestamp when the invitation expires
SetPackSystemConnectionRequest:
x-schema-name: SetPackSystemConnectionRequest
description: The request to set pack system connection credentials.
type: object
additionalProperties: false
required:
- credentials
properties:
credentials:
$ref: '#/components/schemas/PackSystemConnectionCredentials'
PackConnectionOauth2ClientCredentials:
x-schema-name: PackConnectionOauth2ClientCredentials
type: object
required:
- type
- clientId
- clientSecret
additionalProperties: false
properties:
type:
type: string
enum:
- oauth2ClientCredentials
x-tsType: PackConnectionType.OAuth2ClientCredentials
clientId:
type: string
maxLength: 512
clientSecret:
type: string
maxLength: 512
PackFeaturedDoc:
x-schema-name: PackFeaturedDoc
description: A Pack's featured doc.
type: object
required:
- doc
- isPinned
additionalProperties: false
properties:
doc:
$ref: '#/components/schemas/DocReference'
isPinned:
type: boolean
description: Whether or not this featured doc is pinned.
docStatus:
$ref: '#/components/schemas/FeaturedDocStatus'
publishedUrl:
type: string
format: url
description: The URL of the published doc, if available.
PackPlanCurrency:
x-schema-name: PackPlanCurrency
description: Currency needed to subscribe to the Pack.
type: string
enum:
- USD
x-tsEnumNames:
- Usd
parameters:
targetPackVersion:
name: targetPackVersion
description: Semantic version of the new Pack version.
in: path
required: true
example: 1.2.3
schema:
type: string
docId:
name: docId
description: ID of the doc.
in: path
required: true
example: AbCDeFGH
schema:
type: string
excludeGrammarlyInstitutionAcls:
name: excludeGrammarlyInstitutionAcls
description: Do not include Packs that are only shared with the user's Grammarly institution.
in: query
schema:
type: boolean
parentWorkspaceIds:
name: parentWorkspaceIds
description: Filter to only Packs whose parent workspace is one of the given IDs.
in: query
explode: false
schema:
type: array
items:
type: string
packVersion:
name: packVersion
description: Semantic version of a Pack
in: path
required: true
example: 1.2.3
schema:
type: string
loginId:
name: loginId
description: Email of a Coda user.
in: path
required: true
example: api@coda.io
schema:
type: string
certifiedAgentsOnly:
name: certifiedAgentsOnly
description: 'Only include Packs that are certified for agent use. Depending on server configuration, may also include Packs that the user is an admin of.
'
in: query
schema:
type: boolean
default: false
excludeNomosOrganizationAcls:
name: excludeNomosOrganizationAcls
description: Do not include Packs that are only shared with the user's NOMOS organization.
in: query
schema:
type: boolean
excludeIndividualAcls:
name: excludeIndividualAcls
description: Do not include Packs that are only shared with the user individually.
in: query
schema:
type: boolean
packId:
name: packId
description: ID of a Pack
in: path
required: true
example: 123
schema:
type: integer
minimum: 1
packAssetType:
name: packAssetType
description: Pack asset type.
in: path
required: true
schema:
$ref: '#/components/schemas/PackAssetType'
basePackVersion:
name: basePackVersion
description: Semantic version of the previous Pack version.
in: path
required: true
example: 1.2.3
schema:
type: string
agentInstanceId:
name: agentInstanceId
description: ID of the agent instance.
in: path
required: true
example: a4e293c4-4a85-45a4-b2ba-7f305cba2703
schema:
type: string
format: uuid
tenantId:
name: tenantId
description: ID of the tenant.
in: path
required: true
example: org-LxmbD9y2EU
schema:
type: string
pageToken:
name: pageToken
description: An opaque token used to fetch the next page of results.
in: query
example: eyJsaW1pd
schema:
type: string
ingestionExecutionId:
name: ingestionExecutionId
description: ID of the ingestion execution.
in: query
required: false
example: a4e293c4-4a85-45a4-b2ba-7f305cba2703
schema:
type: string
format: uuid
rootIngestionId:
name: rootIngestionId
description: ID of the root ingestion.
in: path
required: true
example: a4e293c4-4a85-45a4-b2ba-7f305cba2703
schema:
type: string
format: uuid
excludeWorkspaceAcls:
name: excludeWorkspaceAcls
description: Do not include Packs that are only shared with workspaces.
in: query
schema:
type: boolean
categoryName:
name: categoryName
description: Name of a publishing category
in: path
required: true
example: Project management
schema:
type: string
excludePublicPacks:
name: excludePublicPacks
description: Only get Packs shared with users/workspaces, not publicly.
in: query
schema:
type: boolean
packEntrypoint:
name: packEntrypoint
description: Entrypoint for which this pack call is being made. Used to filter non relevant packs
in: query
schema:
$ref: '#/components/schemas/PackEntrypoint'
permissionId:
name: permissionId
description: ID of a permission on a doc.
in: path
required: true
example: AbCDeFGH
schema:
type: string
packCategories:
name: packCategories
in: query
description: Filter Packs by one or more category types.
required: false
explode: false
schema:
type: array
items:
$ref: '#/components/schemas/PackCategoryType'
packAssetId:
name: packAssetId
description: Unique identifier for a Pack asset.
in: path
required: true
schema:
type: string
packAccessTypes:
name: packAccessTypes
description: Pack access types.
in: query
explode: false
schema:
$ref: '#/components/schemas/PackAccessTypes'
direction:
name: direction
description: Direction to sort results in.
in: query
schema:
$ref: '#/components/schemas/SortDirection'
invitationId:
name: invitationId
description: ID of a Pack invitation
in: path
required: true
example: 550e8400-e29b-41d4-a716-446655440000
schema:
type: string
format: uuid
limit:
name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 25
packIds:
name: packIds
description: Which Pack IDs to fetch.
in: query
explode: false
schema:
type: array
items:
type: integer
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
schema:
type: string
packReleaseId:
name: packReleaseId
description: ID of a Pack release
in: path
required: true
example: 2
schema:
type: integer
minimum: 1
responses:
NotFoundError:
description: The resource could not be located with the current API token.
content:
application/json:
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
BadRequestError:
description: The request parameters did not conform to expectations.
content:
application/json:
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
ForbiddenError:
description: The API token does not grant access to this resource.
content:
application/json:
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
BadRequestWithValidationErrors:
description: The request parameters did not conform to expectations.
content:
application/json:
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: '#/components/schemas/ValidationError'
TooManyRequestsError:
description: The client has sent too many requests.
content:
application/json:
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
UnauthorizedError:
description: The API token is invalid or has expired.
content:
application/json:
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
securitySchemes:
Bearer:
description: "The Coda API can be accessed using an API token, which can be obtained from [*My account*](https://coda.io/account)\nin Coda. This token should be specified by setting a header as follows.\n\n```Authorization: Bearer ```\n\nKeep your token safe, as anyone who gets access to it can access your account. Once a token is created\nit cannot be viewed or modified, so don't lose it.\n\nIf you're logged into Coda, you can also query the API directly using your browser. Note that only GET\nendpoints are supported; for anything else, you'll have to use Bearer authentication.\n\n### Restricting token authorization\n\nBy default, bearer tokens created for the Coda API can perform any action that the user who created the token\ncan perform. However, Coda API bearer tokens can also be created with restrictions. These restrictions\ncan limit what objects can be operated on and the types of operations that can be performed.\n\n#### Operation types\n\nThe table below describes the types of authorization restrictions that can be placed on a Coda API token.\n\n | Restriction | Description | Allowed HTTP Methods |
\n \n | Read access | \n Allows access to API methods that read the state of an object | \n GET | \n
\n \n | Write access | \n Allows access to API methods that write the state of an object | \n POST, PUT, DELETE | \n
\n \n | Read and write access | \n Allows access to all methods for an object | \n All | \n
\n
\n\n#### Object types\n\nCoda API tokens can be restricted to the following types of objects.\n\n* Documents: Restricts access to only allow API calls for `/docs/${DOC_ID}`\n* Tables: Restricts access to only allow API calls for `/docs/${DOC_ID}/tables/${TABLE_ID}`\n\n#### Special cases\n\nThere are a few special case methods that violate the above restrictions.\n\n* `/whoami`: This method can be called by all Coda API tokens.\n* `/resolveBrowserLink`: This method can be called by all Coda API tokens, but will only return a result\nif the token has access (read or write) to the object referenced by the URL.\n\n#### Feedback\n\nThis feature is under development and we'd love to hear your feedback and bug reports. Please\nvisit us at the [Developers Central](https://connect.superhuman.com/c/developers-central) forum within\nthe Coda Community.\n"
type: http
scheme: bearer
bearerFormat: UUID
x-tagGroups:
- name: Folders
tags:
- Folders
- 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