Strapi: Update entry
strapi_update_entryEinen bestehenden Strapi-Eintrag aktualisieren — schreibt bei v5 NUR den Draft, die veröffentlichte Version bleibt unverändert. Live geht die Änderung erst über strapi_publish_entry (separater, bewusster Schritt). Bei Workspaces mit Strapi v4 gibt es keine getrennte Draft-Kopie: ein Update eines bereits veröffentlichten Eintrags ändert die Live-Version sofort — vorher ggf. strapi_unpublish_entry. entry_id ist bei v4 die numerische id, bei v5 die documentId. locale wählt die zu schreibende Sprachversion (Strapi-v5-i18n, z. B. 'de') — Achtung: ohne locale trifft das Update stillschweigend die Default-Locale; bei lokalisierten Content-Types locale immer explizit angeben. Bild-Nodes in Blocks-Rich-Text brauchen das komplette File-Objekt aus strapi_upload_media(full=True) bzw. strapi_list_media(ids=[...], full=True). Dynamic Zones (z. B. content): Strapi ersetzt das Feld als GANZES — ein Mergen einzelner Sektionen gibt es nicht. Deshalb vorher mit strapi_get_entry(collection, entry_id, status='draft', populate={"content": {"populate": ""}}) komplett lesen (tiefes Populate — populate='' lädt nur eine Ebene, Medien und Repeatables INNERHALB der Sektionen fehlen dann im gelesenen Stand; nur vollständig gelesene Sektionen lassen sich verlustfrei zurückschreiben), die Sektionen ändern und das komplette Array zurückgeben. documentId/Timestamps und volle Media-Objekte aus dem GET können unverändert mitgeschickt werden (Medien auch als {"id": ...}); das Tool sortiert __component an die erste Stelle jeder Sektion und entfernt die ids der Komponenten in Dynamic Zones (Strapi legt sie bei jedem Write neu an — veraltete ids führten sonst zu 400). Frisch lesen bleibt trotzdem nötig, damit der Inhalt aktuell ist. Nur einen Text, Link oder Satz ändern? strapi_replace_text ist kürzer und sicherer als das ganze Feld neu zu schicken. Single Types (z. B. 'impressum', 'footer'): Singular-API-ID als collection; der Server spricht sie automatisch über ihre ID-lose Route an. entry_id wird dabei NICHT geprüft (ein Single Type hat nur ein Dokument) — die documentId aus dem Lesen mitgeben, sie dient nur als Platzhalter. Kontrolle des Drafts: strapi_get_entry(collection, entry_id, status='draft') — ohne status zeigt v5 die alte Live-Version. collection: API-ID der Collection (Buchstaben, Ziffern, _ und -; keine Plugin-Routen wie users, upload, admin), sonst {"error":"invalid_collection"}. entry_id: documentId bzw. numerische ID (Buchstaben, Ziffern, _ und -), sonst {"error":"invalid_id"}. workspace: Slug des Kunden-Workspace (optional bei nur einem Workspace).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| locale | No | ||
| entry_id | Yes | ||
| workspace | No | ||
| collection | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||