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

예약 및 게시

순서가 지정된 X 스레드 재개

기존 X 스레드에서 안전하게 재시도할 수 있는 미완료 후속 항목만 최신 허용 작업과 전체 expected_versions를 사용해 재개합니다. 이미 게시된 앞부분을 다시 만들지 마세요.

POST /studio-api/x-post-threads/resume

계약 검토: · sha256:304f090f3c014931

개요

기존 X 스레드에서 안전하게 재시도할 수 있는 미완료 후속 항목만 최신 허용 작업과 전체 expected_versions를 사용해 재개합니다. 이미 게시된 앞부분을 다시 만들지 마세요.

HTTP 성공 응답은 완료가 아닌 접수를 뜻할 수 있습니다. 백그라운드 작업은 반환 ID를 저장하고 완료까지 같은 작업을 확인하세요. 예약 또는 접수 게시물은 플랫폼이 확인해야 게시 완료입니다. 클라이언트 시간 초과로 결과를 판단할 수 없습니다.

인증 및 권한

허용 자격 증명 유형
user_session, delegated_oauth, personal_access_token
위임된 기능
agent:publish
최소 Workspace 역할
editor
접근 범위
이 사용자에게 접근 권한이 있는 리소스
모든 Workspace 동의 필요
아니요
상태 변경
예
작업 완료 시
canonical per-Post terminal publication outcomes; thread acceptance is not publication

토큰은 소유자의 권한만 사용할 수 있습니다. 각 요청은 Workspace 멤버십, 리소스 소유권, 선택 Workspace, 부여 기능을 확인합니다. 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)$"
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)$"
expected_versionsobject상위 객체에서 필수
  • additionalProperties: {"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}
expected_versions.*integer선택 / 항목
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
scheduled_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)))$"
전체 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)$"
    },
    "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_versions": {
      "type": "object",
      "propertyNames": {
        "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}$"
      },
      "additionalProperties": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "scheduled_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"
    }
  },
  "required": [
    "workspace_id",
    "id",
    "expected_versions"
  ],
  "additionalProperties": false
}

응답 및 완료

성공 HTTP 상태: 200. 작업 완료 시: canonical per-Post terminal publication outcomes; thread acceptance is not publication.

HTTP 성공 응답은 완료가 아닌 접수를 뜻할 수 있습니다. 백그라운드 작업은 반환 ID를 저장하고 완료까지 같은 작업을 확인하세요. 예약 또는 접수 게시물은 플랫폼이 확인해야 게시 완료입니다. 클라이언트 시간 초과로 결과를 판단할 수 없습니다.

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

응답 및 완료
필드 / 분기유형 / 필수 여부제약 조건
$object상위 객체에서 필수—
threadobject상위 객체에서 필수—
thread.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)$"
thread.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)$"
thread.social_account_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)$"
thread.idempotency_keystring상위 객체에서 필수
  • minLength: 1
  • maxLength: 128
thread.item_countinteger상위 객체에서 필수
  • minimum: 2
  • maximum: 25
thread.created_atstring상위 객체에서 필수—
thread.itemsarray상위 객체에서 필수
  • minItems: 2
  • maxItems: 25
thread.items[]object선택 / 항목—
thread.items[].item_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)$"
thread.items[].ordinalinteger상위 객체에서 필수
  • minimum: 1
  • maximum: 25
thread.items[].predecessor_post_idstring | null상위 객체에서 필수—
thread.items[].predecessor_post_idanyOf 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}$"
thread.items[].predecessor_post_idanyOf 2null상위 객체에서 필수—
thread.items[].postobject상위 객체에서 필수—
thread.items[].post.idstring상위 객체에서 필수
  • 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}$"
thread.items[].post.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)$"
thread.items[].post.social_account_idstring | null상위 객체에서 필수—
thread.items[].post.social_account_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)$"
thread.items[].post.social_account_idanyOf 2null상위 객체에서 필수—
thread.items[].post.platformstring상위 객체에서 필수
  • enum: ["instagram","threads","facebook","youtube","x"]
thread.items[].post.destinationobject상위 객체에서 필수—
thread.items[].post.destination.social_account_idstring | null상위 객체에서 필수—
thread.items[].post.destination.social_account_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)$"
thread.items[].post.destination.social_account_idanyOf 2null상위 객체에서 필수—
thread.items[].post.destination.platformstring상위 객체에서 필수
  • enum: ["instagram","threads","facebook","youtube","x"]
thread.items[].post.destination.platform_user_idstring | null상위 객체에서 필수—
thread.items[].post.destination.account_labelstring | null상위 객체에서 필수—
thread.items[].post.captionstring | null상위 객체에서 필수—
thread.items[].post.hashtagsarray상위 객체에서 필수—
thread.items[].post.hashtags[]string선택 / 항목—
thread.items[].post.mediaarray상위 객체에서 필수—
thread.items[].post.media[]object선택 / 항목—
thread.items[].post.media[].kindstring상위 객체에서 필수
  • enum: ["image","video"]
thread.items[].post.media[].urlstring상위 객체에서 필수
  • format: "uri"
thread.items[].post.media[].cover_urlstring | null선택 / 항목—
thread.items[].post.media[].cover_urlanyOf 1string선택 / 항목
  • format: "uri"
thread.items[].post.media[].cover_urlanyOf 2null선택 / 항목—
thread.items[].post.media[].cover_asset_idinteger | null선택 / 항목—
thread.items[].post.media[].cover_asset_idanyOf 1integer선택 / 항목
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
thread.items[].post.media[].cover_asset_idanyOf 2null선택 / 항목—
thread.items[].post.media[].asset_idinteger | null선택 / 항목—
thread.items[].post.media[].asset_idanyOf 1integer선택 / 항목
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
thread.items[].post.media[].asset_idanyOf 2null선택 / 항목—
thread.items[].post.media[].mime_typestring | null선택 / 항목—
thread.items[].post.media[].mime_typeanyOf 1string선택 / 항목
  • minLength: 1
  • maxLength: 160
thread.items[].post.media[].mime_typeanyOf 2null선택 / 항목—
thread.items[].post.media[].preview_urlstring | null선택 / 항목

임시 승인 읽기 URL. url을 영속 Scheduled Post 미디어 ID로 유지하세요.

—
thread.items[].post.media[].preview_urlanyOf 1string선택 / 항목
  • format: "uri"
thread.items[].post.media[].preview_urlanyOf 2null선택 / 항목—
thread.items[].post.media[].cover_preview_urlstring | null선택 / 항목

임시 승인 커버 읽기 URL. cover_url을 영속 미디어 ID로 유지하세요.

—
thread.items[].post.media[].cover_preview_urlanyOf 1string선택 / 항목
  • format: "uri"
thread.items[].post.media[].cover_preview_urlanyOf 2null선택 / 항목—
thread.items[].post.media[].preview_expires_atstring | null선택 / 항목—
thread.items[].post.media[].preview_expires_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))$"
thread.items[].post.media[].preview_expires_atanyOf 2null선택 / 항목—
thread.items[].post.link_urlstring | null선택 / 항목—
thread.items[].post.link_urlanyOf 1string선택 / 항목
  • format: "uri"
thread.items[].post.link_urlanyOf 2null선택 / 항목—
thread.items[].post.publish_optionsobject상위 객체에서 필수—
thread.items[].post.publish_options.post_typestring선택 / 항목
  • enum: ["TEXT","LINK","IMAGE","MULTI_IMAGE","VIDEO","CAROUSEL","REELS","STORY_IMAGE","STORY_VIDEO","REPOST","SHORT"]
thread.items[].post.publish_options.location_idstring선택 / 항목
  • minLength: 1
thread.items[].post.publish_options.share_to_feedboolean선택 / 항목—
thread.items[].post.publish_options.collaboratorsarray선택 / 항목
  • maxItems: 3
thread.items[].post.publish_options.collaborators[]string선택 / 항목
  • minLength: 1
thread.items[].post.publish_options.first_commentstring선택 / 항목
  • minLength: 1
  • maxLength: 2200
thread.items[].post.publish_options.topic_tagstring선택 / 항목
  • minLength: 1
thread.items[].post.publish_options.thumb_offset_msinteger선택 / 항목
  • minimum: 0
  • maximum: 9007199254740991
thread.items[].post.publish_options.titlestring선택 / 항목
  • maxLength: 255
thread.items[].post.publish_options.youtube_privacy_statusstring선택 / 항목
  • enum: ["private","unlisted","public"]
thread.items[].post.publish_options.youtube_category_idstring선택 / 항목
  • pattern: "^\\d+$"
thread.items[].post.publish_options.youtube_contains_synthetic_mediaboolean선택 / 항목—
thread.items[].post.publish_options.descriptionstring선택 / 항목
  • maxLength: 5000
thread.items[].post.publish_options.category_idstring선택 / 항목
  • pattern: "^\\d+$"
thread.items[].post.publish_options.privacy_statusstring선택 / 항목
  • enum: ["private","unlisted","public"]
thread.items[].post.publish_options.cancellation_modestring선택 / 항목
  • enum: ["DELETE","UNSCHEDULE_KEEP_PRIVATE"]
thread.items[].post.publish_options.tagsarray선택 / 항목—
thread.items[].post.publish_options.tags[]string선택 / 항목—
thread.items[].post.publish_options.default_languagestring선택 / 항목—
thread.items[].post.publish_options.localizationsobject선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.localizations.*any JSON value선택 / 항목—
thread.items[].post.publish_options.licensestring선택 / 항목
  • enum: ["youtube","creativeCommon"]
thread.items[].post.publish_options.embeddableboolean선택 / 항목—
thread.items[].post.publish_options.public_stats_viewableboolean선택 / 항목—
thread.items[].post.publish_options.self_declared_made_for_kidsboolean선택 / 항목—
thread.items[].post.publish_options.contains_synthetic_mediaboolean선택 / 항목—
thread.items[].post.publish_options.has_paid_product_placementboolean선택 / 항목—
thread.items[].post.publish_options.recording_datestring선택 / 항목—
thread.items[].post.publish_options.notify_subscribersboolean선택 / 항목—
thread.items[].post.publish_options.thumbnail_asset_idinteger선택 / 항목
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
thread.items[].post.publish_options.surface_expectationstring선택 / 항목
  • const: "SHORT"
thread.items[].post.publish_options.brand_partnerobject선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.brand_partner.*any JSON value선택 / 항목—
thread.items[].post.publish_options.cover_asset_idinteger선택 / 항목
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
thread.items[].post.publish_options.audio_namestring선택 / 항목—
thread.items[].post.publish_options.trial_paramsobject선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.trial_params.*any JSON value선택 / 항목—
thread.items[].post.publish_options.is_ai_generatedboolean선택 / 항목—
thread.items[].post.publish_options.branded_content_sponsor_idsarray선택 / 항목—
thread.items[].post.publish_options.branded_content_sponsor_ids[]string선택 / 항목—
thread.items[].post.publish_options.is_paid_partnershipboolean선택 / 항목—
thread.items[].post.publish_options.media_optionsarray선택 / 항목—
thread.items[].post.publish_options.media_options[]object선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.media_options[].*any JSON value선택 / 항목—
thread.items[].post.publish_options.reply_to_idstring선택 / 항목—
thread.items[].post.publish_options.quote_post_idstring선택 / 항목—
thread.items[].post.publish_options.repost_target_idstring선택 / 항목—
thread.items[].post.publish_options.reply_controlstring선택 / 항목—
thread.items[].post.publish_options.enable_reply_approvalsboolean선택 / 항목—
thread.items[].post.publish_options.link_attachmentstring선택 / 항목
  • format: "uri"
thread.items[].post.publish_options.poll_attachmentobject선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.poll_attachment.*any JSON value선택 / 항목—
thread.items[].post.publish_options.gif_attachmentobject선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.gif_attachment.*any JSON value선택 / 항목—
thread.items[].post.publish_options.text_attachmentobject선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.text_attachment.*any JSON value선택 / 항목—
thread.items[].post.publish_options.text_entitiesarray선택 / 항목—
thread.items[].post.publish_options.text_entities[]object선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.text_entities[].*any JSON value선택 / 항목—
thread.items[].post.publish_options.is_spoiler_mediaboolean선택 / 항목—
thread.items[].post.publish_options.is_ghost_postboolean선택 / 항목—
thread.items[].post.publish_options.allowlisted_country_codesarray선택 / 항목—
thread.items[].post.publish_options.allowlisted_country_codes[]string선택 / 항목—
thread.items[].post.publish_options.crossreshare_to_igboolean선택 / 항목—
thread.items[].post.publish_options.crossreshare_to_ig_dark_modeboolean선택 / 항목—
thread.items[].post.publish_options.auto_publish_textboolean선택 / 항목—
thread.items[].post.publish_options.publication_modestring선택 / 항목
  • enum: ["PUBLISH","DRAFT"]
thread.items[].post.publish_options.backdated_timenumber선택 / 항목—
thread.items[].post.publish_options.backdated_time_granularitystring선택 / 항목
  • enum: ["year","month","day","hour","minute"]
thread.items[].post.publish_options.placestring선택 / 항목—
thread.items[].post.publish_options.feed_targetingobject선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.feed_targeting.*any JSON value선택 / 항목—
thread.items[].post.publish_options.targetingobject선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.targeting.*any JSON value선택 / 항목—
thread.items[].post.publish_options.child_attachmentsarray선택 / 항목—
thread.items[].post.publish_options.child_attachments[]object선택 / 항목
  • additionalProperties: {}
thread.items[].post.publish_options.child_attachments[].*any JSON value선택 / 항목—
thread.items[].post.publish_options.multi_share_end_cardboolean선택 / 항목—
thread.items[].post.publish_options.multi_share_optimizedboolean선택 / 항목—
thread.items[].post.publish_options.unpublished_content_typestring선택 / 항목—
thread.items[].post.publish_options.no_storyboolean선택 / 항목—
thread.items[].post.publish_options.crossposted_video_idstring선택 / 항목—
thread.items[].post.publish_options.sphericalboolean선택 / 항목—
thread.items[].post.scheduled_atstring상위 객체에서 필수—
thread.items[].post.display_timezonestring상위 객체에서 필수
  • minLength: 1
  • maxLength: 80
thread.items[].post.local_scheduled_atstring | null선택 / 항목—
thread.items[].post.local_scheduled_atanyOf 1string선택 / 항목
  • pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
thread.items[].post.local_scheduled_atanyOf 2null선택 / 항목—
thread.items[].post.schedule_timezonestring | null선택 / 항목—
thread.items[].post.schedule_timezoneanyOf 1string선택 / 항목
  • minLength: 1
  • maxLength: 80
thread.items[].post.schedule_timezoneanyOf 2null선택 / 항목—
thread.items[].post.schedule_dst_disambiguationstring | null선택 / 항목—
thread.items[].post.schedule_dst_disambiguationanyOf 1string선택 / 항목
  • enum: ["exact","earlier","later"]
thread.items[].post.schedule_dst_disambiguationanyOf 2null선택 / 항목—
thread.items[].post.schedule_intent_statestring선택 / 항목
  • enum: ["verified","legacy_unverified"]
thread.items[].post.expires_atstring | null상위 객체에서 필수—
thread.items[].post.statusstring상위 객체에서 필수
  • enum: ["scheduled","publishing","published","failed","expired","needs_reschedule","cancelled","deleted"]
thread.items[].post.versioninteger상위 객체에서 필수
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
thread.items[].post.automatic_retry_enabledboolean상위 객체에서 필수—
thread.items[].post.delete_requested_atstring | null상위 객체에서 필수—
thread.items[].post.published_atstring | null상위 객체에서 필수—
thread.items[].post.deleted_atstring | null상위 객체에서 필수—
thread.items[].post.provider_post_idstring | null상위 객체에서 필수—
thread.items[].post.permalinkstring | null상위 객체에서 필수—
thread.items[].post.permalinkanyOf 1string상위 객체에서 필수
  • format: "uri"
thread.items[].post.permalinkanyOf 2null상위 객체에서 필수—
thread.items[].post.created_atstring상위 객체에서 필수—
thread.items[].post.updated_atstring상위 객체에서 필수—
thread.items[].post.project_idstring | null상위 객체에서 필수—
thread.items[].post.project_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)$"
thread.items[].post.project_idanyOf 2null상위 객체에서 필수—
thread.items[].post.batch_idstring | null상위 객체에서 필수—
thread.items[].post.batch_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)$"
thread.items[].post.batch_idanyOf 2null상위 객체에서 필수—
thread.items[].post.source_refobject | null상위 객체에서 필수—
thread.items[].post.source_refanyOf 1object상위 객체에서 필수
  • additionalProperties: {}
thread.items[].post.source_ref.*anyOf 1any JSON value선택 / 항목—
thread.items[].post.source_refanyOf 2null상위 객체에서 필수—
thread.items[].retry_allowedboolean상위 객체에서 필수—
thread.expected_versionsobject상위 객체에서 필수
  • additionalProperties: {"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}
thread.expected_versions.*integer선택 / 항목
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
thread.actionsarray상위 객체에서 필수
  • minItems: 2
  • maxItems: 2
thread.actions[]object선택 / 항목—
thread.actions[].actionstring상위 객체에서 필수
  • enum: ["resume","cancel"]
thread.actions[].allowedboolean상위 객체에서 필수—
thread.actions[].reason_codestring상위 객체에서 필수
  • enum: ["allowed","no_failed_items","resolution_required","retry_unavailable","terminal_state"]
thread.actions[].messagestring상위 객체에서 필수—
dedupedboolean선택 / 항목—
전체 JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "thread": {
      "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)$"
        },
        "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)$"
        },
        "idempotency_key": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "item_count": {
          "type": "integer",
          "minimum": 2,
          "maximum": 25
        },
        "created_at": {
          "type": "string"
        },
        "items": {
          "minItems": 2,
          "maxItems": 25,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "item_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)$"
              },
              "ordinal": {
                "type": "integer",
                "minimum": 1,
                "maximum": 25
              },
              "predecessor_post_id": {
                "anyOf": [
                  {
                    "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}$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "post": {
                "type": "object",
                "properties": {
                  "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}$"
                  },
                  "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)$"
                  },
                  "social_account_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"
                      }
                    ]
                  },
                  "platform": {
                    "type": "string",
                    "enum": [
                      "instagram",
                      "threads",
                      "facebook",
                      "youtube",
                      "x"
                    ]
                  },
                  "destination": {
                    "type": "object",
                    "properties": {
                      "social_account_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"
                          }
                        ]
                      },
                      "platform": {
                        "type": "string",
                        "enum": [
                          "instagram",
                          "threads",
                          "facebook",
                          "youtube",
                          "x"
                        ]
                      },
                      "platform_user_id": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "account_label": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "social_account_id",
                      "platform",
                      "platform_user_id",
                      "account_label"
                    ]
                  },
                  "caption": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "hashtags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "media": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "image",
                            "video"
                          ]
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "cover_url": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uri"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "cover_asset_id": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "asset_id": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "mime_type": {
                          "anyOf": [
                            {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 160
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "preview_url": {
                          "description": "Temporary authorized read URL; keep url as persisted Scheduled Post media identity.",
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uri"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "cover_preview_url": {
                          "description": "Temporary authorized cover read URL; keep cover_url as persisted media identity.",
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uri"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "preview_expires_at": {
                          "anyOf": [
                            {
                              "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))$",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "kind",
                        "url"
                      ]
                    }
                  },
                  "link_url": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uri"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "publish_options": {
                    "type": "object",
                    "properties": {
                      "post_type": {
                        "type": "string",
                        "enum": [
                          "TEXT",
                          "LINK",
                          "IMAGE",
                          "MULTI_IMAGE",
                          "VIDEO",
                          "CAROUSEL",
                          "REELS",
                          "STORY_IMAGE",
                          "STORY_VIDEO",
                          "REPOST",
                          "SHORT"
                        ]
                      },
                      "location_id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "share_to_feed": {
                        "type": "boolean"
                      },
                      "collaborators": {
                        "maxItems": 3,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "first_comment": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2200
                      },
                      "topic_tag": {
                        "type": "string",
                        "minLength": 1
                      },
                      "thumb_offset_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "title": {
                        "type": "string",
                        "maxLength": 255
                      },
                      "youtube_privacy_status": {
                        "type": "string",
                        "enum": [
                          "private",
                          "unlisted",
                          "public"
                        ]
                      },
                      "youtube_category_id": {
                        "type": "string",
                        "pattern": "^\\d+$"
                      },
                      "youtube_contains_synthetic_media": {
                        "type": "boolean"
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 5000
                      },
                      "category_id": {
                        "type": "string",
                        "pattern": "^\\d+$"
                      },
                      "privacy_status": {
                        "type": "string",
                        "enum": [
                          "private",
                          "unlisted",
                          "public"
                        ]
                      },
                      "cancellation_mode": {
                        "type": "string",
                        "enum": [
                          "DELETE",
                          "UNSCHEDULE_KEEP_PRIVATE"
                        ]
                      },
                      "tags": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "default_language": {
                        "type": "string"
                      },
                      "localizations": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      "license": {
                        "type": "string",
                        "enum": [
                          "youtube",
                          "creativeCommon"
                        ]
                      },
                      "embeddable": {
                        "type": "boolean"
                      },
                      "public_stats_viewable": {
                        "type": "boolean"
                      },
                      "self_declared_made_for_kids": {
                        "type": "boolean"
                      },
                      "contains_synthetic_media": {
                        "type": "boolean"
                      },
                      "has_paid_product_placement": {
                        "type": "boolean"
                      },
                      "recording_date": {
                        "type": "string"
                      },
                      "notify_subscribers": {
                        "type": "boolean"
                      },
                      "thumbnail_asset_id": {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      "surface_expectation": {
                        "type": "string",
                        "const": "SHORT"
                      },
                      "brand_partner": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      "cover_asset_id": {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      "audio_name": {
                        "type": "string"
                      },
                      "trial_params": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      "is_ai_generated": {
                        "type": "boolean"
                      },
                      "branded_content_sponsor_ids": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "is_paid_partnership": {
                        "type": "boolean"
                      },
                      "media_options": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {}
                        }
                      },
                      "reply_to_id": {
                        "type": "string"
                      },
                      "quote_post_id": {
                        "type": "string"
                      },
                      "repost_target_id": {
                        "type": "string"
                      },
                      "reply_control": {
                        "type": "string"
                      },
                      "enable_reply_approvals": {
                        "type": "boolean"
                      },
                      "link_attachment": {
                        "type": "string",
                        "format": "uri"
                      },
                      "poll_attachment": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      "gif_attachment": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      "text_attachment": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      "text_entities": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {}
                        }
                      },
                      "is_spoiler_media": {
                        "type": "boolean"
                      },
                      "is_ghost_post": {
                        "type": "boolean"
                      },
                      "allowlisted_country_codes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "crossreshare_to_ig": {
                        "type": "boolean"
                      },
                      "crossreshare_to_ig_dark_mode": {
                        "type": "boolean"
                      },
                      "auto_publish_text": {
                        "type": "boolean"
                      },
                      "publication_mode": {
                        "type": "string",
                        "enum": [
                          "PUBLISH",
                          "DRAFT"
                        ]
                      },
                      "backdated_time": {
                        "type": "number"
                      },
                      "backdated_time_granularity": {
                        "type": "string",
                        "enum": [
                          "year",
                          "month",
                          "day",
                          "hour",
                          "minute"
                        ]
                      },
                      "place": {
                        "type": "string"
                      },
                      "feed_targeting": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      "targeting": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      "child_attachments": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string"
                          },
                          "additionalProperties": {}
                        }
                      },
                      "multi_share_end_card": {
                        "type": "boolean"
                      },
                      "multi_share_optimized": {
                        "type": "boolean"
                      },
                      "unpublished_content_type": {
                        "type": "string"
                      },
                      "no_story": {
                        "type": "boolean"
                      },
                      "crossposted_video_id": {
                        "type": "string"
                      },
                      "spherical": {
                        "type": "boolean"
                      }
                    }
                  },
                  "scheduled_at": {
                    "type": "string"
                  },
                  "display_timezone": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  },
                  "local_scheduled_at": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "schedule_timezone": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 80
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "schedule_dst_disambiguation": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "exact",
                          "earlier",
                          "later"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "schedule_intent_state": {
                    "type": "string",
                    "enum": [
                      "verified",
                      "legacy_unverified"
                    ]
                  },
                  "expires_at": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "scheduled",
                      "publishing",
                      "published",
                      "failed",
                      "expired",
                      "needs_reschedule",
                      "cancelled",
                      "deleted"
                    ]
                  },
                  "version": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "automatic_retry_enabled": {
                    "type": "boolean"
                  },
                  "delete_requested_at": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "published_at": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "deleted_at": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "provider_post_id": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "permalink": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uri"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "created_at": {
                    "type": "string"
                  },
                  "updated_at": {
                    "type": "string"
                  },
                  "project_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"
                      }
                    ]
                  },
                  "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"
                      }
                    ]
                  },
                  "source_ref": {
                    "anyOf": [
                      {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "workspace_id",
                  "social_account_id",
                  "platform",
                  "destination",
                  "caption",
                  "hashtags",
                  "media",
                  "publish_options",
                  "scheduled_at",
                  "display_timezone",
                  "expires_at",
                  "status",
                  "version",
                  "automatic_retry_enabled",
                  "delete_requested_at",
                  "published_at",
                  "deleted_at",
                  "provider_post_id",
                  "permalink",
                  "created_at",
                  "updated_at",
                  "project_id",
                  "batch_id",
                  "source_ref"
                ]
              },
              "retry_allowed": {
                "type": "boolean"
              }
            },
            "required": [
              "item_id",
              "ordinal",
              "predecessor_post_id",
              "post",
              "retry_allowed"
            ]
          }
        },
        "expected_versions": {
          "type": "object",
          "propertyNames": {
            "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}$"
          },
          "additionalProperties": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "actions": {
          "minItems": 2,
          "maxItems": 2,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "resume",
                  "cancel"
                ]
              },
              "allowed": {
                "type": "boolean"
              },
              "reason_code": {
                "type": "string",
                "enum": [
                  "allowed",
                  "no_failed_items",
                  "resolution_required",
                  "retry_unavailable",
                  "terminal_state"
                ]
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "action",
              "allowed",
              "reason_code",
              "message"
            ]
          }
        }
      },
      "required": [
        "id",
        "workspace_id",
        "social_account_id",
        "idempotency_key",
        "item_count",
        "created_at",
        "items",
        "expected_versions",
        "actions"
      ]
    },
    "deduped": {
      "type": "boolean"
    }
  },
  "required": [
    "thread"
  ]
}

오류 및 안전한 재시도

HTTP 상태와 응답 본문을 확인하세요. 400 검증 오류에는 ZodError가 포함될 수 있으며, 핸들러 오류는 error, message, code 필드를 사용합니다. 진단용 request_id 또는 x-request-id를 자격 증명 없이 보관하세요. 401/403 접근 오류는 재시도 전에 해결하고 429에는 Retry-After를 따르세요. 쓰기 결과가 불확실하거나 5xx를 반환하면 먼저 기존 결과를 읽으세요. 지원하는 작업에서만 멱등성 키를 재사용하세요. 재시도 동작은 작업마다 다르며 정확히 한 번 전송을 보장하지 않습니다.

문제 해결 안내

예제

예제는 스키마로 확인한 가상 값을 사용합니다. ID를 사용 권한이 있는 값으로, 미디어를 준비된 에셋으로, 날짜를 확인된 게시 시각으로 바꾸세요. 쓰기 제출 전에 계정 적격성을 확인하세요. 이 페이지는 API 요청을 보내지 않습니다.

서버에서 SOSOAPI_ACCESS_TOKEN에 이 작업이 허용하는 자격 증명을 설정하고 브라우저 코드에 넣지 마세요. 에이전트는 sosoapi auth login으로 브라우저 로그인하며 CLI가 자격 증명을 갱신하게 하세요.

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "id": "88888888-8888-4888-8888-888888888888",
  "expected_versions": {
    "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa1": 2,
    "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa2": 2
  },
  "scheduled_at": "2099-01-16T09:00:00Z"
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/x-post-threads/resume" \
  -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/studio-api/x-post-threads/resume", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "id": "88888888-8888-4888-8888-888888888888",
  "expected_versions": {
    "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa1": 2,
    "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa2": 2
  },
  "scheduled_at": "2099-01-16T09:00:00Z"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /studio-api/x-post-threads/resume < request.json

합성 응답 예제

{
  "thread": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "id": "88888888-8888-4888-8888-888888888888",
    "social_account_id": "22222222-2222-4222-8222-222222222222",
    "idempotency_key": "example-x-thread-0001",
    "item_count": 2,
    "created_at": "2099-01-15T08:00:00Z",
    "items": [
      {
        "item_id": "99999999-9999-4999-8999-999999999991",
        "ordinal": 1,
        "predecessor_post_id": null,
        "retry_allowed": false,
        "post": {
          "id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa1",
          "workspace_id": "11111111-1111-4111-8111-111111111111",
          "social_account_id": "22222222-2222-4222-8222-222222222222",
          "platform": "x",
          "destination": {
            "social_account_id": "22222222-2222-4222-8222-222222222222",
            "platform": "x",
            "platform_user_id": "fictional-x-account",
            "account_label": "Fictional X account"
          },
          "caption": "A fictional two-part announcement.",
          "hashtags": [],
          "media": [],
          "publish_options": {
            "post_type": "TEXT"
          },
          "scheduled_at": "2099-01-16T09:00:00Z",
          "display_timezone": "UTC",
          "expires_at": null,
          "status": "scheduled",
          "version": 3,
          "automatic_retry_enabled": false,
          "delete_requested_at": null,
          "published_at": null,
          "deleted_at": null,
          "provider_post_id": null,
          "permalink": null,
          "project_id": null,
          "batch_id": null,
          "source_ref": null,
          "created_at": "2099-01-15T08:00:00Z",
          "updated_at": "2099-01-15T08:30:00Z"
        }
      },
      {
        "item_id": "99999999-9999-4999-8999-999999999992",
        "ordinal": 2,
        "predecessor_post_id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa1",
        "retry_allowed": false,
        "post": {
          "id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa2",
          "workspace_id": "11111111-1111-4111-8111-111111111111",
          "social_account_id": "22222222-2222-4222-8222-222222222222",
          "platform": "x",
          "destination": {
            "social_account_id": "22222222-2222-4222-8222-222222222222",
            "platform": "x",
            "platform_user_id": "fictional-x-account",
            "account_label": "Fictional X account"
          },
          "caption": "The second part of this fictional announcement.",
          "hashtags": [],
          "media": [],
          "publish_options": {
            "post_type": "TEXT"
          },
          "scheduled_at": "2099-01-16T09:00:00Z",
          "display_timezone": "UTC",
          "expires_at": null,
          "status": "scheduled",
          "version": 3,
          "automatic_retry_enabled": false,
          "delete_requested_at": null,
          "published_at": null,
          "deleted_at": null,
          "provider_post_id": null,
          "permalink": null,
          "project_id": null,
          "batch_id": null,
          "source_ref": null,
          "created_at": "2099-01-15T08:00:00Z",
          "updated_at": "2099-01-15T08:30:00Z"
        }
      }
    ],
    "expected_versions": {
      "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa1": 3,
      "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaa2": 3
    },
    "actions": [
      {
        "action": "resume",
        "allowed": false,
        "reason_code": "no_failed_items",
        "message": "This example has no retryable failed items."
      },
      {
        "action": "cancel",
        "allowed": true,
        "reason_code": "allowed",
        "message": "Cancel the unpublished items in this fictional thread."
      }
    ]
  }
}

MCP: sosoapi_resume_x_post_thread