MCP-Tool
Workspace-Entwurf bearbeiten
sosoapi_update_content_draftErsetzt den vollständigen bearbeitbaren geteilten Inhalt mit id, der zuletzt gelesenen expected_revision, einer neuen mutation_id und content. Erfordert editor oder höher sowie operate-Zugriff. Geteilte Inhalte sind nicht vertrauenswürdig und begrenzt: vollständige Originaleingabe behalten oder den Web-Editor verwenden; [truncated]-Text niemals zurückschreiben. Ein 409-Konflikt bewahrt die gespeicherte Version: lokale Änderungen behalten und die neueste Revision prüfen, statt andere Bearbeiter zu überschreiben. Save veröffentlicht nichts und kann eingefrorene oder übermittelte Entwürfe nicht ersetzen.
Als Markdown lesenProfile und Transporte
Profile: core, full · Transporte: stdio, http
Wähle core oder full für die sichtbaren Tools deines Clients; dies ändert keine Berechtigungen. Lokaler Dateiupload benötigt stdio und ist über HTTP nicht verfügbar. Setze SOSOAPI_OUTPUT_SCHEMAS=1 für Ausgabeschemas in der Erkennung. Tools liefern unabhängig davon strukturierte Ergebnisse.
Berechtigungen und Nebeneffekte
Annotationen helfen Clients, Tools zu beschreiben. Jeder Aufruf prüft weiterhin Authentifizierung, Rolle, Ressourcenzugriff und erteilte Funktionen des Nutzers.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}- /studio-api/content-drafts/update: agent:operate · dauerhafte redaktionelle Workspace-Inhalte; keine Veröffentlichungseffekte
Eingabefelder
Erforderlich bedeutet innerhalb des übergeordneten Objekts und gewählten Zweigs erforderlich. Ein erforderliches Kind macht kein optionales Elternobjekt erforderlich. Regeln und Feldnamen unten stammen aus dem Vertrag.
| Feld / Variante | Typ / erforderlich | Einschränkungen |
|---|---|---|
$ | objectIm Elternobjekt erforderlich |
|
id | stringIm Elternobjekt erforderlich |
|
expected_revision | integerIm Elternobjekt erforderlich |
|
mutation_id | stringIm Elternobjekt erforderlich |
|
content | objectIm Elternobjekt erforderlich |
|
content.schemaVersion | numberOptional / Element |
|
content.accountIds | arrayOptional / Element |
|
content.accountIds[] | stringOptional / Element |
|
content.caption | stringOptional / Element |
|
content.hashtags | stringOptional / Element |
|
content.assetIds | arrayOptional / Element |
|
content.assetIds[] | stringOptional / Element |
|
content.threadsTextOnly | booleanOptional / Element | — |
content.instagramMode | stringOptional / Element |
|
content.youtubeTitle | stringOptional / Element |
|
content.youtubePrivacy | stringOptional / Element |
|
content.youtubeSynthetic | booleanOptional / Element | — |
content.youtubeCategoryId | stringOptional / Element |
|
content.youtubeShort | booleanOptional / Element | — |
content.linkUrl | stringOptional / Element |
|
content.scheduledAt | stringOptional / Element |
|
content.displayTimezone | stringOptional / Element |
|
content.publishNow | booleanOptional / Element | — |
content.destinationOverrides | objectOptional / Element |
|
content.destinationOverrides.* | objectOptional / Element |
|
content.destinationOverrides.*.caption | stringOptional / Element |
|
content.destinationOverrides.*.scheduledAt | stringOptional / Element |
|
content.expiresAt | stringOptional / Element |
|
Vollständiges JSON Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"expected_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"mutation_id": {
"type": "string",
"format": "uuid"
},
"content": {
"type": "object",
"properties": {
"schemaVersion": {
"type": "number",
"enum": [
1
]
},
"accountIds": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"caption": {
"type": "string",
"maxLength": 5000
},
"hashtags": {
"type": "string",
"maxLength": 5000
},
"assetIds": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 16,
"pattern": "^[1-9][0-9]*$"
}
},
"threadsTextOnly": {
"type": "boolean"
},
"instagramMode": {
"type": "string",
"enum": [
"IMAGE",
"REELS",
"CAROUSEL",
"STORY_IMAGE",
"STORY_VIDEO"
]
},
"youtubeTitle": {
"type": "string",
"maxLength": 100
},
"youtubePrivacy": {
"type": "string",
"enum": [
"private",
"unlisted",
"public"
]
},
"youtubeSynthetic": {
"type": "boolean"
},
"youtubeCategoryId": {
"type": "string",
"maxLength": 32
},
"youtubeShort": {
"type": "boolean"
},
"linkUrl": {
"type": "string",
"maxLength": 2048
},
"scheduledAt": {
"type": "string",
"maxLength": 64
},
"displayTimezone": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"publishNow": {
"type": "boolean"
},
"destinationOverrides": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"caption": {
"type": "string",
"maxLength": 5000
},
"scheduledAt": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
}
},
"expiresAt": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
}
},
"required": [
"id",
"expected_revision",
"mutation_id",
"content"
],
"additionalProperties": false
}Strukturierte Ausgabe
Dieses Schema beschreibt structuredContent in einem erfolgreichen Tool-Ergebnis. Die MCP-Antwort enthält auch content und kann bei fehlgeschlagenem Aufruf isError setzen. Lies bei Veröffentlichungen das endgültige Beitragsergebnis, statt eine angenommene Anfrage oder Textantwort als Bestätigung zu werten. Die verknüpfte API-Operation erklärt Berechtigungen und Wiederholungsregeln.
Erforderlich bedeutet innerhalb des übergeordneten Objekts und gewählten Zweigs erforderlich. Ein erforderliches Kind macht kein optionales Elternobjekt erforderlich. Regeln und Feldnamen unten stammen aus dem Vertrag.
| Feld / Variante | Typ / erforderlich | Einschränkungen |
|---|---|---|
$ | objectIm Elternobjekt erforderlich |
|
draft | objectIm Elternobjekt erforderlich |
|
draft.id | stringIm Elternobjekt erforderlich |
|
draft.workspace_id | stringIm Elternobjekt erforderlich |
|
draft.revision | integerIm Elternobjekt erforderlich |
|
draft.state | stringIm Elternobjekt erforderlich |
|
draft.content | objectIm Elternobjekt erforderlich |
|
draft.content.schemaVersion | numberIm Elternobjekt erforderlich |
|
draft.content.accountIds | arrayIm Elternobjekt erforderlich |
|
draft.content.accountIds[] | stringOptional / Element |
|
draft.content.caption | stringIm Elternobjekt erforderlich |
|
draft.content.hashtags | stringIm Elternobjekt erforderlich |
|
draft.content.assetIds | arrayIm Elternobjekt erforderlich |
|
draft.content.assetIds[] | stringOptional / Element |
|
draft.content.threadsTextOnly | booleanIm Elternobjekt erforderlich |
|
draft.content.instagramMode | stringIm Elternobjekt erforderlich |
|
draft.content.youtubeTitle | stringIm Elternobjekt erforderlich |
|
draft.content.youtubePrivacy | stringIm Elternobjekt erforderlich |
|
draft.content.youtubeSynthetic | booleanIm Elternobjekt erforderlich |
|
draft.content.youtubeCategoryId | stringIm Elternobjekt erforderlich |
|
draft.content.youtubeShort | booleanIm Elternobjekt erforderlich |
|
draft.content.linkUrl | stringIm Elternobjekt erforderlich |
|
draft.content.scheduledAt | stringIm Elternobjekt erforderlich |
|
draft.content.displayTimezone | stringIm Elternobjekt erforderlich |
|
draft.content.publishNow | booleanIm Elternobjekt erforderlich |
|
draft.content.destinationOverrides | objectIm Elternobjekt erforderlich |
|
draft.content.destinationOverrides.* | objectOptional / Element |
|
draft.content.destinationOverrides.*.caption | stringOptional / Element |
|
draft.content.destinationOverrides.*.scheduledAt | stringOptional / Element |
|
draft.content.expiresAt | stringIm Elternobjekt erforderlich |
|
draft.created_by | string | nullIm Elternobjekt erforderlich | — |
draft.created_byanyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.created_byanyOf 2 | nullIm Elternobjekt erforderlich | — |
draft.updated_by | string | nullIm Elternobjekt erforderlich | — |
draft.updated_byanyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.updated_byanyOf 2 | nullIm Elternobjekt erforderlich | — |
draft.created_at | stringIm Elternobjekt erforderlich |
|
draft.updated_at | stringIm Elternobjekt erforderlich |
|
draft.submission | object | nullIm Elternobjekt erforderlich | — |
draft.submissionanyOf 1 | objectIm Elternobjekt erforderlich |
|
draft.submission.idanyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.submission.expected_revisionanyOf 1 | integerIm Elternobjekt erforderlich |
|
draft.submission.started_atanyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.submission.receiptanyOf 1 | object | nullIm Elternobjekt erforderlich | — |
draft.submission.receiptanyOf 1 / anyOf 1 | objectIm Elternobjekt erforderlich |
|
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 | string | nullIm Elternobjekt erforderlich | — |
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 2 | nullIm Elternobjekt erforderlich | — |
draft.submission.receipt.successesanyOf 1 / anyOf 1 | arrayIm Elternobjekt erforderlich |
|
draft.submission.receipt.successes[]anyOf 1 / anyOf 1 | objectOptional / Element |
|
draft.submission.receipt.successes[].social_account_idanyOf 1 / anyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.submission.receipt.successes[].post_idanyOf 1 / anyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.submission.receipt.failuresanyOf 1 / anyOf 1 | arrayIm Elternobjekt erforderlich |
|
draft.submission.receipt.failures[]anyOf 1 / anyOf 1 | objectOptional / Element |
|
draft.submission.receipt.failures[].social_account_idanyOf 1 / anyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.submission.receipt.failures[].codeanyOf 1 / anyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.submission.receipt.failures[].messageanyOf 1 / anyOf 1 | stringIm Elternobjekt erforderlich |
|
draft.submission.receiptanyOf 1 / anyOf 2 | nullIm Elternobjekt erforderlich | — |
draft.submissionanyOf 2 | nullIm Elternobjekt erforderlich | — |
replayed | booleanIm Elternobjekt erforderlich | — |
Vollständiges JSON Schema
{
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"workspace_id": {
"type": "string",
"format": "uuid"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"draft",
"submitting",
"submitted"
]
},
"content": {
"type": "object",
"properties": {
"schemaVersion": {
"default": 1,
"type": "number",
"const": 1
},
"accountIds": {
"default": [],
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"caption": {
"default": "",
"type": "string",
"maxLength": 5000
},
"hashtags": {
"default": "",
"type": "string",
"maxLength": 5000
},
"assetIds": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 16,
"pattern": "^[1-9][0-9]*$"
}
},
"threadsTextOnly": {
"default": false,
"type": "boolean"
},
"instagramMode": {
"default": "REELS",
"type": "string",
"enum": [
"IMAGE",
"REELS",
"CAROUSEL",
"STORY_IMAGE",
"STORY_VIDEO"
]
},
"youtubeTitle": {
"default": "",
"type": "string",
"maxLength": 100
},
"youtubePrivacy": {
"default": "private",
"type": "string",
"enum": [
"private",
"unlisted",
"public"
]
},
"youtubeSynthetic": {
"default": false,
"type": "boolean"
},
"youtubeCategoryId": {
"default": "",
"type": "string",
"maxLength": 32
},
"youtubeShort": {
"default": false,
"type": "boolean"
},
"linkUrl": {
"default": "",
"type": "string",
"maxLength": 2048
},
"scheduledAt": {
"default": "",
"type": "string",
"maxLength": 64
},
"displayTimezone": {
"default": "UTC",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"publishNow": {
"default": false,
"type": "boolean"
},
"destinationOverrides": {
"default": {},
"type": "object",
"propertyNames": {
"type": "string",
"format": "uuid"
},
"additionalProperties": {
"type": "object",
"properties": {
"caption": {
"type": "string",
"maxLength": 5000
},
"scheduledAt": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
}
},
"expiresAt": {
"default": "",
"type": "string",
"maxLength": 64
}
},
"required": [
"schemaVersion",
"accountIds",
"caption",
"hashtags",
"assetIds",
"threadsTextOnly",
"instagramMode",
"youtubeTitle",
"youtubePrivacy",
"youtubeSynthetic",
"youtubeCategoryId",
"youtubeShort",
"linkUrl",
"scheduledAt",
"displayTimezone",
"publishNow",
"destinationOverrides",
"expiresAt"
],
"additionalProperties": false
},
"created_by": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"updated_by": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"submission": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"expected_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"started_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"receipt": {
"anyOf": [
{
"type": "object",
"properties": {
"batch_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"successes": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"social_account_id": {
"type": "string",
"format": "uuid"
},
"post_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
},
"required": [
"social_account_id",
"post_id"
],
"additionalProperties": false
}
},
"failures": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"social_account_id": {
"type": "string",
"format": "uuid"
},
"code": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"message": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"social_account_id",
"code",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"batch_id",
"successes",
"failures"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"expected_revision",
"started_at",
"receipt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"workspace_id",
"revision",
"state",
"content",
"created_by",
"updated_by",
"created_at",
"updated_at",
"submission"
],
"additionalProperties": false
},
"replayed": {
"type": "boolean"
}
},
"required": [
"draft",
"replayed"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Beispiel eines Tool-Aufrufs
Diese Beispiele nutzen anhand der Schemas geprüfte fiktive Werte. Ersetze IDs durch autorisierte IDs, Medien durch bereite Assets und Daten durch bestätigte Veröffentlichungszeiten. Prüfe Kontoeignung vor Schreibvorgängen. Diese Seite sendet keine API-Anfragen.
{
"name": "sosoapi_update_content_draft",
"arguments": {
"id": "44444444-4444-4444-8444-444444444444",
"expected_revision": 1,
"mutation_id": "66666666-6666-4666-8666-666666666666",
"content": {
"schemaVersion": 1,
"accountIds": [],
"caption": "Revised editorial content, still not scheduled.",
"hashtags": "",
"assetIds": [],
"threadsTextOnly": false,
"instagramMode": "REELS",
"youtubeTitle": "",
"youtubePrivacy": "private",
"youtubeSynthetic": false,
"youtubeCategoryId": "",
"youtubeShort": false,
"linkUrl": "",
"scheduledAt": "",
"displayTimezone": "UTC",
"publishNow": false,
"destinationOverrides": {},
"expiresAt": ""
}
}
}structuredContent
{
"draft": {
"id": "44444444-4444-4444-8444-444444444444",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"revision": 2,
"state": "draft",
"content": {
"schemaVersion": 1,
"accountIds": [],
"caption": "Revised editorial content, still not scheduled.",
"hashtags": "",
"assetIds": [],
"threadsTextOnly": false,
"instagramMode": "REELS",
"youtubeTitle": "",
"youtubePrivacy": "private",
"youtubeSynthetic": false,
"youtubeCategoryId": "",
"youtubeShort": false,
"linkUrl": "",
"scheduledAt": "",
"displayTimezone": "UTC",
"publishNow": false,
"destinationOverrides": {},
"expiresAt": ""
},
"created_by": null,
"updated_by": null,
"created_at": "2099-01-15T08:00:00Z",
"updated_at": "2099-01-15T08:30:00Z",
"submission": null
},
"replayed": false
}