개인정보 설정

필수 기능

보안 및 사이트 기본 기능에 필요합니다.

항상 켜짐

선택적 사용 분석

PostHog 사용 분석을 허용하시겠어요? 하단에서 언제든 선택을 바꿀 수 있습니다.

이 공개 웹사이트의 세션 리플레이도 허용

리플레이는 입력값과 비공개 콘텐츠를 가린 상태로 공개 페이지와 상호작용을 보여 줍니다. App 리플레이는 별도로 선택합니다.

분석을 먼저 켜야 합니다. 웹사이트 세션 재생은 기본적으로 꺼져 있습니다.

브라우저 분석 설정은 계정 분석을 켜지 않습니다.

검색은 사용할 때만 로드됩니다. 아래에서 모든 분류를 살펴보세요.

MCP 도구

검토된 연구 언어 버전에서 편집용 Draft 만들기

sosoapi_research_briefs_handoff

검토된 언어 버전에서 예약되지 않은 정식 Draft를 만듭니다. agent:operate도 필요합니다. 제출하거나 게시하지 않습니다. agent:research가 필요합니다.

Markdown으로 읽기

프로필 및 전송 방식

프로필: full · 전송 방식: stdio, http

클라이언트에 표시할 도구는 core 또는 full로 선택하세요. 권한은 변경되지 않습니다. 로컬 파일 업로드에는 stdio가 필요하며 HTTP에서는 사용할 수 없습니다. 검색에 출력 스키마를 포함하려면 SOSOAPI_OUTPUT_SCHEMAS=1을 설정하세요. 이 설정과 관계없이 도구는 구조화된 결과를 반환합니다.

권한 및 부수 효과

주석은 클라이언트의 도구 설명을 돕습니다. 각 호출은 계속 사용자 인증, 역할, 리소스 접근, 기능 권한을 확인합니다.

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}
  • /research-api/briefs/handoff: agent:research · 확정된 정식 미예약 Content Draft와 비공개 소스 이력. 제출이나 게시가 아닙니다

입력 필드

필수는 상위 객체와 선택 분기 안에서 필수라는 뜻입니다. 필수 자식이 선택적 상위 객체를 필수로 만들지는 않습니다. 아래 규칙과 필드명은 계약에서 복사했습니다.

입력 필드
필드 / 분기유형 / 필수 여부제약 조건
$object상위 객체에서 필수
  • additionalProperties: false
workspace_idstring상위 객체에서 필수
  • format: "uuid"
mutation_idstring상위 객체에서 필수
  • format: "uuid"
brief_idstring상위 객체에서 필수
  • format: "uuid"
brief_revisioninteger상위 객체에서 필수
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
variant_idstring상위 객체에서 필수
  • format: "uuid"
variant_revisioninteger상위 객체에서 필수
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
contentobject상위 객체에서 필수
  • additionalProperties: false
content.schemaVersionnumber선택 / 항목
  • enum: [1]
content.accountIdsarray선택 / 항목
  • maxItems: 50
content.accountIds[]string선택 / 항목
  • format: "uuid"
content.captionstring선택 / 항목
  • maxLength: 5000
content.hashtagsstring선택 / 항목
  • maxLength: 5000
content.assetIdsarray선택 / 항목
  • maxItems: 20
content.assetIds[]string선택 / 항목
  • maxLength: 16
  • pattern: "^[1-9][0-9]*$"
content.threadsTextOnlyboolean선택 / 항목—
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상위 객체에서 필수
  • enum: ["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"]
content.youtubeTitlestring선택 / 항목
  • maxLength: 100
content.youtubePrivacystring선택 / 항목
  • enum: ["private","unlisted","public"]
content.youtubeSyntheticboolean선택 / 항목—
content.youtubeCategoryIdstring선택 / 항목
  • maxLength: 32
content.youtubeShortboolean선택 / 항목—
content.linkUrlstring선택 / 항목
  • maxLength: 2048
content.scheduledAtstring선택 / 항목
  • maxLength: 64
content.displayTimezonestring선택 / 항목
  • minLength: 1
  • maxLength: 128
content.publishNowboolean선택 / 항목—
content.destinationOverridesobject선택 / 항목
  • 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
전체 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
    }
  }
}

구조화된 출력

이 스키마는 성공한 도구 결과의 structuredContent를 설명합니다. MCP 응답에는 content도 포함되며 호출 실패 시 isError가 설정될 수 있습니다. 게시 시 접수된 요청이나 텍스트 응답을 확인으로 간주하지 말고 게시물의 최종 결과를 읽으세요. 연결된 API 작업에 권한과 재시도 규칙이 설명되어 있습니다.

필수는 상위 객체와 선택 분기 안에서 필수라는 뜻입니다. 필수 자식이 선택적 상위 객체를 필수로 만들지는 않습니다. 아래 규칙과 필드명은 계약에서 복사했습니다.

구조화된 출력
필드 / 분기유형 / 필수 여부제약 조건
$object상위 객체에서 필수
  • additionalProperties: false
handoffobject상위 객체에서 필수
  • additionalProperties: false
handoff.idstring상위 객체에서 필수
  • format: "uuid"
handoff.workspace_idstring상위 객체에서 필수
  • format: "uuid"
handoff.mutation_idstring상위 객체에서 필수
  • format: "uuid"
handoff.brief_idstring상위 객체에서 필수
  • format: "uuid"
handoff.brief_revisioninteger상위 객체에서 필수
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
handoff.variantobject상위 객체에서 필수
  • additionalProperties: false
handoff.variant.idstring상위 객체에서 필수
  • format: "uuid"
handoff.variant.revisioninteger상위 객체에서 필수
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
handoff.variant.localestring상위 객체에서 필수
  • enum: ["en","zh-HK"]
handoff.draft_idstring | null상위 객체에서 필수—
handoff.draft_idanyOf 1string상위 객체에서 필수
  • format: "uuid"
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선택 / 항목
  • additionalProperties: false
handoff.evidence[].evidence_idstring상위 객체에서 필수
  • format: "uuid"
handoff.evidence[].revisioninteger상위 객체에서 필수
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
handoff.locked_finding_idsarray상위 객체에서 필수
  • maxItems: 100
handoff.locked_finding_ids[]string선택 / 항목
  • format: "uuid"
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상위 객체에서 필수
  • additionalProperties: false
draft.idanyOf 1string상위 객체에서 필수
  • format: "uuid"
draft.workspace_idanyOf 1string상위 객체에서 필수
  • format: "uuid"
draft.revisionanyOf 1integer상위 객체에서 필수
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.stateanyOf 1string상위 객체에서 필수
  • enum: ["draft","submitting","submitted"]
draft.contentanyOf 1object상위 객체에서 필수
  • additionalProperties: false
draft.content.schemaVersionanyOf 1number상위 객체에서 필수
  • const: 1
  • default: 1
draft.content.accountIdsanyOf 1array상위 객체에서 필수
  • maxItems: 50
  • default: []
draft.content.accountIds[]anyOf 1string선택 / 항목
  • format: "uuid"
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선택 / 항목
  • additionalProperties: false
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선택 / 항목
  • additionalProperties: false
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선택 / 항목
  • additionalProperties: false
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선택 / 항목
  • additionalProperties: false
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선택 / 항목
  • additionalProperties: false
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선택 / 항목
  • additionalProperties: false
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선택 / 항목
  • additionalProperties: false
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}},"additionalProperties":false}
draft.content.destinationOverrides.*anyOf 1object선택 / 항목
  • additionalProperties: false
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"
draft.created_byanyOf 1 / anyOf 2null상위 객체에서 필수—
draft.updated_byanyOf 1string | null상위 객체에서 필수—
draft.updated_byanyOf 1 / anyOf 1string상위 객체에서 필수
  • format: "uuid"
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상위 객체에서 필수
  • additionalProperties: false
draft.submission.idanyOf 1 / anyOf 1string상위 객체에서 필수
  • format: "uuid"
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상위 객체에서 필수
  • additionalProperties: false
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"
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선택 / 항목
  • additionalProperties: false
draft.submission.receipt.successes[].social_account_idanyOf 1 / anyOf 1 / anyOf 1string상위 객체에서 필수
  • format: "uuid"
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선택 / 항목
  • additionalProperties: false
draft.submission.receipt.failures[].social_account_idanyOf 1 / anyOf 1 / anyOf 1string상위 객체에서 필수
  • format: "uuid"
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선택 / 항목
  • additionalProperties: false
draft.brand_context.workspace_idanyOf 1 / anyOf 1string상위 객체에서 필수
  • format: "uuid"
draft.brand_context.selectionanyOf 1 / anyOf 1object상위 객체에서 필수
  • additionalProperties: false
draft.brand_context.selection.profile_idanyOf 1 / anyOf 1string상위 객체에서 필수
  • format: "uuid"
draft.brand_context.selection.version_idanyOf 1 / anyOf 1string상위 객체에서 필수
  • format: "uuid"
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상위 객체에서 필수
  • additionalProperties: false
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상위 객체에서 필수
  • additionalProperties: false
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상위 객체에서 필수
  • additionalProperties: false
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선택 / 항목
  • additionalProperties: false
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선택 / 항목
  • additionalProperties: false
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
{
  "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
}

도구 호출 예제

예제는 스키마로 확인한 가상 값을 사용합니다. 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
}
MCP 설치 또는 연결