Ferndesk

Article translations

Get article translation

Returns the localized version of an article for a specific locale. Use format=markdown for Markdown. Requires the content:read scope.

Required scope: content:read

GET /articles/{id}/translations/{locale}

Get article translation

curl --request GET \
  --url 'https://api.ferndesk.com/v1/articles/{ID}/translations/{LOCALE}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "articleId": "<string>",
  "language": "<string>",
  "title": "<string>",
  "contentHtml": "<string>",
  "contentMarkdown": "<string>",
  "contentJson": "<string>",
  "url": "<url>",
  "status": "<string>",
  "updatedAt": "<string>"
}

Article translation

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

  • locale string required

    Locale code for the translation to retrieve. Example: en

Query Parameters

  • format string enum

    Content rendering format. html (default) returns contentHtml; markdown returns contentMarkdown; json returns contentJson — the raw stored ProseMirror/Tiptap document. The JSON uses Ferndesk’s ProseMirror schema (custom nodes like callout, steps, and cards) and is the lossless representation of the article body. Example: markdown

Response

application/json
  • articleId string

    Ferndesk article ID (art_...).

  • language string

    Language code for this translation.

  • title string

    Localized article title.

  • contentHtml string

    Localized article content rendered as HTML. Present when format=html (default).

  • contentMarkdown string

    Localized article content rendered as Markdown. Present when format=markdown.

  • contentJson any | null

    Raw stored ProseMirror/Tiptap document. Present when format=json. Uses Ferndesk’s ProseMirror schema (custom nodes like callout, steps, cards) and is the lossless representation.

  • url string (uri) | null

    Canonical public URL for this translated article.

  • status string

    Translation lifecycle status.

  • updatedAt string

    ISO 8601 timestamp in UTC.