Ferndesk

Artikel

Artikel aktualisieren

Aktualisiert einen Artikel. Das Verhalten hängt vom Feld ab:

  • Metadaten und Platzierung (slug, keywords, meta_description, og_image, collection, section, listed, noindex) werden sofort angewendet.
  • Inhaltsänderungen (title, body über content/markdown) werden in einem offenen Entwurf gespeichert, der diesem Schlüssel gehört — nicht veröffentlicht. Die Antwort enthält published: false und eine draft_id. Veröffentlichen Sie den Artikel separat mit POST /articles/:id/publish.

Externe, von Integrationen verwaltete Artikel können nicht aktualisiert werden. Erfordert den content:write-Scope.

Erforderlicher Scope: content:write

PATCH /articles/{id}

Artikel aktualisieren

curl --request PATCH \
  --url 'https://api.ferndesk.com/v1/articles/{ID}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "key": "value"
}'
{
  "id": "<string>",
  "title": "<string>",
  "slug": "<string>",
  "contentHtml": "<string>",
  "contentMarkdown": "<string>",
  "contentJson": "<string>",
  "url": "<url>",
  "sectionId": "<string>",
  "collectionId": "<string>",
  "status": "<string>",
  "publishedAt": "<string>",
  "createdAt": "<string>"
}

Aktualisierter Artikel (gespeichert oder angewendet)

Authorizations

  • Authorization string erforderlich header

    Alle Anfragen erfordern ein Bearer-Token im Authorization-Header. API-Schlüssel beginnen mit fdsk_ und müssen geheim gehalten werden. Sie können Schlüssel auf der Seite Developer settings erstellen und verwalten.

    Schlüssel können auf eine beliebige Teilmenge dieser Scopes beschränkt werden (jeder Endpunkt führt den erforderlichen Scope über x-required-scopes auf):

    • content:read: Hilfecenter-Artikel, Sammlungen, Abschnitte und Übersetzungen lesen und durchsuchen
    • content:write: Artikelentwürfe, Benutzer und Aufgaben erstellen und bearbeiten; Artikel und Sammlungen verschieben
    • content:publish: Inhalte veröffentlichen, deren Veröffentlichung aufheben, wiederherstellen und löschen (Änderungen live schalten)
    • analytics:read: Hilfecenter-Berichte, Analysen und Artikel-Feedback lesen
    • conversations:read: Unterhaltungen und Transkripte des KI-Assistenten lesen
    • webhooks:manage: Ausgehende Webhook-Abonnements erstellen und verwalten

    Die Vergabe von content:write oder content:publish schließt content:read ein. Vor der Einführung von Scopes erstellte Schlüssel haben null Scopes = vollständiger Zugriff (Legacy-Modus).

Path Parameters

  • id string erforderlich

    Ressourcen-ID der angeforderten Entität. Beispiel: art_01JXY9AZK4KV

Request Body

application/json
  • title string

    Aktualisierter Artikeltitel. Inhaltsänderung: wird in einem offenen Entwurf gespeichert, nicht veröffentlicht.

  • content any

    Aktualisierter Artikeltext (Tiptap JSON). Inhaltsänderung: wird in einem offenen Entwurf gespeichert, nicht veröffentlicht. Nicht gemeinsam mit markdown verwendbar.

  • markdown string

    Aktualisierter Artikeltext als Markdown. Inhaltsänderung: wird in einem offenen Entwurf gespeichert, nicht veröffentlicht. Nicht gemeinsam mit content verwendbar.

  • collectionId string | null

    Aktualisierte Zuordnung zur Sammlung (Platzierung, wird sofort angewendet).

  • sectionId string

    Aktualisierte Zuordnung zum Abschnitt (Platzierung, wird sofort angewendet).

  • keywords string

    Aktualisierte SEO-Schlüsselwörter.

  • metaDescription string

    Aktualisierte SEO-Meta-Beschreibung.

  • ogImage string

    Aktualisierte Open-Graph-Bild-URL.

  • listed string enum enum

    Sichtbarkeit der Auflistung: everywhere (Standard), unlisted (nur über den Link erreichbar), hidden oder assistant_only. Allowed values: everywhere, unlisted, hidden, assistant_only.

  • noindex boolean

    Gibt an, ob Suchmaschinen diesen Artikel überspringen sollen.

  • slug string

    Aktualisierter benutzerdefinierter Slug. Wenn er vom bestehenden Slug abweicht, wird der Modus für benutzerdefinierte Slugs aktiviert.

Response

application/json
  • id string

    Ferndesk-Artikel-ID (art_...).

  • title string

    Primärer Artikeltitel.

  • slug string | null

    URL-Slug für den Artikel.

  • contentHtml string

    Als HTML gerenderter Artikelinhalt. Vorhanden, wenn format=html (Standard).

  • contentMarkdown string

    Als Markdown gerenderter Artikelinhalt. Vorhanden, wenn format=markdown.

  • contentJson any | null

    Unverarbeitetes gespeichertes ProseMirror-/Tiptap-Dokument. Vorhanden, wenn format=json. Verwendet das ProseMirror-Schema von Ferndesk (benutzerdefinierte Knoten wie callout, steps, cards) und ist die verlustfreie Darstellung.

  • url string (uri) | null

    Kanonische öffentliche URL für diesen Artikel.

  • sectionId string | null

    Abschnitts-ID, der den Artikel enthält.

  • collectionId string | null

    Optionale ID der Sammlungsgruppe für den Artikel.

  • status string | null

    Veröffentlichungsstatus des Artikels.

  • publishedAt string | null

    Zeitstempel der Veröffentlichung des Artikels.

  • createdAt string

    ISO-8601-Zeitstempel in UTC.

  • updatedAt string

    ISO-8601-Zeitstempel in UTC.

  • published boolean

    Gibt an, ob die Änderung live ist. Inhaltsänderungen werden in einem offenen Entwurf gespeichert (published: false); Änderungen an Metadaten und der Platzierung werden sofort angewendet.

  • draft_id string | null

    Der offene Entwurf, der gespeicherte Inhaltsänderungen enthält, sofern vorhanden.

  • message string

    Menschenlesbarer Hinweis zu gespeicherten bzw. angewendeten Änderungen.