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 Doc ID Extractor\n \n \n Your doc ID is:   \n \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![](https://cdn.coda.io/external/img/api_example_doc.png)\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![](https://cdn.coda.io/external/img/api_gas.png)\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 Muñ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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
RestrictionDescriptionAllowed HTTP Methods
Read accessAllows access to API methods that read the state of an objectGET
Write accessAllows access to API methods that write the state of an objectPOST, PUT, DELETE
Read and write accessAllows access to all methods for an objectAll
\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