API reference
Read, search and publish your documents from your own tools. The same API the Workover CLI and MCP server use.
Authentication
Create a personal access token in Settings, then send it as a bearer token. Tokens start with wk_.
curl https://api.workover.io/search?q=onboarding \
-H "Authorization: Bearer wk_your_token"A token reaches only the endpoints listed on this page. Account security, billing and token management are session-only and no token can reach them, whatever scopes it holds. Some endpoints additionally require a scope you granted the token when you created it; those are marked below.
Endpoints
ai
- POST
/ai/doc-set/draftneeds the draft scope - POST
/ai/doc-set/planneeds the draft scope - POST
/ai/draftneeds the draft scope - GET
/ai/draft/job/{id}needs the draft scope - GET
/ai/draft/jobsneeds the draft scope - POST
/ai/evaluateneeds the draft scope
project
- GET
/project - GET
/project/{id}/documents - POST
/project/{id}/documents - GET
/project/doc/{docId} - POST
/project/doc/{docId}/media - POST
/project/doc/{docId}/propose - GET
/project/doc/{docId}/wp - PATCH
/project/doc/{docId}/wpneeds the publish scope - POST
/project/doc/{docId}/wp/connect-postneeds the publish scope - POST
/project/doc/{docId}/wp/medianeeds the publish scope - POST
/project/doc/{docId}/wp/publishneeds the publish scope - POST
/project/doc/{docId}/wp/pullneeds the publish scope - POST
/project/doc/{docId}/wp/pushneeds the publish scope - DELETE
/project/doc/{docId}/wp/scheduleneeds the publish scope - GET
/project/doc/{docId}/wp/schedule - POST
/project/doc/{docId}/wp/scheduleneeds the publish scope - GET
/project/doc/{documentId}/translations - POST
/project/doc/{projectId}/wp-importneeds the publish scope - POST
/project/doc/{projectId}/wp/termsneeds the publish scope - GET
/project/doc/by-handle/{publicId} - GET
/project/doc/link-preview/{publicId} - GET
/project/doc/translations/languages
search
- GET
/search/documents - GET
/search/recent
OpenAPI specification
This page is generated from the specification below, so it cannot describe an endpoint that does not exist. Point a client generator at it directly.
https://api.workover.io/openapi.json