Ferndesk

Article revisions

List article revisions

Lists the version history for an article (newest first), cursor-paginated. Pass language for a translation. Requires the content:read scope.

Required scope: content:read

GET /articles/{id}/revisions

List article revisions

curl --request GET \
  --url 'https://api.ferndesk.com/v1/articles/{ID}/revisions' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "results": [
    {
      "id": "<string>",
      "version": 1,
      "title": "<string>",
      "source": "<string>",
      "comment": "<string>",
      "createdAt": "<string>"
    }
  ],
  "has_more": true,
  "next_cursor": "<string>"
}

Revisions

Authorizations

  • Authorization string required header

    All requests require a Bearer token in the Authorization header. API keys are prefixed with fdsk_ 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 translations
    • content:write: Create and edit article drafts, users, tasks; move articles and collections
    • content:publish: Publish, unpublish, restore, and trash content (make changes live)
    • analytics:read: Read help center reporting, analytics, and article feedback
    • conversations:read: Read AI assistant conversations and transcripts
    • webhooks:manage: Create and manage outbound webhook subscriptions

    Granting content:write or content:publish implies content:read. Keys minted before scoping have null scopes = full access (legacy mode).

Path Parameters

  • id string required

    Resource ID for the requested entity. Example: art_01JXY9AZK4KV

Response

application/json
  • results[] object array

    Items in this page. Revision summary.

    + Show Child Attributes
    • 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.

  • has_more boolean

    Whether more items are available after this page.

  • next_cursor string | null

    Cursor to pass as start_cursor for the next page, or null on the last page.