Upsert einer Dokumentvariante einer benutzerdefinierten Komponente, referenziert über die Dokument-ID.
Führen Sie ein Upsert für eine Variante (eine documents-Zeile) einer benutzerdefinierten Komponente durch, die über die Dokument-id referenziert wird. Geben Sie id an, um eine vorhandene Variante zu aktualisieren; lassen Sie sie weg, um eine neue einzufügen. Auch verfügbar unter /schemas/{schema_name}. Der Inhalt wird anhand des Schemas der Komponente validiert.
Auth: API-Schlüssel — immer erforderlich, und der Schlüssel muss die Berechtigung content_write besitzen.
| Parameter | Typ | Erforderlich | Hinweise |
|---|---|---|---|
schema_name | string | ja | Name der benutzerdefinierten Komponente. |
| Parameter | Typ | Erforderlich | Hinweise |
|---|---|---|---|
websiteId | uuid | nein | Zielwebsite; greift auf den Host-Header bzw. die Konfiguration zurück. |
api_key | string | nein | Alternative zum Header x-api-key. |
{
"id": "<uuid>",
"title": "Meine Variante",
"content": { "title": "Hallo", "body": "..." }
}
| Feld | Typ | Erforderlich | Hinweise |
|---|---|---|---|
id | uuid | nein | Aktualisiert die passende Variante, wenn vorhanden; fügt sie ein, wenn sie fehlt oder nicht gefunden wird. |
title | string | nein | Angezeigter Titel. Standard ist "Ohne Titel" beim Einfügen; bleibt bei einer Aktualisierung unverändert, wenn er weggelassen wird. |
content | object | ja | Feldwerte, validiert gegen das Schema der Komponente. Muss ein JSON-Objekt sein. |
{
"id": "...",
"schema_name": "post",
"title": "Meine Variante",
"status": "Entwurf",
"version": 2,
"created": true
}
created ist beim Einfügen (HTTP 201) true und bei einem Update (HTTP 200) false.
curl -X PATCH '{CMS_API_URL}/dataset/post?websiteId=<uuid>' \
-H 'x-api-key: <key>' \
-H 'Content-Type: application/json' \
-d '{"content":{"title":"Hallo"}}'
400 — ungültige websiteId, nicht-objektförmiges content, unbekannte oder archivierte Komponente oder Validierungsfehler401 — fehlender oder ungültiger API-Schlüssel403 — Schlüssel besitzt die Berechtigung content_write nicht404 — id angegeben, aber keine passende Variante