Documentation Index

Fetch the complete documentation index at: https://apidocs.document360.com/llms.txt

Use this file to discover all available pages before exploring further.

Introduction

Prev Next

Document360 Customer API 2.0.0

Document360 RESTful APIs let you integrate your documentation with your software — onboard readers, manage articles, automate publishing, and more.

Authentication

Every request must include your API token in the api_token header. Generate tokens in the Document360 portal under Settings > Knowledge base portal > API tokens. Tokens are project-scoped and can be revoked at any time.

If your client cannot set custom headers, you can pass the same token in the api_token query string instead — but the header form is strongly preferred.

Project context

Many endpoints implicitly resolve the project from the API token. When an endpoint requires explicit project context, pass the project identifier in the ProjectId header.

Identifiers — how to fetch them

Most endpoints accept one or more identifiers as path, query, or body parameters. Instead of hard-coding values, use the discovery endpoints below to look them up programmatically:

Identifier What it is Where to fetch it
projectVersionId (a.k.a. workspaceId) A workspace/version inside the project. Content — articles, categories, and languages — lives within one. GET /v2/projectversions returns all workspaces with their id. Call this first to discover articles, categories, and languages.
categoryId A category in the category tree. GET /v2/projectversions/{projectVersionId}/categories returns the full category hierarchy with each category's id.
articleId An article inside a category. GET /v2/projectversions/{projectVersionId}/articles lists all articles in the workspace. Article IDs also appear in the categories tree response.
langCode The two-letter or locale code (en, fr, de-DE, pt-BR, …) of an article or category translation. GET /v2/language/{projectVersionId} returns the languages enabled for the workspace, including each code and name.
versionNumber A specific version of an article or category translation. GET /v2/articles/{articleId}/{langCode}/versions for articles; GET /v2/categories/{categoryId}/{langCode}/versions for categories.
userId (team account) A portal user (team member). GET /v2/teams lists all team accounts with their userId; GET /v2/teams/{userId} returns full details for one.
groupId (team) A team account group. GET /v2/teams/groups lists all team account groups.
roleId A role assignable to team accounts. GET /v2/teams/roles lists all available roles.
readerId A reader account, used for private documentation and reader analytics. GET /v2/readers lists all readers; supports pagination and searchEmail filtering.
groupId (reader) A reader group. GET /v2/readers/groups lists all reader groups.

Tip: In the Document360 portal, article and category IDs are visible in the URL when an item is open in the editor — for example, …/docs/<articleId>/edit/<langCode>. You can find the projectId under Settings → API tokens and the projectVersionId under Documentation → Workspaces.

Query parameter casing

V1 and V2 query parameters use snake_case on the wire — for example, search_email, exclude_readers, and version_number. The server transparently maps snake_case query keys to the camelCase parameter names shown in this specification, so either casing is accepted. However, snake_case is the documented convention for V1/V2.

Response envelope

All responses are wrapped in a consistent envelope:

  • success (boolean) — true when the operation succeeded, false otherwise. Always check this before reading the payload.
  • errors (array) — populated when success is false. Each entry includes a human-readable description.
  • warnings / information (arrays) — non-fatal advisories returned alongside a successful response.
  • result or data — the operation's payload (the property name depends on the endpoint).

HTTP status codes follow standard semantics: 200 success, 400 validation or business error, 401 missing or invalid token, 403 plan or permission restriction, 404 not found, 429 rate-limited, and 5xx server error. The envelope applies to non-200 responses as well — inspect errors[].description for details.

Rate limits

Endpoints are rate-limited per API token, per project. When a request is throttled, the server returns 429 Too Many Requests along with the Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. Honor the Retry-After value, and retry using exponential backoff with jitter.

Versioning

All routes are prefixed with the API version: /v1/... and /v2/.... V1 and V2 are stable; V3 is in Beta. In V1 and V2, new endpoints and fields may be added without notice, but existing ones will never be removed or renamed in a backwards-incompatible way.

Servers

Server URL
Document360 API Hub https://apihub.document360.io
Document360 API Hub — US data center https://apihub.us.document360.io
Private hosting — provide your subdomain https://apihub.{private_hosting}.document360.io

Server variables

Variable Default Description
private_hosting domain Subdomain for private hosting