僅在使用時載入搜尋。在下方瀏覽所有類別。

排程與發布

提交 Threads CSV

每次請求明確提交或繼續最多五列所選 Threads CSV,沿用相同匯入、草稿及提交身分。保留原始 CSV 及選取範圍以便復原。

POST /studio-api/threads-csv/submit

契約檢閱日期: · sha256:11debf801a5e6096

概覽

每次請求明確提交或繼續最多五列所選 Threads CSV,沿用相同匯入、草稿及提交身分。保留原始 CSV 及選取範圍以便復原。

成功 HTTP 回應可能表示請求已接受,並非已完成。背景工作請儲存回傳 ID,持續檢查同一操作直到完成。已排程或已接受的貼文,只有平台確認後才算已發布;用戶端逾時無法證明結果。

驗證與權限

接受的憑證類別
user_session, delegated_oauth, personal_access_token
委派能力
agent:publish
最低工作空間角色
editor
存取範圍
此使用者有權存取的資源
需要所有工作空間同意
否
變更狀態
是
操作完成時
durable independent per-row acceptance; accepted rows are never recreated and acceptance is not provider publication

權杖只能使用其擁有者持有的權利。每次請求會檢查工作空間成員資格、資源擁有權、所選工作空間及已授予能力。core 與 full 設定檔只變更顯示的工具,不會授予存取權。

請求欄位

「必填」是指在其父物件及所選分支內必填。必填子欄位不會使選填父物件變成必填。下列規則與欄位名稱均複製自契約。

請求欄位
欄位 / 分支類型 / 必填約束
$object在父物件中必填
  • additionalProperties: false
workspace_idstring在父物件中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
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)$"
import_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)$"
csvstring在父物件中必填
  • minLength: 1
  • maxLength: 200000
row_numbersarray在父物件中必填
  • minItems: 1
  • maxItems: 50
row_numbers[]integer選填/項目
  • minimum: 1
  • maximum: 50
preview_digeststring在父物件中必填
  • pattern: "^[a-f0-9]{64}$"
完整 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)$"
    },
    "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)$"
    },
    "import_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)$"
    },
    "csv": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000
    },
    "row_numbers": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 50
      }
    },
    "preview_digest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "workspace_id",
    "social_account_id",
    "import_id",
    "csv",
    "row_numbers",
    "preview_digest"
  ],
  "additionalProperties": false
}

回應與完成

成功 HTTP 狀態:200。操作完成時: durable independent per-row acceptance; accepted rows are never recreated and acceptance is not provider publication.

成功 HTTP 回應可能表示請求已接受,並非已完成。背景工作請儲存回傳 ID,持續檢查同一操作直到完成。已排程或已接受的貼文,只有平台確認後才算已發布;用戶端逾時無法證明結果。

「必填」是指在其父物件及所選分支內必填。必填子欄位不會使選填父物件變成必填。下列規則與欄位名稱均複製自契約。

回應與完成
欄位 / 分支類型 / 必填約束
$object在父物件中必填—
contract_versionstring在父物件中必填
  • const: "threads-csv/v1"
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)$"
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)$"
import_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)$"
preview_digeststring在父物件中必填
  • pattern: "^[a-f0-9]{64}$"
selected_row_numbersarray在父物件中必填
  • maxItems: 50
selected_row_numbers[]integer選填/項目
  • minimum: 1
  • maximum: 50
rowsarray在父物件中必填
  • maxItems: 50
rows[]object選填/項目—
rows[].row_numberinteger在父物件中必填
  • minimum: 1
  • maximum: 50
rows[].row_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)$"
rows[].draft_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)$"
rows[].save_mutation_idstring在父物件中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
rows[].submission_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)$"
rows[].captionstring在父物件中必填
  • maxLength: 5000
rows[].scheduled_atstring | null在父物件中必填—
rows[].scheduled_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)))$"
rows[].scheduled_atanyOf 2null在父物件中必填—
rows[].display_timezonestring在父物件中必填
  • maxLength: 128
rows[].asset_idsarray在父物件中必填
  • maxItems: 20
rows[].asset_ids[]string選填/項目
  • pattern: "^[1-9]\\d{0,15}$"
rows[].topic_tagstring | null在父物件中必填—
rows[].topic_taganyOf 1string在父物件中必填
  • maxLength: 50
rows[].topic_taganyOf 2null在父物件中必填—
rows[].post_typestring | null在父物件中必填—
rows[].post_typeanyOf 1string在父物件中必填
  • enum: ["TEXT","IMAGE","VIDEO","CAROUSEL"]
rows[].post_typeanyOf 2null在父物件中必填—
rows[].statusstring在父物件中必填
  • enum: ["ready","invalid","accepted","not_accepted","uncertain","not_attempted"]
rows[].errorsarray在父物件中必填
  • maxItems: 10
rows[].errors[]object選填/項目—
rows[].errors[].codestring在父物件中必填
  • maxLength: 80
rows[].errors[].messagestring在父物件中必填
  • maxLength: 300
rows[].duplicate_ofinteger | null在父物件中必填—
rows[].duplicate_ofanyOf 1integer在父物件中必填
  • minimum: 1
  • maximum: 50
rows[].duplicate_ofanyOf 2null在父物件中必填—
rows[].draft_revisioninteger | null在父物件中必填—
rows[].draft_revisionanyOf 1integer在父物件中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].draft_revisionanyOf 2null在父物件中必填—
rows[].postobject | null在父物件中必填—
rows[].postanyOf 1object在父物件中必填—
rows[].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}$"
rows[].post.workspace_idanyOf 1string在父物件中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
rows[].post.social_account_idanyOf 1string | null在父物件中必填—
rows[].post.social_account_idanyOf 1 / anyOf 1string在父物件中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
rows[].post.social_account_idanyOf 1 / anyOf 2null在父物件中必填—
rows[].post.platformanyOf 1string在父物件中必填
  • enum: ["instagram","threads","facebook","youtube","x"]
rows[].post.destinationanyOf 1object在父物件中必填—
rows[].post.destination.social_account_idanyOf 1string | null在父物件中必填—
rows[].post.destination.social_account_idanyOf 1 / anyOf 1string在父物件中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
rows[].post.destination.social_account_idanyOf 1 / anyOf 2null在父物件中必填—
rows[].post.destination.platformanyOf 1string在父物件中必填
  • enum: ["instagram","threads","facebook","youtube","x"]
rows[].post.destination.platform_user_idanyOf 1string | null在父物件中必填—
rows[].post.destination.account_labelanyOf 1string | null在父物件中必填—
rows[].post.captionanyOf 1string | null在父物件中必填—
rows[].post.hashtagsanyOf 1array在父物件中必填—
rows[].post.hashtags[]anyOf 1string選填/項目—
rows[].post.mediaanyOf 1array在父物件中必填—
rows[].post.media[]anyOf 1object選填/項目—
rows[].post.media[].kindanyOf 1string在父物件中必填
  • enum: ["image","video"]
rows[].post.media[].urlanyOf 1string在父物件中必填
  • format: "uri"
rows[].post.media[].cover_urlanyOf 1string | null選填/項目—
rows[].post.media[].cover_urlanyOf 1 / anyOf 1string選填/項目
  • format: "uri"
rows[].post.media[].cover_urlanyOf 1 / anyOf 2null選填/項目—
rows[].post.media[].cover_asset_idanyOf 1integer | null選填/項目—
rows[].post.media[].cover_asset_idanyOf 1 / anyOf 1integer選填/項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.media[].cover_asset_idanyOf 1 / anyOf 2null選填/項目—
rows[].post.media[].asset_idanyOf 1integer | null選填/項目—
rows[].post.media[].asset_idanyOf 1 / anyOf 1integer選填/項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.media[].asset_idanyOf 1 / anyOf 2null選填/項目—
rows[].post.media[].mime_typeanyOf 1string | null選填/項目—
rows[].post.media[].mime_typeanyOf 1 / anyOf 1string選填/項目
  • minLength: 1
  • maxLength: 160
rows[].post.media[].mime_typeanyOf 1 / anyOf 2null選填/項目—
rows[].post.media[].preview_urlanyOf 1string | null選填/項目

暫時授權的讀取 URL;保留 url 作為排程貼文的持久媒體身分。

—
rows[].post.media[].preview_urlanyOf 1 / anyOf 1string選填/項目
  • format: "uri"
rows[].post.media[].preview_urlanyOf 1 / anyOf 2null選填/項目—
rows[].post.media[].cover_preview_urlanyOf 1string | null選填/項目

暫時授權的封面讀取 URL;保留 cover_url 作為持久媒體身分。

—
rows[].post.media[].cover_preview_urlanyOf 1 / anyOf 1string選填/項目
  • format: "uri"
rows[].post.media[].cover_preview_urlanyOf 1 / anyOf 2null選填/項目—
rows[].post.media[].preview_expires_atanyOf 1string | null選填/項目—
rows[].post.media[].preview_expires_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))$"
rows[].post.media[].preview_expires_atanyOf 1 / anyOf 2null選填/項目—
rows[].post.link_urlanyOf 1string | null選填/項目—
rows[].post.link_urlanyOf 1 / anyOf 1string選填/項目
  • format: "uri"
rows[].post.link_urlanyOf 1 / anyOf 2null選填/項目—
rows[].post.publish_optionsanyOf 1object在父物件中必填—
rows[].post.publish_options.post_typeanyOf 1string選填/項目
  • enum: ["TEXT","LINK","IMAGE","MULTI_IMAGE","VIDEO","CAROUSEL","REELS","STORY_IMAGE","STORY_VIDEO","REPOST","SHORT"]
rows[].post.publish_options.location_idanyOf 1string選填/項目
  • minLength: 1
rows[].post.publish_options.share_to_feedanyOf 1boolean選填/項目—
rows[].post.publish_options.collaboratorsanyOf 1array選填/項目
  • maxItems: 3
rows[].post.publish_options.collaborators[]anyOf 1string選填/項目
  • minLength: 1
rows[].post.publish_options.first_commentanyOf 1string選填/項目
  • minLength: 1
  • maxLength: 2200
rows[].post.publish_options.topic_taganyOf 1string選填/項目
  • minLength: 1
rows[].post.publish_options.thumb_offset_msanyOf 1integer選填/項目
  • minimum: 0
  • maximum: 9007199254740991
rows[].post.publish_options.titleanyOf 1string選填/項目
  • maxLength: 255
rows[].post.publish_options.youtube_privacy_statusanyOf 1string選填/項目
  • enum: ["private","unlisted","public"]
rows[].post.publish_options.youtube_category_idanyOf 1string選填/項目
  • pattern: "^\\d+$"
rows[].post.publish_options.youtube_contains_synthetic_mediaanyOf 1boolean選填/項目—
rows[].post.publish_options.descriptionanyOf 1string選填/項目
  • maxLength: 5000
rows[].post.publish_options.category_idanyOf 1string選填/項目
  • pattern: "^\\d+$"
rows[].post.publish_options.privacy_statusanyOf 1string選填/項目
  • enum: ["private","unlisted","public"]
rows[].post.publish_options.cancellation_modeanyOf 1string選填/項目
  • enum: ["DELETE","UNSCHEDULE_KEEP_PRIVATE"]
rows[].post.publish_options.tagsanyOf 1array選填/項目—
rows[].post.publish_options.tags[]anyOf 1string選填/項目—
rows[].post.publish_options.default_languageanyOf 1string選填/項目—
rows[].post.publish_options.localizationsanyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.localizations.*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.licenseanyOf 1string選填/項目
  • enum: ["youtube","creativeCommon"]
rows[].post.publish_options.embeddableanyOf 1boolean選填/項目—
rows[].post.publish_options.public_stats_viewableanyOf 1boolean選填/項目—
rows[].post.publish_options.self_declared_made_for_kidsanyOf 1boolean選填/項目—
rows[].post.publish_options.contains_synthetic_mediaanyOf 1boolean選填/項目—
rows[].post.publish_options.has_paid_product_placementanyOf 1boolean選填/項目—
rows[].post.publish_options.recording_dateanyOf 1string選填/項目—
rows[].post.publish_options.notify_subscribersanyOf 1boolean選填/項目—
rows[].post.publish_options.thumbnail_asset_idanyOf 1integer選填/項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.publish_options.surface_expectationanyOf 1string選填/項目
  • const: "SHORT"
rows[].post.publish_options.brand_partneranyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.brand_partner.*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.cover_asset_idanyOf 1integer選填/項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.publish_options.audio_nameanyOf 1string選填/項目—
rows[].post.publish_options.trial_paramsanyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.trial_params.*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.is_ai_generatedanyOf 1boolean選填/項目—
rows[].post.publish_options.branded_content_sponsor_idsanyOf 1array選填/項目—
rows[].post.publish_options.branded_content_sponsor_ids[]anyOf 1string選填/項目—
rows[].post.publish_options.is_paid_partnershipanyOf 1boolean選填/項目—
rows[].post.publish_options.media_optionsanyOf 1array選填/項目—
rows[].post.publish_options.media_options[]anyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.media_options[].*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.reply_to_idanyOf 1string選填/項目—
rows[].post.publish_options.quote_post_idanyOf 1string選填/項目—
rows[].post.publish_options.repost_target_idanyOf 1string選填/項目—
rows[].post.publish_options.reply_controlanyOf 1string選填/項目—
rows[].post.publish_options.enable_reply_approvalsanyOf 1boolean選填/項目—
rows[].post.publish_options.link_attachmentanyOf 1string選填/項目
  • format: "uri"
rows[].post.publish_options.poll_attachmentanyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.poll_attachment.*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.gif_attachmentanyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.gif_attachment.*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.text_attachmentanyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.text_attachment.*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.text_entitiesanyOf 1array選填/項目—
rows[].post.publish_options.text_entities[]anyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.text_entities[].*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.is_spoiler_mediaanyOf 1boolean選填/項目—
rows[].post.publish_options.is_ghost_postanyOf 1boolean選填/項目—
rows[].post.publish_options.allowlisted_country_codesanyOf 1array選填/項目—
rows[].post.publish_options.allowlisted_country_codes[]anyOf 1string選填/項目—
rows[].post.publish_options.crossreshare_to_iganyOf 1boolean選填/項目—
rows[].post.publish_options.crossreshare_to_ig_dark_modeanyOf 1boolean選填/項目—
rows[].post.publish_options.auto_publish_textanyOf 1boolean選填/項目—
rows[].post.publish_options.publication_modeanyOf 1string選填/項目
  • enum: ["PUBLISH","DRAFT"]
rows[].post.publish_options.backdated_timeanyOf 1number選填/項目—
rows[].post.publish_options.backdated_time_granularityanyOf 1string選填/項目
  • enum: ["year","month","day","hour","minute"]
rows[].post.publish_options.placeanyOf 1string選填/項目—
rows[].post.publish_options.feed_targetinganyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.feed_targeting.*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.targetinganyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.targeting.*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.child_attachmentsanyOf 1array選填/項目—
rows[].post.publish_options.child_attachments[]anyOf 1object選填/項目
  • additionalProperties: {}
rows[].post.publish_options.child_attachments[].*anyOf 1any JSON value選填/項目—
rows[].post.publish_options.multi_share_end_cardanyOf 1boolean選填/項目—
rows[].post.publish_options.multi_share_optimizedanyOf 1boolean選填/項目—
rows[].post.publish_options.unpublished_content_typeanyOf 1string選填/項目—
rows[].post.publish_options.no_storyanyOf 1boolean選填/項目—
rows[].post.publish_options.crossposted_video_idanyOf 1string選填/項目—
rows[].post.publish_options.sphericalanyOf 1boolean選填/項目—
rows[].post.scheduled_atanyOf 1string在父物件中必填—
rows[].post.display_timezoneanyOf 1string在父物件中必填
  • minLength: 1
  • maxLength: 80
rows[].post.local_scheduled_atanyOf 1string | null選填/項目—
rows[].post.local_scheduled_atanyOf 1 / anyOf 1string選填/項目
  • pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
rows[].post.local_scheduled_atanyOf 1 / anyOf 2null選填/項目—
rows[].post.schedule_timezoneanyOf 1string | null選填/項目—
rows[].post.schedule_timezoneanyOf 1 / anyOf 1string選填/項目
  • minLength: 1
  • maxLength: 80
rows[].post.schedule_timezoneanyOf 1 / anyOf 2null選填/項目—
rows[].post.schedule_dst_disambiguationanyOf 1string | null選填/項目—
rows[].post.schedule_dst_disambiguationanyOf 1 / anyOf 1string選填/項目
  • enum: ["exact","earlier","later"]
rows[].post.schedule_dst_disambiguationanyOf 1 / anyOf 2null選填/項目—
rows[].post.schedule_intent_stateanyOf 1string選填/項目
  • enum: ["verified","legacy_unverified"]
rows[].post.expires_atanyOf 1string | null在父物件中必填—
rows[].post.statusanyOf 1string在父物件中必填
  • enum: ["scheduled","publishing","published","failed","expired","needs_reschedule","cancelled","deleted"]
rows[].post.versionanyOf 1integer在父物件中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.automatic_retry_enabledanyOf 1boolean在父物件中必填—
rows[].post.delete_requested_atanyOf 1string | null在父物件中必填—
rows[].post.deletionanyOf 1object選填/項目—
rows[].post.deletion.stateanyOf 1string在父物件中必填
  • enum: ["pending","retry_scheduled","failed","unconfirmed","confirmed","unpublished_cancelled"]
rows[].post.deletion.retry_atanyOf 1string | null在父物件中必填—
rows[].post.deletion.retry_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))$"
rows[].post.deletion.retry_atanyOf 1 / anyOf 2null在父物件中必填—
rows[].post.published_atanyOf 1string | null在父物件中必填—
rows[].post.deleted_atanyOf 1string | null在父物件中必填—
rows[].post.provider_post_idanyOf 1string | null在父物件中必填—
rows[].post.permalinkanyOf 1string | null在父物件中必填—
rows[].post.permalinkanyOf 1 / anyOf 1string在父物件中必填
  • format: "uri"
rows[].post.permalinkanyOf 1 / anyOf 2null在父物件中必填—
rows[].post.created_atanyOf 1string在父物件中必填—
rows[].post.updated_atanyOf 1string在父物件中必填—
rows[].post.project_idanyOf 1string | null在父物件中必填—
rows[].post.project_idanyOf 1 / anyOf 1string在父物件中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
rows[].post.project_idanyOf 1 / anyOf 2null在父物件中必填—
rows[].post.batch_idanyOf 1string | null在父物件中必填—
rows[].post.batch_idanyOf 1 / anyOf 1string在父物件中必填
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
rows[].post.batch_idanyOf 1 / anyOf 2null在父物件中必填—
rows[].post.source_refanyOf 1object | null在父物件中必填—
rows[].post.source_refanyOf 1 / anyOf 1object在父物件中必填
  • additionalProperties: {}
rows[].post.source_ref.*anyOf 1 / anyOf 1any JSON value選填/項目—
rows[].post.source_refanyOf 1 / anyOf 2null在父物件中必填—
rows[].postanyOf 2null在父物件中必填—
import_errorsarray在父物件中必填
  • maxItems: 10
import_errors[]object選填/項目—
import_errors[].codestring在父物件中必填
  • maxLength: 80
import_errors[].messagestring在父物件中必填
  • maxLength: 300
countsobject在父物件中必填—
counts.totalinteger在父物件中必填
  • minimum: 0
  • maximum: 50
counts.readyinteger在父物件中必填
  • minimum: 0
  • maximum: 50
counts.invalidinteger在父物件中必填
  • minimum: 0
  • maximum: 50
counts.acceptedinteger在父物件中必填
  • minimum: 0
  • maximum: 50
counts.not_acceptedinteger在父物件中必填
  • minimum: 0
  • maximum: 50
counts.uncertaininteger在父物件中必填
  • minimum: 0
  • maximum: 50
counts.not_attemptedinteger在父物件中必填
  • minimum: 0
  • maximum: 50
completeboolean在父物件中必填—
完整 JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "threads-csv/v1"
    },
    "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)$"
    },
    "import_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)$"
    },
    "preview_digest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "selected_row_numbers": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 50
      }
    },
    "rows": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "row_number": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "row_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)$"
          },
          "draft_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)$"
          },
          "save_mutation_id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "submission_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)$"
          },
          "caption": {
            "type": "string",
            "maxLength": 5000
          },
          "scheduled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "display_timezone": {
            "type": "string",
            "maxLength": 128
          },
          "asset_ids": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[1-9]\\d{0,15}$"
            }
          },
          "topic_tag": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ]
          },
          "post_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "TEXT",
                  "IMAGE",
                  "VIDEO",
                  "CAROUSEL"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "ready",
              "invalid",
              "accepted",
              "not_accepted",
              "uncertain",
              "not_attempted"
            ]
          },
          "errors": {
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "maxLength": 80
                },
                "message": {
                  "type": "string",
                  "maxLength": 300
                }
              },
              "required": [
                "code",
                "message"
              ]
            }
          },
          "duplicate_of": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 50
              },
              {
                "type": "null"
              }
            ]
          },
          "draft_revision": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "post": {
            "anyOf": [
              {
                "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"
                    ]
                  },
                  "deletion": {
                    "type": "object",
                    "properties": {
                      "state": {
                        "type": "string",
                        "enum": [
                          "pending",
                          "retry_scheduled",
                          "failed",
                          "unconfirmed",
                          "confirmed",
                          "unpublished_cancelled"
                        ]
                      },
                      "retry_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": [
                      "state",
                      "retry_at"
                    ]
                  },
                  "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"
                ]
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "row_number",
          "row_id",
          "draft_id",
          "save_mutation_id",
          "submission_id",
          "caption",
          "scheduled_at",
          "display_timezone",
          "asset_ids",
          "topic_tag",
          "post_type",
          "status",
          "errors",
          "duplicate_of",
          "draft_revision",
          "post"
        ]
      }
    },
    "import_errors": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "maxLength": 80
          },
          "message": {
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "code",
          "message"
        ]
      }
    },
    "counts": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "ready": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "invalid": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "accepted": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "not_accepted": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "uncertain": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "not_attempted": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        }
      },
      "required": [
        "total",
        "ready",
        "invalid",
        "accepted",
        "not_accepted",
        "uncertain",
        "not_attempted"
      ]
    },
    "complete": {
      "type": "boolean"
    }
  },
  "required": [
    "contract_version",
    "workspace_id",
    "social_account_id",
    "import_id",
    "preview_digest",
    "selected_row_numbers",
    "rows",
    "import_errors",
    "counts",
    "complete"
  ]
}

錯誤與安全重試

檢查 HTTP 狀態和回應內容。400 驗證錯誤可能包含 ZodError;處理常式錯誤使用 error、message 和 code 欄位。保留 request_id 或 x-request-id 以便診斷,但不要保留憑證。先解決 401/403 存取錯誤再重試,並在收到 429 時遵循 Retry-After。如寫入結果不確定或回傳 5xx,先讀取現有結果。僅在支援時重複使用冪等鍵;重試行為因操作而異,並不保證恰好傳送一次。

故障排查指南

範例

這些範例使用已依結構描述檢查的虛構值。請將 ID 替換為您有權使用的 ID、將媒體替換為已就緒素材,並將日期替換為已確認的發布時間。提交寫入前,請檢查帳號資格。本頁不會傳送 API 請求。

在伺服器上將 SOSOAPI_ACCESS_TOKEN 設為此操作接受的憑證,且不要放入瀏覽器程式碼。AI 代理程式請使用 sosoapi auth login 透過瀏覽器登入,並由 CLI 更新憑證。

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "social_account_id": "22222222-2222-4222-8222-222222222222",
  "import_id": "55555555-5555-4555-8555-555555555555",
  "csv": "caption,scheduled_at,display_timezone,asset_ids,topic_tag\nA fictional announcement.,2099-01-15T09:00:00Z,UTC,,Cooking",
  "row_numbers": [
    1
  ],
  "preview_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/threads-csv/submit" \
  -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/threads-csv/submit", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "social_account_id": "22222222-2222-4222-8222-222222222222",
  "import_id": "55555555-5555-4555-8555-555555555555",
  "csv": "caption,scheduled_at,display_timezone,asset_ids,topic_tag\nA fictional announcement.,2099-01-15T09:00:00Z,UTC,,Cooking",
  "row_numbers": [
    1
  ],
  "preview_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /studio-api/threads-csv/submit < request.json

合成回應範例

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "social_account_id": "22222222-2222-4222-8222-222222222222",
  "import_id": "55555555-5555-4555-8555-555555555555",
  "contract_version": "threads-csv/v1",
  "preview_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "selected_row_numbers": [
    1
  ],
  "rows": [
    {
      "row_number": 1,
      "row_id": "80000000-0000-4000-8000-000000000004",
      "draft_id": "70000000-0000-4000-8000-000000000004",
      "save_mutation_id": "60000000-0000-4000-8000-000000000004",
      "submission_id": "60000000-0000-4000-8000-000000000005",
      "caption": "A fictional announcement.",
      "scheduled_at": "2099-01-15T09:00:00Z",
      "display_timezone": "UTC",
      "asset_ids": [],
      "topic_tag": "Cooking",
      "post_type": "TEXT",
      "status": "accepted",
      "errors": [],
      "duplicate_of": null,
      "draft_revision": 3,
      "post": {
        "id": "90000000-0000-4000-8000-000000000004",
        "workspace_id": "11111111-1111-4111-8111-111111111111",
        "social_account_id": "22222222-2222-4222-8222-222222222222",
        "platform": "threads",
        "destination": {
          "social_account_id": "22222222-2222-4222-8222-222222222222",
          "platform": "threads",
          "platform_user_id": "12345",
          "account_label": "Fictional Threads account"
        },
        "caption": "A fictional announcement.",
        "hashtags": [],
        "media": [],
        "publish_options": {
          "post_type": "TEXT",
          "topic_tag": "Cooking"
        },
        "scheduled_at": "2099-01-15T09:00:00Z",
        "display_timezone": "UTC",
        "expires_at": null,
        "status": "scheduled",
        "version": 1,
        "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": "50000000-0000-4000-8000-000000000004",
        "source_ref": null,
        "created_at": "2099-01-14T09:00:00Z",
        "updated_at": "2099-01-14T09:00:00Z"
      }
    }
  ],
  "import_errors": [],
  "counts": {
    "total": 1,
    "ready": 0,
    "invalid": 0,
    "accepted": 1,
    "not_accepted": 0,
    "uncertain": 0,
    "not_attempted": 0
  },
  "complete": true
}

MCP: sosoapi_submit_threads_csv