Coda Project Pack Controls API
Pack controls govern access to Packs within an organization.
Pack controls govern access to Packs within an organization.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/coda-project-pack-controls-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
version: 0.0.2
title: Superhuman Docs Admin Pack Controls 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 Controls
description: Pack controls govern access to Packs within an organization.
paths:
/organizations/{organizationId}/packs/controls:
get:
summary: List Pack controls for an organization
description: Returns a list of Pack controls for the organization
operationId: listOrganizationPackControls
tags:
- Pack Controls
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/optionalQueryPackIds'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: List of Pack controls
content:
application/json:
schema:
$ref: '#/components/schemas/PackControlList'
'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/controls''
res = requests.get(uri, headers=headers).json()
print(f''First Pack request is from: {res["items"][0]["pack"]["name"]}'')
'
/organizations/{organizationId}/packs/controls/{packId}:
put:
summary: Sets Pack control for an Pack
operationId: setOrganizationPackControl
tags:
- Pack Controls
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/packId'
requestBody:
description: Parameters for setting a Pack control for a Pack.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePackControlRequest'
responses:
'200':
description: Pack control
content:
application/json:
schema:
$ref: '#/components/schemas/PackControl'
'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/controls/<pack id>'\n\nparams = {\n 'clientSecret': 'someSecret'\n}\nres = requests.pur(uri, headers=headers, params=params).json()\n\nprint(f'Client ID: {res[\"maskedClientId\"]}')\n# => Client ID: some***\n"
components:
responses:
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
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
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
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
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
schemas:
PackControlList:
x-schema-name: PackControlList
description: List of Pack controls.
type: object
additionalProperties: false
required:
- items
properties:
items:
type: array
items:
$ref: '#/components/schemas/PackControl'
nextPageToken:
$ref: '#/components/schemas/NextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/NextPageLink'
- type: string
NextPageToken:
description: If specified, an opaque token used to fetch the next page of results.
type: string
example: eyJsaW1pd
PackControl:
x-schema-name: PackControl
description: Info about how access to a Pack has been configured for an organization.
type: object
additionalProperties: false
required:
- type
- organizationId
- pack
- access
- creationTimestamp
- modificationTimestamp
properties:
type:
type: string
description: The type of this resource.
enum:
- packControl
x-tsType: Type.PackControl
organizationId:
type: string
description: ID of the Superhuman Docs organization.
example: org-1AbcdeFgh1
pack:
$ref: '#/components/schemas/Pack'
access:
$ref: '#/components/schemas/PackAccess'
creationTimestamp:
type: number
description: Timestamp when the Pack configuration was created.
modificationTimestamp:
type: number
description: Timestamp when the Pack configuration was last modified.
NextPageLink:
description: If specified, a link that can be used to fetch the next page of results.
type: string
format: url
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
PackAccess:
x-schema-name: PackAccess
description: Determines how the Pack can be used in the context of the organization.
type: string
enum:
- allow
- deny
- requiresConfiguration
x-tsEnumNames:
- Allow
- Deny
- RequiresConfiguration
UpdatePackControlRequest:
x-schema-name: UpdatePackControlRequest
description: Payload for a updating a Pack control
type: object
additionalProperties: false
required:
- access
properties:
access:
$ref: '#/components/schemas/PackAccess'
parameters:
limit:
name: limit
description: Maximum number of results to return in this query.
in: query
example: 10
schema:
type: integer
minimum: 1
default: 100
maximum: 500
organizationId:
name: organizationId
description: ID of the organization.
in: path
required: true
example: org-AbCDeFGHIj
schema:
type: string
optionalQueryPackIds:
name: packIds
description: Comma-separated list of Pack IDs
in: query
explode: false
example: 123,456
schema:
type: array
items:
type: integer
packId:
name: packId
description: ID of a Pack
in: path
required: true
example: 123
schema:
type: integer
minimum: 1
pageToken:
name: pageToken
description: An opaque token used to fetch the next page of results.
in: query
example: eyJsaW1pd
schema:
type: string
securitySchemes:
Bearer:
description: 'The Superhuman Docs Admin API can be accessed using an API token, which can be obtained from [*My account*](https://docs.superhuman.com/account)
in Superhuman Docs. This token should be specified by setting a header as follows.
```Authorization: Bearer <api_token>```
Keep your token safe, as anyone who gets access to it can access your account. Once a token is created
it cannot be viewed or modified, so don''t lose it.
'
type: http
scheme: bearer
bearerFormat: UUID
x-tagGroups:
- name: API Tokens
tags:
- API Tokens
- name: Docs
tags:
- Docs
- Doc Permissions
- Doc Export
- name: Doc Structure
tags:
- Pages
- name: Events
tags:
- Events
- name: Folders
tags:
- Folders
- Folder Permissions
- name: Groups
tags:
- Groups
- name: Import
tags:
- Preferences
- name: LegalHolds
tags:
- LegalHolds
- name: Organizations
tags:
- Organizations
- Organization Users
- Pack Controls
- Pack Configurations
- name: Packs
tags:
- Packs
- name: Webhooks
tags:
- Webhooks
- name: Workspaces
tags:
- Workspaces
- Workspace Users