Coda Project Pack Configurations API

Pack configurations control fine grained access, scopes, feature sets, shareability of docs with installed Packs, and more settings.

Operations 13

GET /organizations/{organizationId}/packs/requests List Pack requests for an organization #
GET /organizations/{organizationId}/packs/configurations List Pack configurations for an organization #
POST /organizations/{organizationId}/packs/configurations Adds Pack configuration #
GET /organizations/{organizationId}/packs/configurations/{packConfigurationId} Get a Pack configuration #
PUT /organizations/{organizationId}/packs/configurations/{packConfigurationId} Updates a Pack configuration #
DELETE /organizations/{organizationId}/packs/configurations/{packConfigurationId} Delete the given Pack configuration #
GET /organizations/{organizationId}/packs/configurations/{packConfigurationId}/permissions List permissions assigned to a Pack configuration #
POST /organizations/{organizationId}/packs/configurations/{packConfigurationId}/permissions Adds a permission to use a Pack configuration #
PUT /organizations/{organizationId}/packs/configurations/{packConfigurationId}/permissions Replaces the permissions to use a Pack configuration #
DELETE /organizations/{organizationId}/packs/configurations/{packConfigurationId}/permissions/{packConfigurationPermissionId} Delete the given Pack configuration permission #
GET /organizations/{organizationId}/packs/configurations/{packConfigurationId}/oauth Gets OAuth configuration metadata #
PUT /organizations/{organizationId}/packs/configurations/{packConfigurationId}/oauth Sets OAuth configuration metadata #
DELETE /organizations/{organizationId}/packs/configurations/{packConfigurationId}/oauth Removes OAuth configuration metadata #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coda-project-pack-configurations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coda-project-pack-configurations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.0.2
  title: Superhuman Docs Admin Pack Configurations API
  license:
    name: Superhuman Developer Terms
    url: https://docs.superhuman.com/trust/developer
  description: '# Introduction


    The Superhuman Docs Admin API is a RESTful API that allows programmatic access to administrative reports & capabilities within Superhuman Docs (formerly Coda).'
  termsOfService: https://superhuman.com/legal/terms
  contact:
    name: Developer Support
    url: https://superhuman.com/developers
    email: care@superhuman.com
  x-logo:
    url: https://cdn.coda.io/icons/png/color/superhuman-docs-128.png
    backgroundColor: transparent
    altText: Superhuman Docs Admin API
    href: '#'
servers:
- url: https://docs.superhuman.com/apis/admin/v1
  description: Superhuman Docs Admin API (v1)
security:
- Bearer: []
tags:
- name: Pack Configurations
  description: Pack configurations control fine grained access, scopes, feature sets, shareability of docs with installed Packs, and more settings.
paths:
  /organizations/{organizationId}/packs/requests:
    get:
      summary: List Pack requests for an organization
      description: Returns a list of Pack requests for the organization
      operationId: listOrganizationPackRequests
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/optionalQueryPackIds'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/pageToken'
      responses:
        '200':
          description: List of Pack requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackRequestList'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: 'import requests


          headers = {''Authorization'': ''Bearer <your API token>''}

          uri = ''https://docs.superhuman.com/apis/admin/v1/organization/<your organization id>/packs/requests''

          res = requests.get(uri, headers=headers).json()


          print(f''First Pack request is from: {res["items"][0]["requestingUserName"]}'')

          '
  /organizations/{organizationId}/packs/configurations:
    get:
      summary: List Pack configurations for an organization
      description: Returns a list of Pack configurations for the organization
      operationId: listOrganizationPackConfigurations
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/optionalQueryPackId'
      - $ref: '#/components/parameters/optionalQueryPackIds'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/pageToken'
      responses:
        '200':
          description: List of Pack configurations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackConfigurationList'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: 'import requests


          headers = {''Authorization'': ''Bearer <your API token>''}

          uri = ''https://docs.superhuman.com/apis/admin/v1/organization/<your organization id>/packs/configurations''

          res = requests.get(uri, headers=headers).json()


          print(f''First Pack configuration is: {res["items"][0]["name"]}'')

          '
    post:
      summary: Adds Pack configuration
      description: Adds a Pack configuration for a Pack to an organization
      operationId: addOrganizationPackConfiguration
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        description: Parameters for adding a Pack configuration.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddPackConfigurationRequest'
      responses:
        '200':
          description: The Pack configuration that was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackConfiguration'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: "import requests\n\nheaders = {'Authorization': 'Bearer <your API token>'}\nuri = 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations'\nparams = {\n  'name': 'My Pack configuration',\n  'policy': '{fetches: {allow: true}}'\n  'packId': <the Pack id>\n}\nres = requests.post(uri, headers=headers, params=params).json()\n\nprint(f'Configuration added named: {res[\"name\"]}')\n# => Configuration added named: My Pack configuration\n"
  /organizations/{organizationId}/packs/configurations/{packConfigurationId}:
    get:
      summary: Get a Pack configuration
      description: Returns a Pack configuration
      operationId: getOrganizationPackConfiguration
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      responses:
        '200':
          description: The Pack configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackConfiguration'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: 'import requests


          headers = {''Authorization'': ''Bearer <your API token>''}

          uri = ''https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<the Pack configuration id>''

          res = requests.get(uri, headers=headers).json()


          print(f''Pack configuration name is: {res["name"]}'')

          '
    put:
      summary: Updates a Pack configuration
      description: Updates a Pack configuration and asynchronously applies to the organization by updating any existing Pack installations using the now updated Pack configuration.
      operationId: updateOrganizationPackConfiguration
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      requestBody:
        description: Parameters for updating a Pack configuration.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePackConfigurationRequest'
      responses:
        '200':
          description: Result indicating the Pack configuration was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackConfiguration'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: "import requests\n\nheaders = {'Authorization': 'Bearer <your API token>'}\nuri = 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<the configuration id>'\nparams = {\n  'name': 'My Pack configuration',\n  'policy': '{fetches: {allow: true}}'\n}\nres = requests.put(uri, headers=headers, params=params, json=body).json()\n\nprint(f'Configuration updated')\n"
    delete:
      summary: Delete the given Pack configuration
      description: Deletes the given Pack configuration and asynchronously applies to the organization by updating any existing Pack installations using the deleted Pack configuration.
      operationId: deleteOrganizationPackConfiguration
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      responses:
        '200':
          description: A result indicating that the Pack configuration was deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePackConfigurationResponse'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: 'import requests


          headers = {''Authorization'': ''Bearer <your API token>''}

          uri = ''https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<the configuration id>''

          res = requests.delete(uri, headers=headers, params=params).json()


          print(f''Pack configuration was deleted'')

          '
  /organizations/{organizationId}/packs/configurations/{packConfigurationId}/permissions:
    get:
      summary: List permissions assigned to a Pack configuration
      description: Returns a list of Pack configuration permissions
      operationId: listOrganizationPackConfigurationPermissions
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/pageToken'
      responses:
        '200':
          description: List of Pack configuration permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackConfigurationAcl'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: 'import requests


          headers = {''Authorization'': ''Bearer <your API token>''}

          uri = ''https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<the configuration id>/permissions''

          res = requests.get(uri, headers=headers).json()


          print(f''First Pack configuration permission has id: {res["items"][0]["permissionId"]}'')

          '
    post:
      summary: Adds a permission to use a Pack configuration
      operationId: addOrganizationPackConfigurationPermission
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      requestBody:
        description: Parameters for adding a permission to use a Pack configuration.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddPackConfigurationPermissionRequest'
      responses:
        '200':
          description: A result indicating that the Pack configuration permission was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackConfigurationPermission'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: "import requests\n\nheaders = {'Authorization': 'Bearer <your API token>'}\nuri = 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<configuration id>/permissions'\nbody = {\n  'principal': {\n    type: 'email',\n    email: 'user@example.com'\n  }\n}\nres = requests.post(uri, headers=headers, body=body).json()\n\nprint(f'Configuration added with id: {res[\"id\"]}')\n# => Configuration added with id: my-pack-configuration\n"
    put:
      summary: Replaces the permissions to use a Pack configuration
      operationId: setOrganizationPackConfigurationPermissions
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      requestBody:
        description: Parameters for setting permissions to use a Pack configuration.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetPackConfigurationPermissionsRequest'
      responses:
        '200':
          description: A result indicating the Pack configuration permissions that were set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetPackConfigurationPermissionsResponse'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: "import requests\n\nheaders = {'Authorization': 'Bearer <your API token>'}\nuri = 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<configuration id>/permissions'\nbody = {\n  'principals': [{\n    type: 'email',\n    email: 'user@example.com'\n  }]\n}\nres = requests.put(uri, headers=headers, body=body).json()\n\nprint(f'Configuration added with id: {res[\"permissions\"][0][\"id\"]}')\n# => Configuration added with id: my-pack-configuration\n"
  /organizations/{organizationId}/packs/configurations/{packConfigurationId}/permissions/{packConfigurationPermissionId}:
    delete:
      summary: Delete the given Pack configuration permission
      description: Deletes the given Pack configuration and triggers necessarily workflows to update docs with the policy
      operationId: deleteOrganizationPackConfigurationPermission
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      - $ref: '#/components/parameters/packConfigurationPermissionId'
      responses:
        '200':
          description: A result indicating that the Pack configuration permission was deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePackConfigurationPermissionResponse'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: 'import requests


          headers = {''Authorization'': ''Bearer <your API token>''}

          uri = ''https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<the configuration id>/permissions/<the permission id>''

          res = requests.delete(uri, headers=headers, params=params).json()


          print(f''Pack configuration permission was deleted'')

          '
  /organizations/{organizationId}/packs/configurations/{packConfigurationId}/oauth:
    get:
      summary: Gets OAuth configuration metadata
      description: Returns OAuth configuration metadata associated with the Pack configuration
      operationId: getOrganizationPackConfigurationOauthMetadata
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      responses:
        '200':
          description: OAuth configuration metadata for the Pack configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackConfigurationOauthConfigMetadata'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: 'import requests


          headers = {''Authorization'': ''Bearer <your API token>''}

          uri = ''https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<the configuration id>/oauth''

          res = requests.get(uri, headers=headers).json()


          print(f''Masked client ID: {res["maskedClientId"]}'')

          '
    put:
      summary: Sets OAuth configuration metadata
      description: Sets OAuth configuration metadata associated with the Pack configuration
      operationId: setOrganizationPackConfigurationOauthMetadata
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      requestBody:
        description: Parameters for adding a permission to use a Pack configuration.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePackConfigurationOauthConfigRequest'
      responses:
        '200':
          description: OAuth configuration metadata for the Pack configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackConfigurationOauthConfigMetadata'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: "import requests\n\nheaders = {'Authorization': 'Bearer <your API token>'}\nuri = 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<the configuration id>/oauth'\n\nparams = {\n  'clientId': 'someId',\n  'clientSecret': 'someSecret'\n}\nres = requests.post(uri, headers=headers, params=params).json()\n\nprint(f'Client ID: {res[\"maskedClientId\"]}')\n# => Client ID: some***\n"
    delete:
      summary: Removes OAuth configuration metadata
      description: Removes any OAuth configuration metadata associated with the Pack configuration
      operationId: deleteOrganizationPackConfigurationOauthMetadata
      tags:
      - Pack Configurations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/packConfigurationId'
      responses:
        '200':
          description: Result of deleting the OAuth configuration metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePackConfigurationOauthConfigResult'
        '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'
      x-codeSamples:
      - label: Python 3.13
        lang: python
        source: 'import requests


          headers = {''Authorization'': ''Bearer <your API token>''}

          uri = ''https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/packs/configurations/<the configuration id>/oauth''


          res = requests.delete(uri, headers=headers, params=params).json()

          '
components:
  schemas:
    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
    UpdatePackConfigurationRequest:
      x-schema-name: UpdatePackConfigurationRequest
      description: Payload for a request to update a Pack configuration.
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
          description: The name for the Pack configuration
        policy:
          $ref: '#/components/schemas/Policy'
    SetPackConfigurationPermissionsResponse:
      x-schema-name: SetPackConfigurationPermissionsResponse
      description: The result of settings a Pack configuration's permissions.
      type: object
      required:
      - permissions
      additionalProperties: false
      properties:
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PackConfigurationPermission'
    SetPackConfigurationPermissionsRequest:
      x-schema-name: SetPackConfigurationPermissionsRequest
      description: Payload for setting a Pack configuration's permissions.
      type: object
      required:
      - principals
      additionalProperties: false
      properties:
        principals:
          type: array
          items:
            $ref: '#/components/schemas/AddedPrincipal'
    Policy:
      x-schema-name: Policy
      description: The Pack configuration policy that governs connection details and Pack resources that a principal is allowed to use. It also defines if doc sharing permissions will be enforced to match principals allowed to use this policy.
      type: object
      additionalProperties: true
      properties: {}
    PackRequestList:
      x-schema-name: PackRequestList
      description: List of Pack requests.
      type: object
      additionalProperties: false
      required:
      - items
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PackRequest'
        nextPageToken:
          $ref: '#/components/schemas/NextPageToken'
        nextPageLink:
          allOf:
          - $ref: '#/components/schemas/NextPageLink'
          - type: string
    PackConfigurationOauthConfigMetadata:
      x-schema-name: PackConfigurationOauthConfigMetadata
      description: Info about a OAuth configuration associated with a Pack configuration.
      type: object
      additionalProperties: false
      required:
      - maskedClientId
      - maskedClientSecret
      - authorizationUrl
      - tokenUrl
      properties:
        maskedClientId:
          type: string
          description: Masked OAuth client id. If not set, empty string will be returned.
        maskedClientSecret:
          type: string
          description: Masked OAuth client secret. If not set, empty string will be returned.
        authorizationUrl:
          type: string
          description: Authorization URL of the OAuth provider.
        tokenUrl:
          type: string
          description: Token URL of the OAuth provider.
    AddedEmailPrincipal:
      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
    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
    AddedPrincipal:
      x-schema-name: AddedPrincipal
      description: Metadata about a principal to add to a doc.
      oneOf:
      - $ref: '#/components/schemas/AddedEmailPrincipal'
      - $ref: '#/components/schemas/AddedGroupPrincipal'
      - $ref: '#/components/schemas/AddedDomainPrincipal'
      - $ref: '#/components/schemas/AddedWorkspacePrincipal'
      - $ref: '#/components/schemas/AddedAnyonePrincipal'
      discriminator:
        propertyName: type
        mapping:
          email: '#/components/schemas/AddedEmailPrincipal'
          group: '#/components/schemas/AddedGroupPrincipal'
          domain: '#/components/schemas/AddedDomainPrincipal'
          workspace: '#/components/schemas/AddedWorkspacePrincipal'
          anyone: '#/components/schemas/AddedAnyonePrincipal'
    NextPageToken:
      description: If specified, an opaque token used to fetch the next page of results.
      type: string
      example: eyJsaW1pd
    Pack:
      x-schema-name: Pack
      description: Info about a Pack.
      type: object
      required:
      - type
      - id
      - name
      properties:
        type:
          type: string
          description: The type of this resource.
          enum:
          - pack
          x-tsType: Type.Pack
        id:
          type: number
          description: ID of the Pack.
          example: 1003
        name:
          type: string
          description: The name of the Pack.
          example: Cool Geometry Formulas
    AddedGroupPrincipal:
      type: object
      required:
      - groupId
      - 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
    AddedWorkspacePrincipal:
      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
    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
    DeletePackConfigurationPermissionResponse:
      x-schema-name: DeletePackConfigurationPermissionResponse
      description: The result of deleting a Pack configuration permission.
      type: object
      additionalProperties: false
      properties: {}
    AddedDomainPrincipal:
      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
    DeletePackConfigurationOauthConfigResult:
      x-schema-name: DeletePackConfigurationOauthConfigResult
      description: The result of deleting OAuth configuration metadata associated with a Pack configuration.
      type: object
      additionalProperties: false
      properties: {}
    AnyonePrincipal:
      type: object
      required:
      - type
      additionalProperties: false
      properties:
        type:
          type: string
          description: The type of this principal.
          enum:
          - anyone
          x-tsType: PrincipalType.Anyone
    PackConfigurationPermission:
      x-schema-name: PackConfigurationPermission
      description: A specific permission granted to a principal allowing use of or the ability to edit a Pack configuration.
      type: object
      required:
      - principal
      - id
      - access
      - creationTimestamp
      - modificationUserId
      additionalProperties: false
      properties:
        principal:
          $ref: '#/components/schemas/Principal'
        id:
          type: string
          description: ID for the Permission
        access:
          type: string
          description: Type of access. Only readonly is supported for Pack configuration permissions.
          enum:
          - readonly
          x-tsType: AccessType.ReadOnly
        creationTimestamp:
          type: number
          description: Timestamp when the Pack configuration permission was created.
        modificationUserId:
          type: number
          description: ID of the user who last modified the Pack configuration permission.
    PackConfigurationAcl:
      x-schema-name: PackConfigurationAcl
      description: Paginated list of PackConfigurationPermissions.
      type: object
      required:
      - items
      additionalProperties: false
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PackConfigurationPermission'
        nextPageToken:
          $ref: '#/components/schemas/NextPageToken'
        nextPageLink:
          allOf:
          - $ref: '#/components/schemas/NextPageLink'
          - type: string
    NextPageLink:
      description: If specified, a link that can be used to fetch the next page of results.
      type: string
      format: url
    PackConfigurationType:
      x-schema-name: PackConfigurationType
      description: Determines the type of Pack configuration.
      type: string
      enum:
      - autoApproval
      x-tsEnumNames:
      

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coda-project/refs/heads/main/openapi/coda-project-pack-configurations-api-openapi.yml