Coda Project Docs API
Documents are foundational, top-level collaborative projects that contain pages. The API lets you list and search your documents.
Documents are foundational, top-level collaborative projects that contain pages. The API lets you list and search your documents.
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-docs-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 Docs 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 Docs 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: Docs
description: Documents are foundational, top-level collaborative projects that contain pages. The API lets you list and search your documents.
paths:
/organizations/{organizationId}/docs:
get:
summary: List docs
description: Returns a list of docs in the organization
operationId: listDocs
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/query'
- $ref: '#/components/parameters/docIds'
- $ref: '#/components/parameters/folderIds'
- $ref: '#/components/parameters/workspaceIds'
- $ref: '#/components/parameters/docAvailabilityState'
- $ref: '#/components/parameters/docTypes'
- name: dateActivity
description: Activity type to apply the date range filter to. Only available if a search query is provided.
in: query
required: false
schema:
$ref: '#/components/schemas/DateActivity'
- name: since
description: Return docs with the specified date activity on or after the given date. Only available if a search query is provided.
in: query
required: false
schema:
type: string
- name: until
description: Return docs with the specified date activity on or before the given date. Only available if a search query is provided.
in: query
required: false
schema:
type: string
- name: ownerUserEmails
description: List of emails of doc owners whose docs to retrieve.
in: query
required: false
example:
- april@example.com
- june@example.com
explode: false
schema:
type: array
items:
type: string
format: email
- name: title
description: If specified, filter docs whose title contains this string.
in: query
required: false
schema:
type: string
- name: sharedWithWorkspace
description: If true, filter docs shared with their workspace. All sharedWith params are ORed together.
in: query
required: false
schema:
type: boolean
- name: sharedWithDomains
description: Filter docs shared with the specified domains. All sharedWith params are ORed together.
in: query
required: false
example:
- example.com
explode: false
schema:
type: array
items:
type: string
format: domain
- name: sharedWithAnyone
description: Filter docs shared publicly if specified. All sharedWith params are ORed together.
in: query
required: false
schema:
$ref: '#/components/schemas/SharedWithAnyoneFilter'
- name: sharedWithExternalDomain
description: Filter docs shared with a user external to the organization. All sharedWith params are ORed together.
in: query
required: false
schema:
$ref: '#/components/schemas/SharedWithExternalDomainFilter'
- name: sortField
description: Sort the list of docs by the specified field.
in: query
required: false
schema:
$ref: '#/components/schemas/DocListSortField'
- name: sortDirection
description: Sort by the specified direction.
in: query
required: false
schema:
$ref: '#/components/schemas/SortDirection'
- name: includeInstalledPackCount
description: Include the count of installed Packs in the response.
in: query
required: false
schema:
type: boolean
- name: fetchPermissionsMode
description: How to fetch permissions for a doc. Defaults to list all permissions.
in: query
required: false
schema:
$ref: '#/components/schemas/FetchPermissionsMode'
responses:
'200':
description: List of documents.
content:
application/json:
schema:
$ref: '#/components/schemas/DocList'
'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>/docs''
res = requests.get(uri, headers=headers).json()
print(f''First doc 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>/docs' |\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}/docs/{docId}:
get:
summary: Get doc metadata
description: Returns metadata for a specific doc
operationId: getDocV2
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/workspaceId'
- $ref: '#/components/parameters/docId'
- name: fetchPermissionsMode
description: How to fetch permissions for a doc. Defaults to list all permissions.
in: query
required: false
schema:
$ref: '#/components/schemas/FetchPermissionsMode'
responses:
'200':
description: Metadata for the doc.
content:
application/json:
schema:
$ref: '#/components/schemas/Doc'
'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>/docs/<your doc id>''
res = requests.get(uri, headers=headers).json()
print(f''Doc 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>/docs/<your doc id>' |\n jq .name\n"
delete:
summary: Delete doc
description: Deletes an existing doc
operationId: deleteDocV2
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/workspaceId'
- $ref: '#/components/parameters/docId'
responses:
'200':
description: Confirmation that the request was applied.
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteDocResult'
'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>/docs/<your doc id>''
res = requests.delete(uri, headers=headers).json()
# => Delete the doc
'
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' -X DELETE \\\n 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/docs/<your doc id>' |\n# => Delete the doc\n"
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
/organizations/{organizationId}/workspaces/{workspaceId}/docs/{docId}/revive:
post:
summary: Revive doc
description: Revives a deleted doc in the organization
operationId: reviveDocV2
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/workspaceId'
- $ref: '#/components/parameters/docId'
responses:
'200':
description: Doc URL of the revived doc.
content:
application/json:
schema:
$ref: '#/components/schemas/ReviveDocResult'
'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>/docs/<your doc id>/revive''
res = requests.post(uri, headers=headers, json=payload)
res = requests.delete(uri, headers=headers).json()
# => Revive the deleted doc
'
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' -X POST \\\n 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/docs/<your doc id>/revive'\n# => Revive the deleted doc\n"
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
/organizations/{organizationId}/workspaces/{workspaceId}/docs/{docId}/move:
post:
summary: Move doc
description: Moves a doc to another folder within the organization
operationId: moveDocV2
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/workspaceId'
- $ref: '#/components/parameters/docId'
requestBody:
description: Parameters for moving the doc.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MoveDocRequest'
responses:
'200':
description: Confirmation that the request was applied.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveDocResult'
'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>/docs/<your doc id>/move'\npayload = {\n 'destinationFolderId': 'fl-AbCDeFGHIj',\n}\nres = requests.post(uri, headers=headers, json=payload)\nres = requests.delete(uri, headers=headers).json()\n\n# => Move the doc to folder with ID fl-AbCDeFGHIj\n"
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' -X POST \\\n 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/docs/<your doc id>/move' \\\n -d '{\"destinationFolderId\": \"fl-AbCDeFGHIj\"}}'\n# => Move the doc to folder with ID fl-AbCDeFGHIj\n"
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
/organizations/{organizationId}/docs/{docId}:
get:
deprecated: true
summary: Get doc metadata
description: Returns metadata for a specific doc
operationId: getDoc
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/docId'
- name: fetchPermissionsMode
description: How to fetch permissions for a doc. Defaults to list all permissions.
in: query
required: false
schema:
$ref: '#/components/schemas/FetchPermissionsMode'
responses:
'200':
description: Metadata for the doc.
content:
application/json:
schema:
$ref: '#/components/schemas/Doc'
'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>/docs/<your doc id>''
res = requests.get(uri, headers=headers).json()
print(f''Doc 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>/docs/<your doc id>' |\n jq .name\n"
delete:
deprecated: true
summary: Delete doc
description: Deletes an existing doc
operationId: deleteDoc
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/docId'
responses:
'200':
description: Confirmation that the request was applied.
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteDocResult'
'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>/docs/<your doc id>''
res = requests.delete(uri, headers=headers).json()
# => Delete the doc
'
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' -X DELETE \\\n 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/docs/<your doc id>' |\n# => Delete the doc\n"
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
/organizations/{organizationId}/docs/{docId}/revive:
post:
deprecated: true
summary: Revive doc
description: Revives a deleted doc in the organization
operationId: reviveDoc
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/docId'
responses:
'200':
description: Doc URL of the revived doc.
content:
application/json:
schema:
$ref: '#/components/schemas/ReviveDocResult'
'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>/docs/<your doc id>/revive''
res = requests.post(uri, headers=headers, json=payload)
res = requests.delete(uri, headers=headers).json()
# => Revive the deleted doc
'
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' -X POST \\\n 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/docs/<your doc id>/revive'\n# => Revive the deleted doc\n"
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
/organizations/{organizationId}/docs/{docId}/move:
post:
deprecated: true
summary: Move doc
description: Moves a doc to another folder within the organization
operationId: moveDoc
tags:
- Docs
parameters:
- $ref: '#/components/parameters/organizationId'
- $ref: '#/components/parameters/docId'
requestBody:
description: Parameters for moving the doc.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MoveDocRequest'
responses:
'200':
description: Confirmation that the request was applied.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveDocResult'
'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>/docs/<your doc id>/move'\npayload = {\n 'destinationFolderId': 'fl-AbCDeFGHIj',\n}\nres = requests.post(uri, headers=headers, json=payload)\nres = requests.delete(uri, headers=headers).json()\n\n# => Move the doc to folder with ID fl-AbCDeFGHIj\n"
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' -X POST \\\n 'https://docs.superhuman.com/apis/admin/v1/organizations/<your organization id>/docs/<your doc id>/move' \\\n -d '{\"destinationFolderId\": \"fl-AbCDeFGHIj\"}}'\n# => Move the doc to folder with ID fl-AbCDeFGHIj\n"
servers:
- url: https://docs.superhuman.com/apis/admin/v1
description: Superhuman Docs Admin API (v1)
/docs:
get:
summary: List available docs
description: 'Returns a list of documents accessible by the user, and which they have opened at least once. These are returned in the same order as on the docs page: reverse chronological by the latest event relevant to the user (last viewed, edited, or shared).'
operationId: listDocs
tags:
- Docs
parameters:
- name: isOwner
in: query
description: Show only docs owned by the user.
schema:
type: boolean
- name: isPublished
in: query
description: Show only published docs.
schema:
type: boolean
- $ref: '#/components/parameters/query_2'
- name: sourceDoc
in: query
description: Show only docs copied from the specified doc ID.
schema:
type: string
- name: isStarred
in: query
description: If true, returns docs that are starred. If false, returns docs that are not starred.
schema:
type: boolean
- name: inGallery
in: query
description: Show only docs visible within the gallery.
schema:
type: boolean
- name: workspaceId
in: query
description: Show only docs belonging to the given workspace.
schema:
type: string
- name: folderId
in: query
description: Show only docs belonging to the given folder.
schema:
type: string
- $ref: '#/components/parameters/limit_2'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: List of documents matching the query.
content:
application/json:
schema:
$ref: '#/components/schemas/DocList_2'
'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/docs'\nparams = {\n 'isOwner': True,\n 'query': 'New',\n}\nres = requests.get(uri, headers=headers, params=params).json()\n\nprint(f'First doc is: {res[\"items\"][0][\"name\"]}')\n# => First doc is: New Document\n"
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' \\\n 'https://docs.superhuman.com/apis/v1/docs' |\n jq .items[0].name\n# => \"New Document\"\n"
- label: Google Apps Script
lang: javascript
source: '// Import the SuperhumanDocs library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
SuperhumanDocs.authenticate(''<your API token>'');
var docs = SuperhumanDocs.listDocs().items;
Logger.log(''First doc is '' + docs[0].name);
// => First doc is: New Document
'
post:
summary: Create doc
description: Creates a new document, optionally copying an existing document. Note that creating a document requires you to be a Doc Maker in the applicable workspace (or be auto-promoted to one).
operationId: createDoc
tags:
- Docs
requestBody:
description: Parameters for creating the doc.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DocCreate'
responses:
'201':
description: Info about the created doc.
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentCreationResult'
'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\n\nheaders = {'Authorization': 'Bearer <your API token>'}\nuri = f'https://docs.superhuman.com/apis/v1/docs'\npayload = {\n 'title': 'Project Tracker',\n}\nreq = requests.post(uri, headers=headers, json=payload)\nreq.raise_for_status() # Throw if there was an error.\nres = req.json()\n\nprint(f'New doc created with name \"{res[\"name\"]}\"')\n# => New doc created with name \"Project Tracker\"\n"
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' -X POST -H \"Content-Type: application/json\" \\\n -d '{\"title\": \"Project Tracker\"}' \\\n 'https://docs.superhuman.com/apis/v1/docs' |\n jq .name\n# => \"Project Tracker\"\n"
- label: Google Apps Script
lang: javascript
source: '// Import the SuperhumanDocs library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
SuperhumanDocs.authenticate(''<your API token>'');
var res = SuperhumanDocs.createDoc({title: ''Project Tracker''});
Logger.log(''New doc created with name '' + res.name);
// => First doc in the results is: New Document
'
servers:
- url: https://docs.superhuman.com/apis/v1
description: Superhuman Docs API (v1)
/docs/{docId}:
get:
summary: Get info about a doc
description: Returns metadata for the specified doc.
operationId: getDoc
tags:
- Docs
parameters:
- $ref: '#/components/parameters/docId_2'
responses:
'200':
description: Basic document metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/Doc_2'
'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 = f''https://docs.superhuman.com/apis/v1/docs/<doc ID>''
res = requests.get(uri, headers=headers).json()
print(f''The name of the doc is {res["name"]}'')
# => The name of the doc is New Document
'
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' \\\n 'https://docs.superhuman.com/apis/v1/docs/<doc ID>' |\n jq .name\n# => \"New Document\"\n"
- label: Google Apps Script
lang: javascript
source: '// Import the SuperhumanDocs library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
SuperhumanDocs.authenticate(''<your API token>'');
var docInfo = SuperhumanDocs.getDoc(''<doc ID>'');
Logger.log(''The name of the doc is '' + docInfo.name);
// => The name of the doc is New Document
'
delete:
summary: Delete doc
description: Deletes a doc.
operationId: deleteDoc
tags:
- Docs
parameters:
- $ref: '#/components/parameters/docId_2'
responses:
'202':
description: A result indicating that the doc was deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/DocDelete'
'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 = f''https://docs.superhuman.com/apis/v1/docs/<doc ID>''
res = requests.delete(uri, headers=headers).json()
'
- label: Shell
lang: shell
source: "curl -s -X DELETE -H 'Authorization: Bearer <your API token>' \\\n 'https://docs.superhuman.com/apis/v1/docs/<doc ID>' |\n"
- label: Google Apps Script
lang: javascript
source: '// Import the SuperhumanDocs library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
SuperhumanDocs.authenticate(''<your API token>'');
var docInfo = SuperhumanDocs.deleteDoc(''<doc ID>'');
// => The given doc is now deleted
'
patch:
summary: Update doc
description: Updates metadata for a doc. Note that updating a doc title requires you to be a Doc Maker in the applicable workspace.
operationId: updateDoc
tags:
- Docs
parameters:
- $ref: '#/components/parameters/docId_2'
requestBody:
description: Parameters for updating the doc.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DocUpdate'
responses:
'200':
description: Basic document metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/DocUpdateResult'
'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 = f'https://docs.superhuman.com/apis/v1/docs/<doc ID>'\npayload = {\n 'title': 'New Doc Title',\n}\nreq = requests.patch(uri, headers=headers, json=payload)\n"
- label: Shell
lang: shell
source: "curl -s -H 'Authorization: Bearer <your API token>' -X PATCH -H \"Content-Type: application/json\" \\\n -d '{\"title\": \"New Doc Title\"}' \\\n 'https://docs.superhuman.com/apis/v1/docs/<doc ID>'\n"
- label: Google Apps Script
lang: javascript
source: '// Import the SuperhumanDocs library via Resource->Libraries...:
// 15IQuWOk8MqT50FDWomh57UqWGH23gjsWVWYFms3ton6L-UHmefYHS9Vl
SuperhumanDocs.authenticate(''<your API token>'');
SuperhumanDocs.updateDoc(<doc ID>, {title: "New Doc Title"});
'
servers:
- url: https://docs.superhuman.com/apis/v1
description: Superhuman Docs API (v1)
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
# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coda-project/refs/heads/main/openapi/coda-project-docs-api-openapi.yml