MCP tool
由已審閱研究版本建立編輯草稿
sosoapi_research_briefs_handoff明確確認已審閱 brief 及語言版本後,原子建立一份正式 Content Draft 和獨立來源收據;機器身份同時需要 agent:research 及 agent:operate。同一 mutation_id 不會建立兩份草稿,此操作不會提交、排程或發佈。
閱讀 MarkdownProfiles 及連接方式
Profiles: full · Transports: stdio, http
Profile 只影響工具可見性,不會授予權限。HTTP 不提供本機檔案上傳。SOSOAPI_OUTPUT_SCHEMAS=1 會宣告輸出 schema;兩種模式均會回傳 structured results。
權限及改動
MCP annotations 只提供工具發現提示,並非存取控制保證;實際呼叫仍須通過登入、角色、資源及能力檢查。
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}- /research-api/briefs/handoff: agent:research · one committed canonical unscheduled Content Draft plus private source provenance; never submission/publication
輸入欄位
必填表示在所屬物件及所選分支內必須提供;子欄位必填不代表可選的父物件亦變成必填。以下欄位名稱及規則直接來自 contract。
| 欄位/分支 | 類型/必填 | 限制 |
|---|---|---|
$ | object父物件內必填 |
|
workspace_id | string父物件內必填 |
|
mutation_id | string父物件內必填 |
|
brief_id | string父物件內必填 |
|
brief_revision | integer父物件內必填 |
|
variant_id | string父物件內必填 |
|
variant_revision | integer父物件內必填 |
|
content | object父物件內必填 |
|
content.schemaVersion | number可選/陣列項目 |
|
content.accountIds | array可選/陣列項目 |
|
content.accountIds[] | string可選/陣列項目 |
|
content.caption | string可選/陣列項目 |
|
content.hashtags | string可選/陣列項目 |
|
content.assetIds | array可選/陣列項目 |
|
content.assetIds[] | string可選/陣列項目 |
|
content.threadsTextOnly | boolean可選/陣列項目 | — |
content.threadsOptions | object可選/陣列項目 |
|
content.threadsOptions.post_type | string可選/陣列項目 |
|
content.threadsOptions.reply_to_id | string可選/陣列項目 |
|
content.threadsOptions.quote_post_id | string可選/陣列項目 |
|
content.threadsOptions.repost_target_id | string可選/陣列項目 |
|
content.threadsOptions.reply_control | string可選/陣列項目 |
|
content.threadsOptions.enable_reply_approvals | boolean可選/陣列項目 | — |
content.threadsOptions.link_attachment | string可選/陣列項目 |
|
content.threadsOptions.poll_attachment | object可選/陣列項目 |
|
content.threadsOptions.poll_attachment.option_a | string父物件內必填 |
|
content.threadsOptions.poll_attachment.option_b | string父物件內必填 |
|
content.threadsOptions.poll_attachment.option_c | string可選/陣列項目 |
|
content.threadsOptions.poll_attachment.option_d | string可選/陣列項目 |
|
content.threadsOptions.gif_attachment | object可選/陣列項目 |
|
content.threadsOptions.gif_attachment.gif_id | string父物件內必填 |
|
content.threadsOptions.gif_attachment.provider | string父物件內必填 |
|
content.threadsOptions.text_attachment | object可選/陣列項目 |
|
content.threadsOptions.text_attachment.plaintext | string父物件內必填 |
|
content.threadsOptions.text_attachment.link_attachment_url | string可選/陣列項目 |
|
content.threadsOptions.text_attachment.text_with_styling_info | array可選/陣列項目 |
|
content.threadsOptions.text_attachment.text_with_styling_info[] | object可選/陣列項目 |
|
content.threadsOptions.text_attachment.text_with_styling_info[].offset | integer父物件內必填 |
|
content.threadsOptions.text_attachment.text_with_styling_info[].length | integer父物件內必填 |
|
content.threadsOptions.text_attachment.text_with_styling_info[].styling_info | array父物件內必填 |
|
content.threadsOptions.text_attachment.text_with_styling_info[].styling_info[] | string可選/陣列項目 |
|
content.threadsOptions.topic_tag | string可選/陣列項目 |
|
content.threadsOptions.text_entities | array可選/陣列項目 |
|
content.threadsOptions.text_entities[] | object可選/陣列項目 |
|
content.threadsOptions.text_entities[].entity_type | string父物件內必填 |
|
content.threadsOptions.text_entities[].offset | integer父物件內必填 |
|
content.threadsOptions.text_entities[].length | integer父物件內必填 |
|
content.threadsOptions.is_spoiler_media | boolean可選/陣列項目 | — |
content.threadsOptions.is_ghost_post | boolean可選/陣列項目 | — |
content.threadsOptions.location_id | string可選/陣列項目 |
|
content.threadsOptions.allowlisted_country_codes | array可選/陣列項目 |
|
content.threadsOptions.allowlisted_country_codes[] | string可選/陣列項目 |
|
content.threadsOptions.crossreshare_to_ig | boolean可選/陣列項目 | — |
content.threadsOptions.crossreshare_to_ig_dark_mode | boolean可選/陣列項目 | — |
content.threadsOptions.auto_publish_text | boolean可選/陣列項目 | — |
content.threadsOptions.media_options | array可選/陣列項目 |
|
content.threadsOptions.media_options[] | object可選/陣列項目 |
|
content.threadsOptions.media_options[].asset_id | integer父物件內必填 |
|
content.threadsOptions.media_options[].alt_text | string可選/陣列項目 |
|
content.threadsOptions.media_options[].is_spoiler_media | boolean可選/陣列項目 | — |
content.instagramMode | string可選/陣列項目 |
|
content.youtubeTitle | string可選/陣列項目 |
|
content.youtubePrivacy | string可選/陣列項目 |
|
content.youtubeSynthetic | boolean可選/陣列項目 | — |
content.youtubeCategoryId | string可選/陣列項目 |
|
content.youtubeShort | boolean可選/陣列項目 | — |
content.linkUrl | string可選/陣列項目 |
|
content.scheduledAt | string可選/陣列項目 |
|
content.displayTimezone | string可選/陣列項目 |
|
content.publishNow | boolean可選/陣列項目 | — |
content.destinationOverrides | object可選/陣列項目 |
|
content.destinationOverrides.* | object可選/陣列項目 |
|
content.destinationOverrides.*.caption | string可選/陣列項目 |
|
content.destinationOverrides.*.scheduledAt | string可選/陣列項目 |
|
content.expiresAt | string可選/陣列項目 |
|
完整 JSON Schema
{
"type": "object",
"properties": {
"workspace_id": {
"$ref": "#/$defs/s1"
},
"mutation_id": {
"$ref": "#/$defs/s1"
},
"brief_id": {
"$ref": "#/$defs/s1"
},
"brief_revision": {
"$ref": "#/$defs/s0"
},
"variant_id": {
"$ref": "#/$defs/s1"
},
"variant_revision": {
"$ref": "#/$defs/s0"
},
"content": {
"type": "object",
"properties": {
"schemaVersion": {
"type": "number",
"enum": [
1
]
},
"accountIds": {
"maxItems": 50,
"type": "array",
"items": {
"$ref": "#/$defs/s1"
}
},
"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"
},
"threadsOptions": {
"type": "object",
"properties": {
"post_type": {
"type": "string",
"enum": [
"TEXT",
"IMAGE",
"VIDEO",
"CAROUSEL",
"REPOST"
]
},
"reply_to_id": {
"$ref": "#/$defs/s2"
},
"quote_post_id": {
"$ref": "#/$defs/s2"
},
"repost_target_id": {
"$ref": "#/$defs/s2"
},
"reply_control": {
"type": "string",
"enum": [
"everyone",
"accounts_you_follow",
"mentioned_only",
"parent_post_author_only",
"followers_only"
]
},
"enable_reply_approvals": {
"type": "boolean"
},
"link_attachment": {
"type": "string",
"maxLength": 2048
},
"poll_attachment": {
"type": "object",
"properties": {
"option_a": {
"$ref": "#/$defs/s4"
},
"option_b": {
"$ref": "#/$defs/s4"
},
"option_c": {
"$ref": "#/$defs/s4"
},
"option_d": {
"$ref": "#/$defs/s4"
}
},
"required": [
"option_a",
"option_b"
],
"additionalProperties": false
},
"gif_attachment": {
"type": "object",
"properties": {
"gif_id": {
"$ref": "#/$defs/s2"
},
"provider": {
"type": "string",
"enum": [
"GIPHY"
]
}
},
"required": [
"gif_id",
"provider"
],
"additionalProperties": false
},
"text_attachment": {
"type": "object",
"properties": {
"plaintext": {
"type": "string",
"maxLength": 10000
},
"link_attachment_url": {
"type": "string",
"maxLength": 2048
},
"text_with_styling_info": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"offset": {
"$ref": "#/$defs/s3"
},
"length": {
"$ref": "#/$defs/s0"
},
"styling_info": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"bold",
"italic",
"highlight",
"underline",
"strikethrough"
]
}
}
},
"required": [
"offset",
"length",
"styling_info"
],
"additionalProperties": false
}
}
},
"required": [
"plaintext"
],
"additionalProperties": false
},
"topic_tag": {
"type": "string",
"maxLength": 50
},
"text_entities": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"entity_type": {
"type": "string",
"enum": [
"SPOILER",
"spoiler"
]
},
"offset": {
"$ref": "#/$defs/s3"
},
"length": {
"$ref": "#/$defs/s0"
}
},
"required": [
"entity_type",
"offset",
"length"
],
"additionalProperties": false
}
},
"is_spoiler_media": {
"type": "boolean"
},
"is_ghost_post": {
"type": "boolean"
},
"location_id": {
"$ref": "#/$defs/s2"
},
"allowlisted_country_codes": {
"minItems": 1,
"maxItems": 249,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"crossreshare_to_ig": {
"type": "boolean"
},
"crossreshare_to_ig_dark_mode": {
"type": "boolean"
},
"auto_publish_text": {
"type": "boolean"
},
"media_options": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"asset_id": {
"$ref": "#/$defs/s0"
},
"alt_text": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"is_spoiler_media": {
"type": "boolean"
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"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": [
"workspace_id",
"mutation_id",
"brief_id",
"brief_revision",
"variant_id",
"variant_revision",
"content"
],
"additionalProperties": false,
"$defs": {
"s0": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"s1": {
"type": "string",
"format": "uuid"
},
"s2": {
"type": "string",
"maxLength": 128
},
"s3": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"s4": {
"type": "string",
"maxLength": 25
}
}
}結構化輸出
此 schema 描述成功工具結果的 structuredContent。MCP envelope 亦包括 content,失敗時可能設定 isError;請勿將文字收據或已接受的請求視為平台終態。權限及重試規則請參閱對應的 API 操作。
必填表示在所屬物件及所選分支內必須提供;子欄位必填不代表可選的父物件亦變成必填。以下欄位名稱及規則直接來自 contract。
| 欄位/分支 | 類型/必填 | 限制 |
|---|---|---|
$ | object父物件內必填 |
|
handoff | object父物件內必填 |
|
handoff.id | string父物件內必填 |
|
handoff.workspace_id | string父物件內必填 |
|
handoff.mutation_id | string父物件內必填 |
|
handoff.brief_id | string父物件內必填 |
|
handoff.brief_revision | integer父物件內必填 |
|
handoff.variant | object父物件內必填 |
|
handoff.variant.id | string父物件內必填 |
|
handoff.variant.revision | integer父物件內必填 |
|
handoff.variant.locale | string父物件內必填 |
|
handoff.draft_id | string | null父物件內必填 | — |
handoff.draft_idanyOf 1 | string父物件內必填 |
|
handoff.draft_idanyOf 2 | null父物件內必填 | — |
handoff.draft_revision | integer父物件內必填 |
|
handoff.created_at | string父物件內必填 |
|
handoff.evidence | array父物件內必填 |
|
handoff.evidence[] | object可選/陣列項目 |
|
handoff.evidence[].evidence_id | string父物件內必填 |
|
handoff.evidence[].revision | integer父物件內必填 |
|
handoff.locked_finding_ids | array父物件內必填 |
|
handoff.locked_finding_ids[] | string可選/陣列項目 |
|
handoff.availability | string父物件內必填 |
|
handoff.reasons | array父物件內必填 |
|
handoff.reasons[] | string可選/陣列項目 |
|
handoff.method | string父物件內必填 |
|
draft | object | null父物件內必填 | — |
draftanyOf 1 | object父物件內必填 |
|
draft.idanyOf 1 | string父物件內必填 |
|
draft.workspace_idanyOf 1 | string父物件內必填 |
|
draft.revisionanyOf 1 | integer父物件內必填 |
|
draft.stateanyOf 1 | string父物件內必填 |
|
draft.contentanyOf 1 | object父物件內必填 |
|
draft.content.schemaVersionanyOf 1 | number父物件內必填 |
|
draft.content.accountIdsanyOf 1 | array父物件內必填 |
|
draft.content.accountIds[]anyOf 1 | string可選/陣列項目 |
|
draft.content.captionanyOf 1 | string父物件內必填 |
|
draft.content.hashtagsanyOf 1 | string父物件內必填 |
|
draft.content.assetIdsanyOf 1 | array父物件內必填 |
|
draft.content.assetIds[]anyOf 1 | string可選/陣列項目 |
|
draft.content.threadsTextOnlyanyOf 1 | boolean父物件內必填 |
|
draft.content.threadsOptionsanyOf 1 | object可選/陣列項目 |
|
draft.content.threadsOptions.post_typeanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.reply_to_idanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.quote_post_idanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.repost_target_idanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.reply_controlanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.enable_reply_approvalsanyOf 1 | boolean可選/陣列項目 | — |
draft.content.threadsOptions.link_attachmentanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.poll_attachmentanyOf 1 | object可選/陣列項目 |
|
draft.content.threadsOptions.poll_attachment.option_aanyOf 1 | string父物件內必填 |
|
draft.content.threadsOptions.poll_attachment.option_banyOf 1 | string父物件內必填 |
|
draft.content.threadsOptions.poll_attachment.option_canyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.poll_attachment.option_danyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.gif_attachmentanyOf 1 | object可選/陣列項目 |
|
draft.content.threadsOptions.gif_attachment.gif_idanyOf 1 | string父物件內必填 |
|
draft.content.threadsOptions.gif_attachment.provideranyOf 1 | string父物件內必填 |
|
draft.content.threadsOptions.text_attachmentanyOf 1 | object可選/陣列項目 |
|
draft.content.threadsOptions.text_attachment.plaintextanyOf 1 | string父物件內必填 |
|
draft.content.threadsOptions.text_attachment.link_attachment_urlanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.text_attachment.text_with_styling_infoanyOf 1 | array可選/陣列項目 |
|
draft.content.threadsOptions.text_attachment.text_with_styling_info[]anyOf 1 | object可選/陣列項目 |
|
draft.content.threadsOptions.text_attachment.text_with_styling_info[].offsetanyOf 1 | integer父物件內必填 |
|
draft.content.threadsOptions.text_attachment.text_with_styling_info[].lengthanyOf 1 | integer父物件內必填 |
|
draft.content.threadsOptions.text_attachment.text_with_styling_info[].styling_infoanyOf 1 | array父物件內必填 |
|
draft.content.threadsOptions.text_attachment.text_with_styling_info[].styling_info[]anyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.topic_taganyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.text_entitiesanyOf 1 | array可選/陣列項目 |
|
draft.content.threadsOptions.text_entities[]anyOf 1 | object可選/陣列項目 |
|
draft.content.threadsOptions.text_entities[].entity_typeanyOf 1 | string父物件內必填 |
|
draft.content.threadsOptions.text_entities[].offsetanyOf 1 | integer父物件內必填 |
|
draft.content.threadsOptions.text_entities[].lengthanyOf 1 | integer父物件內必填 |
|
draft.content.threadsOptions.is_spoiler_mediaanyOf 1 | boolean可選/陣列項目 | — |
draft.content.threadsOptions.is_ghost_postanyOf 1 | boolean可選/陣列項目 | — |
draft.content.threadsOptions.location_idanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.allowlisted_country_codesanyOf 1 | array可選/陣列項目 |
|
draft.content.threadsOptions.allowlisted_country_codes[]anyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.crossreshare_to_iganyOf 1 | boolean可選/陣列項目 | — |
draft.content.threadsOptions.crossreshare_to_ig_dark_modeanyOf 1 | boolean可選/陣列項目 | — |
draft.content.threadsOptions.auto_publish_textanyOf 1 | boolean可選/陣列項目 | — |
draft.content.threadsOptions.media_optionsanyOf 1 | array可選/陣列項目 |
|
draft.content.threadsOptions.media_options[]anyOf 1 | object可選/陣列項目 |
|
draft.content.threadsOptions.media_options[].asset_idanyOf 1 | integer父物件內必填 |
|
draft.content.threadsOptions.media_options[].alt_textanyOf 1 | string可選/陣列項目 |
|
draft.content.threadsOptions.media_options[].is_spoiler_mediaanyOf 1 | boolean可選/陣列項目 | — |
draft.content.instagramModeanyOf 1 | string父物件內必填 |
|
draft.content.youtubeTitleanyOf 1 | string父物件內必填 |
|
draft.content.youtubePrivacyanyOf 1 | string父物件內必填 |
|
draft.content.youtubeSyntheticanyOf 1 | boolean父物件內必填 |
|
draft.content.youtubeCategoryIdanyOf 1 | string父物件內必填 |
|
draft.content.youtubeShortanyOf 1 | boolean父物件內必填 |
|
draft.content.linkUrlanyOf 1 | string父物件內必填 |
|
draft.content.scheduledAtanyOf 1 | string父物件內必填 |
|
draft.content.displayTimezoneanyOf 1 | string父物件內必填 |
|
draft.content.publishNowanyOf 1 | boolean父物件內必填 |
|
draft.content.destinationOverridesanyOf 1 | object父物件內必填 |
|
draft.content.destinationOverrides.*anyOf 1 | object可選/陣列項目 |
|
draft.content.destinationOverrides.*.captionanyOf 1 | string可選/陣列項目 |
|
draft.content.destinationOverrides.*.scheduledAtanyOf 1 | string可選/陣列項目 |
|
draft.content.expiresAtanyOf 1 | string父物件內必填 |
|
draft.created_byanyOf 1 | string | null父物件內必填 | — |
draft.created_byanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.created_byanyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.updated_byanyOf 1 | string | null父物件內必填 | — |
draft.updated_byanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.updated_byanyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.created_atanyOf 1 | string父物件內必填 |
|
draft.updated_atanyOf 1 | string父物件內必填 |
|
draft.submissionanyOf 1 | object | null父物件內必填 | — |
draft.submissionanyOf 1 / anyOf 1 | object父物件內必填 |
|
draft.submission.idanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.submission.expected_revisionanyOf 1 / anyOf 1 | integer父物件內必填 |
|
draft.submission.started_atanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.submission.receiptanyOf 1 / anyOf 1 | object | null父物件內必填 | — |
draft.submission.receiptanyOf 1 / anyOf 1 / anyOf 1 | object父物件內必填 |
|
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1 | string | null父物件內必填 | — |
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.submission.receipt.successesanyOf 1 / anyOf 1 / anyOf 1 | array父物件內必填 |
|
draft.submission.receipt.successes[]anyOf 1 / anyOf 1 / anyOf 1 | object可選/陣列項目 |
|
draft.submission.receipt.successes[].social_account_idanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.submission.receipt.successes[].post_idanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.submission.receipt.failuresanyOf 1 / anyOf 1 / anyOf 1 | array父物件內必填 |
|
draft.submission.receipt.failures[]anyOf 1 / anyOf 1 / anyOf 1 | object可選/陣列項目 |
|
draft.submission.receipt.failures[].social_account_idanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.submission.receipt.failures[].codeanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.submission.receipt.failures[].messageanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.submission.receiptanyOf 1 / anyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.submissionanyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.brand_contextanyOf 1 | object | null可選/陣列項目 | — |
draft.brand_contextanyOf 1 / anyOf 1 | object可選/陣列項目 |
|
draft.brand_context.workspace_idanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.selectionanyOf 1 / anyOf 1 | object父物件內必填 |
|
draft.brand_context.selection.profile_idanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.selection.version_idanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.selection.revisionanyOf 1 / anyOf 1 | integer父物件內必填 |
|
draft.brand_context.selection.content_digestanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.selection.context_digestanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.availabilityanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.profile_stateanyOf 1 / anyOf 1 | string | null父物件內必填 | — |
draft.brand_context.profile_stateanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.profile_stateanyOf 1 / anyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.brand_context.contentanyOf 1 / anyOf 1 | object | null父物件內必填 | — |
draft.brand_context.contentanyOf 1 / anyOf 1 / anyOf 1 | object父物件內必填 |
|
draft.brand_context.content.nameanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.content.audienceanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.content.voiceanyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.content.languageanyOf 1 / anyOf 1 / anyOf 1 | string | null父物件內必填 | — |
draft.brand_context.content.languageanyOf 1 / anyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.content.languageanyOf 1 / anyOf 1 / anyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.brand_context.content.preferred_termsanyOf 1 / anyOf 1 / anyOf 1 | array父物件內必填 |
|
draft.brand_context.content.preferred_terms[]anyOf 1 / anyOf 1 / anyOf 1 | string可選/陣列項目 |
|
draft.brand_context.content.prohibited_termsanyOf 1 / anyOf 1 / anyOf 1 | array父物件內必填 |
|
draft.brand_context.content.prohibited_terms[]anyOf 1 / anyOf 1 / anyOf 1 | string可選/陣列項目 |
|
draft.brand_context.content.locked_factsanyOf 1 / anyOf 1 / anyOf 1 | array父物件內必填 |
|
draft.brand_context.content.locked_facts[]anyOf 1 / anyOf 1 / anyOf 1 | string可選/陣列項目 |
|
draft.brand_context.content.call_to_actionanyOf 1 / anyOf 1 / anyOf 1 | string | null父物件內必填 | — |
draft.brand_context.content.call_to_actionanyOf 1 / anyOf 1 / anyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.content.call_to_actionanyOf 1 / anyOf 1 / anyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.brand_context.contentanyOf 1 / anyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.brand_context.sourcesanyOf 1 / anyOf 1 | object父物件內必填 |
|
draft.brand_context.sources.websiteanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.sources.logoanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_context.sources.own_postsanyOf 1 / anyOf 1 | object父物件內必填 |
|
draft.brand_context.sources.own_posts.selectedanyOf 1 / anyOf 1 | integer父物件內必填 |
|
draft.brand_context.sources.own_posts.availableanyOf 1 / anyOf 1 | integer父物件內必填 |
|
draft.brand_context.sources.own_posts.unavailableanyOf 1 / anyOf 1 | integer父物件內必填 |
|
draft.brand_context.sources.own_posts.erasedanyOf 1 / anyOf 1 | integer父物件內必填 |
|
draft.brand_contextanyOf 1 / anyOf 2 | null可選/陣列項目 | — |
draft.brand_reviewanyOf 1 | object | null可選/陣列項目 | — |
draft.brand_reviewanyOf 1 / anyOf 1 | object可選/陣列項目 |
|
draft.brand_review.rule_versionanyOf 1 / anyOf 1 | number父物件內必填 |
|
draft.brand_review.context_digestanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_review.content_digestanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_review.statusanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_review.issuesanyOf 1 / anyOf 1 | array父物件內必填 |
|
draft.brand_review.issues[]anyOf 1 / anyOf 1 | object可選/陣列項目 |
|
draft.brand_review.issues[].codeanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_review.issues[].targetanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_review.issues[].rule_indexanyOf 1 / anyOf 1 | integer | null父物件內必填 | — |
draft.brand_review.issues[].rule_indexanyOf 1 / anyOf 1 / anyOf 1 | integer父物件內必填 |
|
draft.brand_review.issues[].rule_indexanyOf 1 / anyOf 1 / anyOf 2 | null父物件內必填 | — |
draft.brand_review.issues[].messageanyOf 1 / anyOf 1 | string父物件內必填 |
|
draft.brand_reviewanyOf 1 / anyOf 2 | null可選/陣列項目 | — |
draftanyOf 2 | null父物件內必填 | — |
完整 JSON Schema
{
"type": "object",
"properties": {
"handoff": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"workspace_id": {
"type": "string",
"format": "uuid"
},
"mutation_id": {
"type": "string",
"format": "uuid"
},
"brief_id": {
"type": "string",
"format": "uuid"
},
"brief_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"variant": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"locale": {
"type": "string",
"enum": [
"en",
"zh-HK"
]
}
},
"required": [
"id",
"revision",
"locale"
],
"additionalProperties": false
},
"draft_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"draft_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"created_at": {
"type": "string",
"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)))$",
"format": "date-time"
},
"evidence": {
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"evidence_id": {
"type": "string",
"format": "uuid"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"evidence_id",
"revision"
],
"additionalProperties": false
}
},
"locked_finding_ids": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"availability": {
"type": "string",
"enum": [
"available",
"stale",
"unavailable"
]
},
"reasons": {
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"source_unavailable",
"source_changed",
"brief_changed",
"variant_changed",
"draft_changed",
"draft_unavailable",
"not_reviewed"
]
}
},
"method": {
"type": "string",
"const": "reviewed_manual_handoff/v1"
}
},
"required": [
"id",
"workspace_id",
"mutation_id",
"brief_id",
"brief_revision",
"variant",
"draft_id",
"draft_revision",
"created_at",
"evidence",
"locked_finding_ids",
"availability",
"reasons",
"method"
],
"additionalProperties": false
},
"draft": {
"anyOf": [
{
"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"
},
"threadsOptions": {
"type": "object",
"properties": {
"post_type": {
"type": "string",
"enum": [
"TEXT",
"IMAGE",
"VIDEO",
"CAROUSEL",
"REPOST"
]
},
"reply_to_id": {
"type": "string",
"maxLength": 128
},
"quote_post_id": {
"type": "string",
"maxLength": 128
},
"repost_target_id": {
"type": "string",
"maxLength": 128
},
"reply_control": {
"type": "string",
"enum": [
"everyone",
"accounts_you_follow",
"mentioned_only",
"parent_post_author_only",
"followers_only"
]
},
"enable_reply_approvals": {
"type": "boolean"
},
"link_attachment": {
"type": "string",
"maxLength": 2048
},
"poll_attachment": {
"type": "object",
"properties": {
"option_a": {
"type": "string",
"maxLength": 25
},
"option_b": {
"type": "string",
"maxLength": 25
},
"option_c": {
"type": "string",
"maxLength": 25
},
"option_d": {
"type": "string",
"maxLength": 25
}
},
"required": [
"option_a",
"option_b"
],
"additionalProperties": false
},
"gif_attachment": {
"type": "object",
"properties": {
"gif_id": {
"type": "string",
"maxLength": 128
},
"provider": {
"type": "string",
"const": "GIPHY"
}
},
"required": [
"gif_id",
"provider"
],
"additionalProperties": false
},
"text_attachment": {
"type": "object",
"properties": {
"plaintext": {
"type": "string",
"maxLength": 10000
},
"link_attachment_url": {
"type": "string",
"maxLength": 2048
},
"text_with_styling_info": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"length": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"styling_info": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"bold",
"italic",
"highlight",
"underline",
"strikethrough"
]
}
}
},
"required": [
"offset",
"length",
"styling_info"
],
"additionalProperties": false
}
}
},
"required": [
"plaintext"
],
"additionalProperties": false
},
"topic_tag": {
"type": "string",
"maxLength": 50
},
"text_entities": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"entity_type": {
"type": "string",
"enum": [
"SPOILER",
"spoiler"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"length": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"entity_type",
"offset",
"length"
],
"additionalProperties": false
}
},
"is_spoiler_media": {
"type": "boolean"
},
"is_ghost_post": {
"type": "boolean"
},
"location_id": {
"type": "string",
"maxLength": 128
},
"allowlisted_country_codes": {
"minItems": 1,
"maxItems": 249,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"crossreshare_to_ig": {
"type": "boolean"
},
"crossreshare_to_ig_dark_mode": {
"type": "boolean"
},
"auto_publish_text": {
"type": "boolean"
},
"media_options": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"asset_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"alt_text": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"is_spoiler_media": {
"type": "boolean"
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"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",
"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)))$",
"format": "date-time"
},
"updated_at": {
"type": "string",
"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)))$",
"format": "date-time"
},
"submission": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"expected_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"started_at": {
"type": "string",
"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)))$",
"format": "date-time"
},
"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"
}
]
},
"brand_context": {
"anyOf": [
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid"
},
"selection": {
"type": "object",
"properties": {
"profile_id": {
"type": "string",
"format": "uuid"
},
"version_id": {
"type": "string",
"format": "uuid"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"content_digest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"context_digest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"profile_id",
"version_id",
"revision",
"content_digest",
"context_digest"
],
"additionalProperties": false
},
"availability": {
"type": "string",
"enum": [
"available",
"missing"
]
},
"profile_state": {
"anyOf": [
{
"type": "string",
"enum": [
"active",
"archived"
]
},
{
"type": "null"
}
]
},
"content": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 120
},
"audience": {
"type": "string",
"maxLength": 2000
},
"voice": {
"type": "string",
"maxLength": 2000
},
"language": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "null"
}
]
},
"preferred_terms": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"prohibited_terms": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"locked_facts": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"call_to_action": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"audience",
"voice",
"language",
"preferred_terms",
"prohibited_terms",
"locked_facts",
"call_to_action"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"sources": {
"type": "object",
"properties": {
"website": {
"type": "string",
"enum": [
"available",
"not_available"
]
},
"logo": {
"type": "string",
"enum": [
"none",
"present",
"missing"
]
},
"own_posts": {
"type": "object",
"properties": {
"selected": {
"type": "integer",
"minimum": 0,
"maximum": 10
},
"available": {
"type": "integer",
"minimum": 0,
"maximum": 10
},
"unavailable": {
"type": "integer",
"minimum": 0,
"maximum": 10
},
"erased": {
"type": "integer",
"minimum": 0,
"maximum": 10
}
},
"required": [
"selected",
"available",
"unavailable",
"erased"
],
"additionalProperties": false
}
},
"required": [
"website",
"logo",
"own_posts"
],
"additionalProperties": false
}
},
"required": [
"workspace_id",
"selection",
"availability",
"profile_state",
"content",
"sources"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"brand_review": {
"anyOf": [
{
"type": "object",
"properties": {
"rule_version": {
"type": "number",
"const": 1
},
"context_digest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"content_digest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"status": {
"type": "string",
"enum": [
"clear",
"attention",
"unavailable"
]
},
"issues": {
"maxItems": 5151,
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"prohibited_term",
"locked_fact_missing",
"conflicting_rule",
"context_unavailable"
]
},
"target": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"rule_index": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 49
},
{
"type": "null"
}
]
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 240
}
},
"required": [
"code",
"target",
"rule_index",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"rule_version",
"context_digest",
"content_digest",
"status",
"issues"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"workspace_id",
"revision",
"state",
"content",
"created_by",
"updated_by",
"created_at",
"updated_at",
"submission"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"handoff",
"draft"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}工具呼叫範例
以下虛構值已按 contract 驗證,並非真實帳戶 ID、憑證或發佈紀錄。請以已授權範圍回傳的 ID、已準備完成的素材及已審核排程取代,並在寫入前核對平台資格。此頁不會呼叫 API。
{
"name": "sosoapi_research_briefs_handoff",
"arguments": {
"workspace_id": "11111111-1111-4111-8111-111111111111",
"mutation_id": "11111111-1111-4111-8111-111111111111",
"brief_id": "11111111-1111-4111-8111-111111111111",
"brief_revision": 1,
"variant_id": "11111111-1111-4111-8111-111111111111",
"variant_revision": 1,
"content": {}
}
}structuredContent
{
"handoff": {
"id": "11111111-1111-4111-8111-111111111111",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"mutation_id": "11111111-1111-4111-8111-111111111111",
"brief_id": "11111111-1111-4111-8111-111111111111",
"brief_revision": 1,
"variant": {
"id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"locale": "en"
},
"draft_id": null,
"draft_revision": 1,
"created_at": "2099-01-15T09:00:00Z",
"evidence": [],
"locked_finding_ids": [],
"availability": "available",
"reasons": [],
"method": "reviewed_manual_handoff/v1"
},
"draft": null
}