doconda-com Editor API
Calls your backend makes for the editor plugin.
Calls your backend makes for the editor plugin.
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/doconda-com:doconda-com-editor-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: Doconda Editor API
version: 0.1.0
license:
name: Proprietary
url: https://doconda.com/terms
description: 'Convert, create and edit Word, PowerPoint, Excel and PDF documents for AI agents. `POST /documents` waits for the document (direct, the default) or answers at once with `background: true`.
Errors follow RFC 9457 (application/problem+json). `POST /documents` accepts `Idempotency-Key`.'
servers:
- url: https://api.eu.doconda.com/v1
security:
- apiKey: []
tags:
- name: Editor
description: Calls your backend makes for the editor plugin.
paths:
/editor/collab/token:
post:
tags:
- Editor
operationId: createEditorCollabToken
summary: 'A token for real-time co-editing on Doconda''s server: your backend asks for it…'
security:
- apiKey: []
- session: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
room:
type: string
minLength: 1
maxLength: 200
pattern: ^[\w.:-]+$
description: 'Your id for the document: everyone with a token for the same room edits it together.'
required:
- room
additionalProperties: false
responses:
'200':
description: Signed token for that room.
content:
application/json:
schema:
type: object
properties:
token:
type: string
description: Give it to the editor (`collab.token`). It only lets the editor join this room, from one of the licence's domains, for 10 minutes; a connection already open stays open.
expires_at:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
required:
- token
- expires_at
'401':
description: unauthorized (missing, unknown or revoked key; expired session).
content:
application/problem+json:
schema:
type: object
properties:
type:
type: string
title:
type: string
status:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
code:
type: string
description: Stable machine code, e.g. input_invalid, insufficient_balance.
request_id:
type: string
errors:
type: array
items:
type: object
properties:
path:
type: string
message:
type: string
required:
- path
- message
required:
- type
- title
- status
- code
- request_id
'403':
description: 'editor_unlicensed: the organization has no active editor licence.'
content:
application/problem+json:
schema:
type: object
properties:
type:
type: string
title:
type: string
status:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
code:
type: string
description: Stable machine code, e.g. input_invalid, insufficient_balance.
request_id:
type: string
errors:
type: array
items:
type: object
properties:
path:
type: string
message:
type: string
required:
- path
- message
required:
- type
- title
- status
- code
- request_id
'501':
description: editor_not_configured
content:
application/problem+json:
schema:
type: object
properties:
type:
type: string
title:
type: string
status:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
code:
type: string
description: Stable machine code, e.g. input_invalid, insufficient_balance.
request_id:
type: string
errors:
type: array
items:
type: object
properties:
path:
type: string
message:
type: string
required:
- path
- message
required:
- type
- title
- status
- code
- request_id
components:
securitySchemes:
apiKey:
type: http
scheme: bearer
description: '`Authorization: Bearer ak_eu_…`, a key from the dashboard (API keys).'
session:
type: http
scheme: bearer
bearerFormat: JWT
description: 'Dashboard only: the Cognito ID token of the signed-in user.'