隐私偏好

必要功能

用于安全验证和网站基本功能。

始终启用

可选的使用分析

允许 PostHog 用量分析吗?可随时在页脚更改选择。

同时允许在此公开网站上录制会话回放

回放显示公开页面和交互,输入内容及私密内容会被遮蔽。App 回放需要另行选择。

需先开启分析;网站操作回放默认关闭。

浏览器分析选择不会开启账户分析。

仅在使用时加载搜索。在下方浏览所有类别。

研究及附来源简报

从已审阅的研究版本建立编辑 Draft

从已审阅版本建立未排期的正式 Draft;还需要 agent:operate。不会提交或发布。需要 agent:research。

POST /research-api/briefs/handoff

契约审核日期: · sha256:ab393e91e9b7f18a

概览

从已审阅版本建立未排期的正式 Draft;还需要 agent:operate。不会提交或发布。需要 agent:research。

成功 HTTP 响应可能表示请求已接受,并非已完成。背景工作请存储返回 ID,持续检查同一操作直到完成。已排程或已接受的帖子,只有平台确认后才算已发布;客户端逾时无法证明结果。

验证与权限

接受的凭证类别
user_session, delegated_oauth, personal_access_token
委派能力
agent:research
最低工作区角色
editor
访问范围
此用户有权访问的资源
需要所有工作区同意
否
变更状态
是
操作完成时
one committed canonical unscheduled Content Draft plus private source provenance; never submission/publication

令牌只能使用其所有者持有的权利。每次请求会检查工作区成员资格、资源拥有权、所选工作区及已授予能力。core 与 full 配置只变更显示的工具,不会授予访问权限。

请求字段

「必填」是指在其父对象及所选分支内必填。必填子字段不会使可选父对象变成必填。下列规则与字段名称均复制自契约。

请求字段
字段 / 分支类型 / 必填约束
$object在父对象中必填
  • additionalProperties: false
workspace_idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
mutation_idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
brief_idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
brief_revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
variant_idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
variant_revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
contentobject在父对象中必填
  • additionalProperties: false
content.schemaVersionnumber可选/项目
  • const: 1
  • default: 1
content.accountIdsarray可选/项目
  • maxItems: 50
  • default: []
content.accountIds[]string可选/项目
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
content.captionstring可选/项目
  • maxLength: 5000
  • default: ""
content.hashtagsstring可选/项目
  • maxLength: 5000
  • default: ""
content.assetIdsarray可选/项目
  • maxItems: 20
  • default: []
content.assetIds[]string可选/项目
  • maxLength: 16
  • pattern: "^[1-9][0-9]*$"
content.threadsTextOnlyboolean可选/项目
  • default: false
content.threadsOptionsobject可选/项目
  • additionalProperties: false
content.threadsOptions.post_typestring可选/项目
  • enum: ["TEXT","IMAGE","VIDEO","CAROUSEL","REPOST"]
content.threadsOptions.reply_to_idstring可选/项目
  • maxLength: 128
content.threadsOptions.quote_post_idstring可选/项目
  • maxLength: 128
content.threadsOptions.repost_target_idstring可选/项目
  • maxLength: 128
content.threadsOptions.reply_controlstring可选/项目
  • enum: ["everyone","accounts_you_follow","mentioned_only","parent_post_author_only","followers_only"]
content.threadsOptions.enable_reply_approvalsboolean可选/项目—
content.threadsOptions.link_attachmentstring可选/项目
  • maxLength: 2048
content.threadsOptions.poll_attachmentobject可选/项目
  • additionalProperties: false
content.threadsOptions.poll_attachment.option_astring在父对象中必填
  • maxLength: 25
content.threadsOptions.poll_attachment.option_bstring在父对象中必填
  • maxLength: 25
content.threadsOptions.poll_attachment.option_cstring可选/项目
  • maxLength: 25
content.threadsOptions.poll_attachment.option_dstring可选/项目
  • maxLength: 25
content.threadsOptions.gif_attachmentobject可选/项目
  • additionalProperties: false
content.threadsOptions.gif_attachment.gif_idstring在父对象中必填
  • maxLength: 128
content.threadsOptions.gif_attachment.providerstring在父对象中必填
  • const: "GIPHY"
content.threadsOptions.text_attachmentobject可选/项目
  • additionalProperties: false
content.threadsOptions.text_attachment.plaintextstring在父对象中必填
  • maxLength: 10000
content.threadsOptions.text_attachment.link_attachment_urlstring可选/项目
  • maxLength: 2048
content.threadsOptions.text_attachment.text_with_styling_infoarray可选/项目
  • maxItems: 100
content.threadsOptions.text_attachment.text_with_styling_info[]object可选/项目
  • additionalProperties: false
content.threadsOptions.text_attachment.text_with_styling_info[].offsetinteger在父对象中必填
  • minimum: 0
  • maximum: 9007199254740991
content.threadsOptions.text_attachment.text_with_styling_info[].lengthinteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
content.threadsOptions.text_attachment.text_with_styling_info[].styling_infoarray在父对象中必填
  • minItems: 1
content.threadsOptions.text_attachment.text_with_styling_info[].styling_info[]string可选/项目
  • enum: ["bold","italic","highlight","underline","strikethrough"]
content.threadsOptions.topic_tagstring可选/项目
  • maxLength: 50
content.threadsOptions.text_entitiesarray可选/项目
  • maxItems: 10
content.threadsOptions.text_entities[]object可选/项目
  • additionalProperties: false
content.threadsOptions.text_entities[].entity_typestring在父对象中必填
  • enum: ["SPOILER","spoiler"]
content.threadsOptions.text_entities[].offsetinteger在父对象中必填
  • minimum: 0
  • maximum: 9007199254740991
content.threadsOptions.text_entities[].lengthinteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
content.threadsOptions.is_spoiler_mediaboolean可选/项目—
content.threadsOptions.is_ghost_postboolean可选/项目—
content.threadsOptions.location_idstring可选/项目
  • maxLength: 128
content.threadsOptions.allowlisted_country_codesarray可选/项目
  • minItems: 1
  • maxItems: 249
content.threadsOptions.allowlisted_country_codes[]string可选/项目
  • pattern: "^[A-Z]{2}$"
content.threadsOptions.crossreshare_to_igboolean可选/项目—
content.threadsOptions.crossreshare_to_ig_dark_modeboolean可选/项目—
content.threadsOptions.auto_publish_textboolean可选/项目—
content.threadsOptions.media_optionsarray可选/项目
  • maxItems: 20
content.threadsOptions.media_options[]object可选/项目
  • additionalProperties: false
content.threadsOptions.media_options[].asset_idinteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
content.threadsOptions.media_options[].alt_textstring可选/项目
  • minLength: 1
  • maxLength: 1000
content.threadsOptions.media_options[].is_spoiler_mediaboolean可选/项目—
content.instagramModestring可选/项目
  • enum: ["IMAGE","REELS","CAROUSEL","STORY_IMAGE","STORY_VIDEO"]
  • default: "REELS"
content.youtubeTitlestring可选/项目
  • maxLength: 100
  • default: ""
content.youtubePrivacystring可选/项目
  • enum: ["private","unlisted","public"]
  • default: "private"
content.youtubeSyntheticboolean可选/项目
  • default: false
content.youtubeCategoryIdstring可选/项目
  • maxLength: 32
  • default: ""
content.youtubeShortboolean可选/项目
  • default: false
content.linkUrlstring可选/项目
  • maxLength: 2048
  • default: ""
content.scheduledAtstring可选/项目
  • maxLength: 64
  • default: ""
content.displayTimezonestring可选/项目
  • minLength: 1
  • maxLength: 128
  • default: "UTC"
content.publishNowboolean可选/项目
  • default: false
content.destinationOverridesobject可选/项目
  • default: {}
  • additionalProperties: {"type":"object","properties":{"caption":{"type":"string","maxLength":5000},"scheduledAt":{"type":"string","maxLength":64}},"additionalProperties":false}
content.destinationOverrides.*object可选/项目
  • additionalProperties: false
content.destinationOverrides.*.captionstring可选/项目
  • maxLength: 5000
content.destinationOverrides.*.scheduledAtstring可选/项目
  • maxLength: 64
content.expiresAtstring可选/项目
  • maxLength: 64
  • default: ""
完整 JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "mutation_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "brief_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "brief_revision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "variant_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "variant_revision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "content": {
      "type": "object",
      "properties": {
        "schemaVersion": {
          "default": 1,
          "type": "number",
          "const": 1
        },
        "accountIds": {
          "default": [],
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          }
        },
        "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",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "additionalProperties": {
            "type": "object",
            "properties": {
              "caption": {
                "type": "string",
                "maxLength": 5000
              },
              "scheduledAt": {
                "type": "string",
                "maxLength": 64
              }
            },
            "additionalProperties": false
          }
        },
        "expiresAt": {
          "default": "",
          "type": "string",
          "maxLength": 64
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "workspace_id",
    "mutation_id",
    "brief_id",
    "brief_revision",
    "variant_id",
    "variant_revision",
    "content"
  ],
  "additionalProperties": false
}

响应与完成

成功 HTTP 状态:200。操作完成时: one committed canonical unscheduled Content Draft plus private source provenance; never submission/publication.

成功 HTTP 响应可能表示请求已接受,并非已完成。背景工作请存储返回 ID,持续检查同一操作直到完成。已排程或已接受的帖子,只有平台确认后才算已发布;客户端逾时无法证明结果。

「必填」是指在其父对象及所选分支内必填。必填子字段不会使可选父对象变成必填。下列规则与字段名称均复制自契约。

响应与完成
字段 / 分支类型 / 必填约束
$object在父对象中必填—
handoffobject在父对象中必填—
handoff.idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
handoff.workspace_idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
handoff.mutation_idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
handoff.brief_idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
handoff.brief_revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
handoff.variantobject在父对象中必填—
handoff.variant.idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
handoff.variant.revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
handoff.variant.localestring在父对象中必填
  • enum: ["en","zh-HK"]
handoff.draft_idstring | null在父对象中必填—
handoff.draft_idanyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
handoff.draft_idanyOf 2null在父对象中必填—
handoff.draft_revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
handoff.created_atstring在父对象中必填
  • 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)))$"
handoff.evidencearray在父对象中必填
  • maxItems: 500
handoff.evidence[]object可选/项目—
handoff.evidence[].evidence_idstring在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
handoff.evidence[].revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
handoff.locked_finding_idsarray在父对象中必填
  • maxItems: 100
handoff.locked_finding_ids[]string可选/项目
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
handoff.availabilitystring在父对象中必填
  • enum: ["available","stale","unavailable"]
handoff.reasonsarray在父对象中必填
  • maxItems: 6
handoff.reasons[]string可选/项目
  • enum: ["source_unavailable","source_changed","brief_changed","variant_changed","draft_changed","draft_unavailable","not_reviewed"]
handoff.methodstring在父对象中必填
  • const: "reviewed_manual_handoff/v1"
draftobject | null在父对象中必填—
draftanyOf 1object在父对象中必填—
draft.idanyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.workspace_idanyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.revisionanyOf 1integer在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.stateanyOf 1string在父对象中必填
  • enum: ["draft","submitting","submitted"]
draft.contentanyOf 1object在父对象中必填—
draft.content.schemaVersionanyOf 1number在父对象中必填
  • const: 1
  • default: 1
draft.content.accountIdsanyOf 1array在父对象中必填
  • maxItems: 50
  • default: []
draft.content.accountIds[]anyOf 1string可选/项目
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.content.captionanyOf 1string在父对象中必填
  • maxLength: 5000
  • default: ""
draft.content.hashtagsanyOf 1string在父对象中必填
  • maxLength: 5000
  • default: ""
draft.content.assetIdsanyOf 1array在父对象中必填
  • maxItems: 20
  • default: []
draft.content.assetIds[]anyOf 1string可选/项目
  • maxLength: 16
  • pattern: "^[1-9][0-9]*$"
draft.content.threadsTextOnlyanyOf 1boolean在父对象中必填
  • default: false
draft.content.threadsOptionsanyOf 1object可选/项目—
draft.content.threadsOptions.post_typeanyOf 1string可选/项目
  • enum: ["TEXT","IMAGE","VIDEO","CAROUSEL","REPOST"]
draft.content.threadsOptions.reply_to_idanyOf 1string可选/项目
  • maxLength: 128
draft.content.threadsOptions.quote_post_idanyOf 1string可选/项目
  • maxLength: 128
draft.content.threadsOptions.repost_target_idanyOf 1string可选/项目
  • maxLength: 128
draft.content.threadsOptions.reply_controlanyOf 1string可选/项目
  • enum: ["everyone","accounts_you_follow","mentioned_only","parent_post_author_only","followers_only"]
draft.content.threadsOptions.enable_reply_approvalsanyOf 1boolean可选/项目—
draft.content.threadsOptions.link_attachmentanyOf 1string可选/项目
  • maxLength: 2048
draft.content.threadsOptions.poll_attachmentanyOf 1object可选/项目—
draft.content.threadsOptions.poll_attachment.option_aanyOf 1string在父对象中必填
  • maxLength: 25
draft.content.threadsOptions.poll_attachment.option_banyOf 1string在父对象中必填
  • maxLength: 25
draft.content.threadsOptions.poll_attachment.option_canyOf 1string可选/项目
  • maxLength: 25
draft.content.threadsOptions.poll_attachment.option_danyOf 1string可选/项目
  • maxLength: 25
draft.content.threadsOptions.gif_attachmentanyOf 1object可选/项目—
draft.content.threadsOptions.gif_attachment.gif_idanyOf 1string在父对象中必填
  • maxLength: 128
draft.content.threadsOptions.gif_attachment.provideranyOf 1string在父对象中必填
  • const: "GIPHY"
draft.content.threadsOptions.text_attachmentanyOf 1object可选/项目—
draft.content.threadsOptions.text_attachment.plaintextanyOf 1string在父对象中必填
  • maxLength: 10000
draft.content.threadsOptions.text_attachment.link_attachment_urlanyOf 1string可选/项目
  • maxLength: 2048
draft.content.threadsOptions.text_attachment.text_with_styling_infoanyOf 1array可选/项目
  • maxItems: 100
draft.content.threadsOptions.text_attachment.text_with_styling_info[]anyOf 1object可选/项目—
draft.content.threadsOptions.text_attachment.text_with_styling_info[].offsetanyOf 1integer在父对象中必填
  • minimum: 0
  • maximum: 9007199254740991
draft.content.threadsOptions.text_attachment.text_with_styling_info[].lengthanyOf 1integer在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.content.threadsOptions.text_attachment.text_with_styling_info[].styling_infoanyOf 1array在父对象中必填
  • minItems: 1
draft.content.threadsOptions.text_attachment.text_with_styling_info[].styling_info[]anyOf 1string可选/项目
  • enum: ["bold","italic","highlight","underline","strikethrough"]
draft.content.threadsOptions.topic_taganyOf 1string可选/项目
  • maxLength: 50
draft.content.threadsOptions.text_entitiesanyOf 1array可选/项目
  • maxItems: 10
draft.content.threadsOptions.text_entities[]anyOf 1object可选/项目—
draft.content.threadsOptions.text_entities[].entity_typeanyOf 1string在父对象中必填
  • enum: ["SPOILER","spoiler"]
draft.content.threadsOptions.text_entities[].offsetanyOf 1integer在父对象中必填
  • minimum: 0
  • maximum: 9007199254740991
draft.content.threadsOptions.text_entities[].lengthanyOf 1integer在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.content.threadsOptions.is_spoiler_mediaanyOf 1boolean可选/项目—
draft.content.threadsOptions.is_ghost_postanyOf 1boolean可选/项目—
draft.content.threadsOptions.location_idanyOf 1string可选/项目
  • maxLength: 128
draft.content.threadsOptions.allowlisted_country_codesanyOf 1array可选/项目
  • minItems: 1
  • maxItems: 249
draft.content.threadsOptions.allowlisted_country_codes[]anyOf 1string可选/项目
  • pattern: "^[A-Z]{2}$"
draft.content.threadsOptions.crossreshare_to_iganyOf 1boolean可选/项目—
draft.content.threadsOptions.crossreshare_to_ig_dark_modeanyOf 1boolean可选/项目—
draft.content.threadsOptions.auto_publish_textanyOf 1boolean可选/项目—
draft.content.threadsOptions.media_optionsanyOf 1array可选/项目
  • maxItems: 20
draft.content.threadsOptions.media_options[]anyOf 1object可选/项目—
draft.content.threadsOptions.media_options[].asset_idanyOf 1integer在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.content.threadsOptions.media_options[].alt_textanyOf 1string可选/项目
  • minLength: 1
  • maxLength: 1000
draft.content.threadsOptions.media_options[].is_spoiler_mediaanyOf 1boolean可选/项目—
draft.content.instagramModeanyOf 1string在父对象中必填
  • enum: ["IMAGE","REELS","CAROUSEL","STORY_IMAGE","STORY_VIDEO"]
  • default: "REELS"
draft.content.youtubeTitleanyOf 1string在父对象中必填
  • maxLength: 100
  • default: ""
draft.content.youtubePrivacyanyOf 1string在父对象中必填
  • enum: ["private","unlisted","public"]
  • default: "private"
draft.content.youtubeSyntheticanyOf 1boolean在父对象中必填
  • default: false
draft.content.youtubeCategoryIdanyOf 1string在父对象中必填
  • maxLength: 32
  • default: ""
draft.content.youtubeShortanyOf 1boolean在父对象中必填
  • default: false
draft.content.linkUrlanyOf 1string在父对象中必填
  • maxLength: 2048
  • default: ""
draft.content.scheduledAtanyOf 1string在父对象中必填
  • maxLength: 64
  • default: ""
draft.content.displayTimezoneanyOf 1string在父对象中必填
  • minLength: 1
  • maxLength: 128
  • default: "UTC"
draft.content.publishNowanyOf 1boolean在父对象中必填
  • default: false
draft.content.destinationOverridesanyOf 1object在父对象中必填
  • default: {}
  • additionalProperties: {"type":"object","properties":{"caption":{"type":"string","maxLength":5000},"scheduledAt":{"type":"string","maxLength":64}}}
draft.content.destinationOverrides.*anyOf 1object可选/项目—
draft.content.destinationOverrides.*.captionanyOf 1string可选/项目
  • maxLength: 5000
draft.content.destinationOverrides.*.scheduledAtanyOf 1string可选/项目
  • maxLength: 64
draft.content.expiresAtanyOf 1string在父对象中必填
  • maxLength: 64
  • default: ""
draft.created_byanyOf 1string | null在父对象中必填—
draft.created_byanyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.created_byanyOf 1 / anyOf 2null在父对象中必填—
draft.updated_byanyOf 1string | null在父对象中必填—
draft.updated_byanyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.updated_byanyOf 1 / anyOf 2null在父对象中必填—
draft.created_atanyOf 1string在父对象中必填
  • 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)))$"
draft.updated_atanyOf 1string在父对象中必填
  • 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)))$"
draft.submissionanyOf 1object | null在父对象中必填—
draft.submissionanyOf 1 / anyOf 1object在父对象中必填—
draft.submission.idanyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.submission.expected_revisionanyOf 1 / anyOf 1integer在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.submission.started_atanyOf 1 / anyOf 1string在父对象中必填
  • 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)))$"
draft.submission.receiptanyOf 1 / anyOf 1object | null在父对象中必填—
draft.submission.receiptanyOf 1 / anyOf 1 / anyOf 1object在父对象中必填—
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1string | null在父对象中必填—
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1 / anyOf 2null在父对象中必填—
draft.submission.receipt.successesanyOf 1 / anyOf 1 / anyOf 1array在父对象中必填
  • maxItems: 50
draft.submission.receipt.successes[]anyOf 1 / anyOf 1 / anyOf 1object可选/项目—
draft.submission.receipt.successes[].social_account_idanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.submission.receipt.successes[].post_idanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • 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}$"
draft.submission.receipt.failuresanyOf 1 / anyOf 1 / anyOf 1array在父对象中必填
  • maxItems: 50
draft.submission.receipt.failures[]anyOf 1 / anyOf 1 / anyOf 1object可选/项目—
draft.submission.receipt.failures[].social_account_idanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.submission.receipt.failures[].codeanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • minLength: 1
  • maxLength: 160
draft.submission.receipt.failures[].messageanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • maxLength: 2000
draft.submission.receiptanyOf 1 / anyOf 1 / anyOf 2null在父对象中必填—
draft.submissionanyOf 1 / anyOf 2null在父对象中必填—
draft.brand_contextanyOf 1object | null可选/项目—
draft.brand_contextanyOf 1 / anyOf 1object可选/项目—
draft.brand_context.workspace_idanyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.brand_context.selectionanyOf 1 / anyOf 1object在父对象中必填—
draft.brand_context.selection.profile_idanyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.brand_context.selection.version_idanyOf 1 / anyOf 1string在父对象中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
draft.brand_context.selection.revisionanyOf 1 / anyOf 1integer在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.brand_context.selection.content_digestanyOf 1 / anyOf 1string在父对象中必填
  • pattern: "^[a-f0-9]{64}$"
draft.brand_context.selection.context_digestanyOf 1 / anyOf 1string在父对象中必填
  • pattern: "^[a-f0-9]{64}$"
draft.brand_context.availabilityanyOf 1 / anyOf 1string在父对象中必填
  • enum: ["available","missing"]
draft.brand_context.profile_stateanyOf 1 / anyOf 1string | null在父对象中必填—
draft.brand_context.profile_stateanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • enum: ["active","archived"]
draft.brand_context.profile_stateanyOf 1 / anyOf 1 / anyOf 2null在父对象中必填—
draft.brand_context.contentanyOf 1 / anyOf 1object | null在父对象中必填—
draft.brand_context.contentanyOf 1 / anyOf 1 / anyOf 1object在父对象中必填—
draft.brand_context.content.nameanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • maxLength: 120
draft.brand_context.content.audienceanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • maxLength: 2000
draft.brand_context.content.voiceanyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • maxLength: 2000
draft.brand_context.content.languageanyOf 1 / anyOf 1 / anyOf 1string | null在父对象中必填—
draft.brand_context.content.languageanyOf 1 / anyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • minLength: 1
  • maxLength: 64
draft.brand_context.content.languageanyOf 1 / anyOf 1 / anyOf 1 / anyOf 2null在父对象中必填—
draft.brand_context.content.preferred_termsanyOf 1 / anyOf 1 / anyOf 1array在父对象中必填
  • maxItems: 50
draft.brand_context.content.preferred_terms[]anyOf 1 / anyOf 1 / anyOf 1string可选/项目
  • minLength: 1
  • maxLength: 120
draft.brand_context.content.prohibited_termsanyOf 1 / anyOf 1 / anyOf 1array在父对象中必填
  • maxItems: 50
draft.brand_context.content.prohibited_terms[]anyOf 1 / anyOf 1 / anyOf 1string可选/项目
  • minLength: 1
  • maxLength: 120
draft.brand_context.content.locked_factsanyOf 1 / anyOf 1 / anyOf 1array在父对象中必填
  • maxItems: 50
draft.brand_context.content.locked_facts[]anyOf 1 / anyOf 1 / anyOf 1string可选/项目
  • minLength: 1
  • maxLength: 500
draft.brand_context.content.call_to_actionanyOf 1 / anyOf 1 / anyOf 1string | null在父对象中必填—
draft.brand_context.content.call_to_actionanyOf 1 / anyOf 1 / anyOf 1 / anyOf 1string在父对象中必填
  • maxLength: 1000
draft.brand_context.content.call_to_actionanyOf 1 / anyOf 1 / anyOf 1 / anyOf 2null在父对象中必填—
draft.brand_context.contentanyOf 1 / anyOf 1 / anyOf 2null在父对象中必填—
draft.brand_context.sourcesanyOf 1 / anyOf 1object在父对象中必填—
draft.brand_context.sources.websiteanyOf 1 / anyOf 1string在父对象中必填
  • enum: ["available","not_available"]
draft.brand_context.sources.logoanyOf 1 / anyOf 1string在父对象中必填
  • enum: ["none","present","missing"]
draft.brand_context.sources.own_postsanyOf 1 / anyOf 1object在父对象中必填—
draft.brand_context.sources.own_posts.selectedanyOf 1 / anyOf 1integer在父对象中必填
  • minimum: 0
  • maximum: 10
draft.brand_context.sources.own_posts.availableanyOf 1 / anyOf 1integer在父对象中必填
  • minimum: 0
  • maximum: 10
draft.brand_context.sources.own_posts.unavailableanyOf 1 / anyOf 1integer在父对象中必填
  • minimum: 0
  • maximum: 10
draft.brand_context.sources.own_posts.erasedanyOf 1 / anyOf 1integer在父对象中必填
  • minimum: 0
  • maximum: 10
draft.brand_contextanyOf 1 / anyOf 2null可选/项目—
draft.brand_reviewanyOf 1object | null可选/项目—
draft.brand_reviewanyOf 1 / anyOf 1object可选/项目—
draft.brand_review.rule_versionanyOf 1 / anyOf 1number在父对象中必填
  • const: 1
draft.brand_review.context_digestanyOf 1 / anyOf 1string在父对象中必填
  • pattern: "^[a-f0-9]{64}$"
draft.brand_review.content_digestanyOf 1 / anyOf 1string在父对象中必填
  • pattern: "^[a-f0-9]{64}$"
draft.brand_review.statusanyOf 1 / anyOf 1string在父对象中必填
  • enum: ["clear","attention","unavailable"]
draft.brand_review.issuesanyOf 1 / anyOf 1array在父对象中必填
  • maxItems: 5151
draft.brand_review.issues[]anyOf 1 / anyOf 1object可选/项目—
draft.brand_review.issues[].codeanyOf 1 / anyOf 1string在父对象中必填
  • enum: ["prohibited_term","locked_fact_missing","conflicting_rule","context_unavailable"]
draft.brand_review.issues[].targetanyOf 1 / anyOf 1string在父对象中必填
  • minLength: 1
  • maxLength: 80
draft.brand_review.issues[].rule_indexanyOf 1 / anyOf 1integer | null在父对象中必填—
draft.brand_review.issues[].rule_indexanyOf 1 / anyOf 1 / anyOf 1integer在父对象中必填
  • minimum: 0
  • maximum: 49
draft.brand_review.issues[].rule_indexanyOf 1 / anyOf 1 / anyOf 2null在父对象中必填—
draft.brand_review.issues[].messageanyOf 1 / anyOf 1string在父对象中必填
  • minLength: 1
  • maxLength: 240
draft.brand_reviewanyOf 1 / anyOf 2null可选/项目—
draftanyOf 2null在父对象中必填—
完整 JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "handoff": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "mutation_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "brief_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "brief_revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "variant": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "locale": {
              "type": "string",
              "enum": [
                "en",
                "zh-HK"
              ]
            }
          },
          "required": [
            "id",
            "revision",
            "locale"
          ]
        },
        "draft_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "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",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "revision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "evidence_id",
              "revision"
            ]
          }
        },
        "locked_finding_ids": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          }
        },
        "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"
      ]
    },
    "draft": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "workspace_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "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",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  }
                },
                "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"
                      ]
                    },
                    "gif_attachment": {
                      "type": "object",
                      "properties": {
                        "gif_id": {
                          "type": "string",
                          "maxLength": 128
                        },
                        "provider": {
                          "type": "string",
                          "const": "GIPHY"
                        }
                      },
                      "required": [
                        "gif_id",
                        "provider"
                      ]
                    },
                    "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"
                            ]
                          }
                        }
                      },
                      "required": [
                        "plaintext"
                      ]
                    },
                    "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"
                        ]
                      }
                    },
                    "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"
                        ]
                      }
                    }
                  }
                },
                "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",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "caption": {
                        "type": "string",
                        "maxLength": 5000
                      },
                      "scheduledAt": {
                        "type": "string",
                        "maxLength": 64
                      }
                    }
                  }
                },
                "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"
              ]
            },
            "created_by": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "updated_by": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                {
                  "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",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "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",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "successes": {
                              "maxItems": 50,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "social_account_id": {
                                    "type": "string",
                                    "format": "uuid",
                                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                  },
                                  "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"
                                ]
                              }
                            },
                            "failures": {
                              "maxItems": 50,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "social_account_id": {
                                    "type": "string",
                                    "format": "uuid",
                                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                  },
                                  "code": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 160
                                  },
                                  "message": {
                                    "type": "string",
                                    "maxLength": 2000
                                  }
                                },
                                "required": [
                                  "social_account_id",
                                  "code",
                                  "message"
                                ]
                              }
                            }
                          },
                          "required": [
                            "batch_id",
                            "successes",
                            "failures"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "expected_revision",
                    "started_at",
                    "receipt"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "brand_context": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "workspace_id": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "selection": {
                      "type": "object",
                      "properties": {
                        "profile_id": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        "version_id": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        "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"
                      ]
                    },
                    "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"
                          ]
                        },
                        {
                          "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"
                          ]
                        }
                      },
                      "required": [
                        "website",
                        "logo",
                        "own_posts"
                      ]
                    }
                  },
                  "required": [
                    "workspace_id",
                    "selection",
                    "availability",
                    "profile_state",
                    "content",
                    "sources"
                  ]
                },
                {
                  "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"
                        ]
                      }
                    }
                  },
                  "required": [
                    "rule_version",
                    "context_digest",
                    "content_digest",
                    "status",
                    "issues"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "id",
            "workspace_id",
            "revision",
            "state",
            "content",
            "created_by",
            "updated_by",
            "created_at",
            "updated_at",
            "submission"
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "handoff",
    "draft"
  ]
}

错误与安全重试

检查 HTTP 状态和响应正文。400 验证错误可能包含 ZodError;处理程序错误使用 error、message 和 code 字段。保留 request_id 或 x-request-id 以便诊断,但不要保留凭证。先解决 401/403 访问错误再重试,并在收到 429 时遵循 Retry-After。如写入结果不确定或返回 5xx,先读取现有结果。仅在支持时复用幂等键;重试行为因操作而异,并不保证恰好交付一次。

故障排查指南

示例

这些示例使用已依schema检查的虚构值。请将 ID 替换为你有权使用的 ID、将媒体替换为已就绪素材,并将日期替换为已确认的发布时间。提交写入前,请检查账号资格。本页不会发送 API 请求。

在服务器上将 SOSOAPI_ACCESS_TOKEN 设为此操作接受的凭证,且不要放入浏览器代码。AI 智能代理 请使用 sosoapi auth login 通过浏览器登录,并由 CLI 更新凭证。

request.json

{
  "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": {}
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/briefs/handoff" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

JavaScript

// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/briefs/handoff", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "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": {}
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /research-api/briefs/handoff < request.json

合成响应示例

{
  "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
}

MCP: sosoapi_research_briefs_handoff