Coda Project Workspaces API
This API allows you to list and view your organization's workspaces.
This API allows you to list and view your organization's workspaces.
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-workspaces-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:
title: Coda Project Workspaces API
contact:
name: Developer Support
url: https://superhuman.com/developers
email: care@superhuman.com
license:
name: Superhuman Developer Terms
url: https://docs.superhuman.com/trust/developer
termsOfService: https://superhuman.com/legal/terms
x-refined-note:
- x-logo differs across the merged source definitions and was not carried
version: '1.0'
description: 'Operations tagged Workspaces across 2 of this provider''s published API definitions: coda-project-admin-openapi-original.json, coda-project-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
- url: https://docs.superhuman.com/apis/v1
description: Superhuman Docs API (v1)
security:
- Bearer: []
tags:
- name: Workspaces
description: This API allows you to list and view your organization's workspaces.
paths:
/organizations/{organizationId}/workspaces:
get:
summary: List workspaces
description: Returns a list of workspaces in the organization
operationId: listWorkspaces
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/workspaceIds'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/query'
- name: includeAllWorkspaceData
description: Include optional workspace data in the response.
in: query
required: false
schema:
type: boolean
responses:
'200':
description: List of Superhuman Docs workspaces.
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceList'
'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>/workspaces''
res = requests.get(uri, headers=headers).json()
print(f''First workspace is: {res["items"][0]["name"]}'')
'
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' \\\n 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/workspaces' |\n jq .items[0].name\n"
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
/organizations/{organizationId}/workspaces/{workspaceId}:
get:
summary: Get workspace
description: Returns the requested workspace.
operationId: getWorkspace
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/workspaceId'
responses:
'200':
description: The requested Superhuman Docs workspace.
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
'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>/workspaces/<your workspace id>''
res = requests.get(uri, headers=headers).json()
print(f''Workspace name is: {res["name"]}'')
'
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' \\\n 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/workspaces/<your workspace id>' |\n jq .name\n"
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
/workspaces/{workspaceId}/users:
get:
summary: List workspace users
description: Returns a list of members in the given workspace. This list will be ordered with the requesting user first and then ordered by role.
operationId: listWorkspaceMembers
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/workspaceId_2'
- name: includedRoles
description: Show only the members that match the included roles. Multiple roles can be specified with a comma-delimited list.
in: query
explode: false
example: Editor,DocMaker
schema:
type: array
items:
$ref: '#/components/schemas/WorkspaceUserRole'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: List of workspace members matching the query.
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceMembersList'
'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/v1/workspaces/<your workspace id>/users'\nparams = {\n 'limit': 10,\n}\nres = requests.get(uri, headers=headers, params=params).json()\n\nprint(f'First user is: {res[\"items\"][0][\"email\"]}')\n# => First user is: hello@example.com\n"
servers:
- url: https://docs.superhuman.com/apis/v1
description: Superhuman Docs API (v1)
/workspaces/{workspaceId}/users/role:
post:
summary: Updates user role
description: Updates the workspace user role of a user that matches the parameters. Only succeeds if the requesting user has admin permissions in the workspace.
operationId: changeUserRole
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/workspaceId_2'
requestBody:
description: Parameters for changing the user role.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeRole'
responses:
'200':
description: User's info that was updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeRoleResult'
'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/v1/workspaces/<your workspace id>/users/role'\nparams = {\n 'limit': 10,\n}\nres = requests.post(uri, headers=headers, params=params).json()\n\nprint(f'First user is: {res[\"items\"][0][\"email\"]}')\n# => First user is: hello@example.com\n"
servers:
- url: https://docs.superhuman.com/apis/v1
description: Superhuman Docs API (v1)
/workspaces/{workspaceId}/roles:
get:
summary: List workspace roles
description: Returns a list of the counts of users over time by role for the workspace.
operationId: listWorkspaceRoleActivity
tags:
- Workspaces
parameters:
- $ref: '#/components/parameters/workspaceId_2'
responses:
'200':
description: List of role activity over time for the workspace.
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceRoleActivity'
'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/v1/workspaces/<your workspace id>/roles'\nparams = {\n 'limit': 10,\n}\nres = requests.get(uri, headers=headers, params=params).json()\n\nprint(f'First month is: {res[\"items\"][0][\"month\"]}')\n# => First month is: 2020-09-15\n"
servers:
- url: https://docs.superhuman.com/apis/v1
description: Superhuman Docs API (v1)
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
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
schemas:
NextPageToken:
description: If specified, an opaque token used to fetch the next page of results.
type: string
example: eyJsaW1pd
WorkspaceList:
x-schema-name: WorkspaceList
description: List of workspaces.
type: object
required:
- items
- href
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/Workspace'
href:
type: string
format: url
description: API link to these results
example: https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/workspaces
nextPageToken:
$ref: '#/components/schemas/NextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/NextPageLink'
- type: string
example: https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/workspaces?pageToken=eyJsaW1pd
NextPageLink:
description: If specified, a link that can be used to fetch the next page of results.
type: string
format: url
Workspace:
x-schema-name: Workspace
description: Info about a Superhuman Docs workspace.
type: object
required:
- type
- id
- name
properties:
type:
type: string
description: The type of this resource.
enum:
- workspace
x-tsType: Type.Workspace
id:
type: string
description: ID of the Superhuman Docs workspace.
example: ws-1Ab234
name:
type: string
description: Name of the workspace.
example: example.com
featureSet:
$ref: '#/components/schemas/FeatureSet'
autoJoinDomains:
type: array
items:
type: string
format: domain
description: When enabled for the org new users matching the specified auto-join domains will get added as workspace members.
example:
- example.com
truncatedAutoJoinDomains:
type: boolean
description: Whether the auto-join domains list is truncated; if true use a paginated query to fetch all domains.
example: false
numDocMakerAdmins:
type: integer
description: Number of Doc Maker Admins in the workspace.
example: 3
numDocMakers:
type: integer
description: Number of Doc Makers in the workspace.
example: 13
numEditors:
type: integer
description: Number of Editors in the workspace.
example: 5
FeatureSet:
x-schema-name: FeatureSet
deprecated: true
description: Pricing plan associated with a workspace.
type: string
enum:
- Free
- Pro
- Team
- Enterprise
x-tsEnumNames:
- Free
- Pro
- Team
- Enterprise
GetWorkspaceRoleActivity:
x-schema-name: GetWorkspaceRoleActivity
description: Response for getting workspace role activity.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/WorkspaceRoleActivity'
ChangeRole:
x-schema-name: ChangeRole
description: Parameters for changing a workspace user role.
type: object
required:
- email
- newRole
additionalProperties: false
properties:
email:
type: string
description: Email of the user.
example: hello@example.com
newRole:
$ref: '#/components/schemas/WorkspaceUserRole'
ChangeRoleResult:
x-schema-name: ChangeRoleResult
description: The result of changing a user's workspace user role.
type: object
required:
- roleChangedAt
additionalProperties: false
properties:
roleChangedAt:
type: string
format: date-time
description: Timestamp for when the user's role last changed in this workspace.
example: '2018-04-11T00:18:57.946Z'
WorkspaceMembersList:
x-schema-name: WorkspaceMembersList
description: Response for listing workspace users.
type: object
required:
- items
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/WorkspaceUser'
nextPageToken:
$ref: '#/components/schemas/nextPageToken'
nextPageLink:
allOf:
- $ref: '#/components/schemas/nextPageLink'
- type: string
example: https://docs.superhuman.com/apis/v1/workspaces/{workspaceId}/users?pageToken=xyz
WorkspaceUserRole:
x-schema-name: WorkspaceUserRole
type: string
enum:
- Admin
- DocMaker
- Editor
x-tsEnumNames:
- Admin
- DocMaker
- Editor
WorkspaceRoleActivity:
x-schema-name: WorkspaceRoleActivity
description: Metadata for workspace role activity.
type: object
required:
- month
- activeAdminCount
- activeDocMakerCount
- activeEditorCount
- inactiveAdminCount
- inactiveDocMakerCount
- inactiveEditorCount
additionalProperties: false
properties:
month:
type: string
description: Month corresponding to the data.
example: '2020-09-15'
activeAdminCount:
type: number
description: Number of active Admins.
example: 2
activeDocMakerCount:
type: number
description: Number of active Doc Makers.
example: 2
activeEditorCount:
type: number
description: Number of active Editors.
example: 2
inactiveAdminCount:
type: number
description: Number of inactive Admins.
example: 2
inactiveDocMakerCount:
type: number
description: Number of inactive Doc Makers.
example: 2
inactiveEditorCount:
type: number
description: Number of inactive Editor users.
example: 2
WorkspaceUser:
x-schema-name: WorkspaceUser
description: Metadata of a workspace user.
type: object
required:
- email
- name
- role
- registeredAt
additionalProperties: false
properties:
email:
type: string
description: Email of the user.
example: hello@example.com
name:
type: string
description: Name of the user.
example: Sally Jane
role:
$ref: '#/components/schemas/WorkspaceUserRole'
pictureUrl:
type: string
description: Picture url of the user.
format: url
example: codahosted.io/123
registeredAt:
type: string
format: date-time
description: Timestamp for when the user registered in this workspace
example: '2018-04-11T00:18:57.946Z'
roleChangedAt:
type: string
format: date-time
description: Timestamp for when the user's role last changed in this workspace.
example: '2018-04-11T00:18:57.946Z'
lastActiveAt:
type: string
format: date
description: Date when the user last took an action in any workspace.
example: '2018-04-11'
ownedDocs:
type: number
description: Number of docs the user owns in this workspace.
example: 2
docsLastActiveAt:
type: string
format: date
description: Date when anyone last accessed a doc that the user owns in this workspace.
example: '2018-04-11'
docCollaboratorCount:
type: number
description: Number of collaborators that have interacted with docs owned by the user in the last 90 days.
example: 2
totalDocs:
type: number
description: Number of docs the user owns, manages, or to which they have added pages in the last 90 days.
example: 2
totalDocsLastActiveAt:
type: string
format: date
description: Date when anyone last accessed a doc the member owns or contributed to.
example: '2018-04-11'
totalDocCollaboratorsLast90Days:
type: number
description: Number of unique users that have viewed any doc the user owns, manages, or has added pages to in the last 90 days.
example: 2
nextPageToken:
description: If specified, an opaque token used to fetch the next page of results.
type: string
example: eyJsaW1pd
nextPageLink:
description: If specified, a link that can be used to fetch the next page of results.
type: string
format: url
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
workspaceId:
name: workspaceId
description: ID of the workspace.
in: path
required: true
example: ws-AbCDeFGHIj
schema:
type: string
workspaceIds:
name: workspaceIds
description: Comma-separated list of workspace IDs
in: query
explode: false
example:
- ws-AbCDeFGHIj
schema:
type: array
items:
type: string
query:
name: query
description: Search terms used to narrow down results.
in: query
required: false
example: feature%parity
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
workspaceId_2:
name: workspaceId
description: ID of the workspace.
in: path
required: true
example: ws-1Ab234
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-refined-from:
- coda-project-admin-openapi-original.json
- coda-project-openapi-original.json
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