Authorizations
- Authorization string required header
All requests require a Bearer token in the
Authorizationheader. API keys are prefixed withfdsk_and should be kept secret. You can generate and manage keys from the Developer settings page.Keys can be restricted to any subset of these scopes (each endpoint lists the scope it requires via
x-required-scopes):content:read: Read and search help center articles, collections, sections, and translationscontent:write: Create and edit article drafts, users, tasks; move articles and collectionscontent:publish: Publish, unpublish, restore, and trash content (make changes live)analytics:read: Read help center reporting, analytics, and article feedbackconversations:read: Read AI assistant conversations and transcriptswebhooks:manage: Create and manage outbound webhook subscriptions
Granting
content:writeorcontent:publishimpliescontent:read. Keys minted before scoping have null scopes = full access (legacy mode).
Path Parameters
- id string required
Ferndesk article ID (
art_...). Example: art_01JXY9AZK4KV - revisionId string required
Revision ID. Example: rev_01JXY9AZK4KV
Query Parameters
- format string enum
Content rendering format.
html(default) returnscontentHtml;markdownreturnscontentMarkdown;jsonreturnscontentJson— the raw stored ProseMirror/Tiptap document. The JSON uses Ferndesk’s ProseMirror schema (custom nodes likecallout,steps, andcards) and is the lossless representation of the article body. Example: markdown
Response
application/json- id string
Revision ID.
- version integer
Article version this revision captured.
- title string | null
- source string | null
Write channel of the publish.
- comment string | null
- createdAt string
ISO 8601 timestamp in UTC.
- language string
Revision language.
- contentHtml string
- contentMarkdown string
- contentJson any | null
Raw stored ProseMirror/Tiptap revision snapshot (format=json). Lossless Ferndesk ProseMirror schema.