使用時先載入搜尋資料。亦可直接瀏覽下方分類。

排程及發佈

列出排程帖文

列出工作空間排程帖文,可按 project、status 及時間篩選,以 cursor 分頁。狀態包括 scheduled、publishing、published、failed、expired、needs_reschedule、cancelled、deleted。

POST /studio-api/scheduled-posts/list

Contract 核對日期: · sha256:563d2d581da0ad29

概覽

列出工作空間排程帖文,可按 project、status 及時間篩選,以 cursor 分頁。狀態包括 scheduled、publishing、published、failed、expired、needs_reschedule、cancelled、deleted。

HTTP 成功只表示呢次操作嘅回應。背景工作要保留回傳 ID,讀取同一操作直到文件指定嘅終態。接受請求、排程成功或客戶端逾時,都唔代表已發佈。

驗證及權限

接受嘅憑證類型
user_session, delegated_oauth, personal_access_token
委派權限
agent:operate
最低工作空間角色
viewer
存取範圍
已登入使用者及獲授權資源範圍
需要所有工作空間同意
唔係
會改動狀態
唔係
完成依據
synchronous_http_response

憑證唔能夠擴大持有人權限。實際操作仍會檢查工作空間成員資格、資源擁有權、已選工作空間及能力授權。Tool profile 只改變可見工具,唔會授權。

請求欄位

必填表示喺所屬物件及所選分支內必須提供;子欄位必填唔代表可選父物件變成必填。以下欄位名稱及規則直接來自 contract。

請求欄位
欄位/分支類型/必填限制
$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)$"
project_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)$"
statusstring可選/陣列項目
  • enum: ["scheduled","publishing","published","failed","expired","needs_reschedule","cancelled","deleted"]
scheduled_fromstring可選/陣列項目
  • 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)))$"
scheduled_tostring可選/陣列項目
  • 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)))$"
limitinteger可選/陣列項目
  • minimum: 1
  • maximum: 200
  • default: 50
cursorobject可選/陣列項目
  • additionalProperties: false
cursor.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)))$"
cursor.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}$"
完整 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)$"
    },
    "project_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)$"
    },
    "status": {
      "type": "string",
      "enum": [
        "scheduled",
        "publishing",
        "published",
        "failed",
        "expired",
        "needs_reschedule",
        "cancelled",
        "deleted"
      ]
    },
    "scheduled_from": {
      "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)))$"
    },
    "scheduled_to": {
      "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)))$"
    },
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "cursor": {
      "type": "object",
      "properties": {
        "scheduled_at": {
          "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)))$"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
        }
      },
      "required": [
        "scheduled_at",
        "id"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "workspace_id"
  ],
  "additionalProperties": false
}

回應及完成條件

成功 HTTP 狀態碼: 200. 完成依據: synchronous_http_response.

HTTP 成功只表示呢次操作嘅回應。背景工作要保留回傳 ID,讀取同一操作直到文件指定嘅終態。接受請求、排程成功或客戶端逾時,都唔代表已發佈。

必填表示喺所屬物件及所選分支內必須提供;子欄位必填唔代表可選父物件變成必填。以下欄位名稱及規則直接來自 contract。

回應及完成條件
欄位/分支類型/必填限制
$object父物件內必填—
postsarray父物件內必填—
posts[]object可選/陣列項目—
posts[].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}$"
posts[].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)$"
posts[].social_account_idstring | null父物件內必填—
posts[].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)$"
posts[].social_account_idanyOf 2null父物件內必填—
posts[].platformstring父物件內必填
  • enum: ["instagram","threads","facebook","youtube","x"]
posts[].destinationobject父物件內必填—
posts[].destination.social_account_idstring | null父物件內必填—
posts[].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)$"
posts[].destination.social_account_idanyOf 2null父物件內必填—
posts[].destination.platformstring父物件內必填
  • enum: ["instagram","threads","facebook","youtube","x"]
posts[].destination.platform_user_idstring | null父物件內必填—
posts[].destination.platform_user_idanyOf 1string父物件內必填—
posts[].destination.platform_user_idanyOf 2null父物件內必填—
posts[].destination.account_labelstring | null父物件內必填—
posts[].destination.account_labelanyOf 1string父物件內必填—
posts[].destination.account_labelanyOf 2null父物件內必填—
posts[].captionstring | null父物件內必填—
posts[].captionanyOf 1string父物件內必填—
posts[].captionanyOf 2null父物件內必填—
posts[].hashtagsarray父物件內必填—
posts[].hashtags[]string可選/陣列項目—
posts[].mediaarray父物件內必填—
posts[].media[]object可選/陣列項目—
posts[].media[].kindstring父物件內必填
  • enum: ["image","video"]
posts[].media[].urlstring父物件內必填
  • format: "uri"
posts[].media[].cover_urlstring | null可選/陣列項目—
posts[].media[].cover_urlanyOf 1string可選/陣列項目
  • format: "uri"
posts[].media[].cover_urlanyOf 2null可選/陣列項目—
posts[].media[].cover_asset_idinteger | null可選/陣列項目—
posts[].media[].cover_asset_idanyOf 1integer可選/陣列項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
posts[].media[].cover_asset_idanyOf 2null可選/陣列項目—
posts[].media[].asset_idinteger | null可選/陣列項目—
posts[].media[].asset_idanyOf 1integer可選/陣列項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
posts[].media[].asset_idanyOf 2null可選/陣列項目—
posts[].media[].mime_typestring | null可選/陣列項目—
posts[].media[].mime_typeanyOf 1string可選/陣列項目
  • minLength: 1
  • maxLength: 160
posts[].media[].mime_typeanyOf 2null可選/陣列項目—
posts[].media[].preview_urlstring | null可選/陣列項目

Temporary authorized read URL; keep url as persisted Scheduled Post media identity.

—
posts[].media[].preview_urlanyOf 1string可選/陣列項目
  • format: "uri"
posts[].media[].preview_urlanyOf 2null可選/陣列項目—
posts[].media[].cover_preview_urlstring | null可選/陣列項目

Temporary authorized cover read URL; keep cover_url as persisted media identity.

—
posts[].media[].cover_preview_urlanyOf 1string可選/陣列項目
  • format: "uri"
posts[].media[].cover_preview_urlanyOf 2null可選/陣列項目—
posts[].media[].preview_expires_atstring | null可選/陣列項目—
posts[].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))$"
posts[].media[].preview_expires_atanyOf 2null可選/陣列項目—
posts[].link_urlstring | null可選/陣列項目—
posts[].link_urlanyOf 1string可選/陣列項目
  • format: "uri"
posts[].link_urlanyOf 2null可選/陣列項目—
posts[].publish_optionsobject父物件內必填—
posts[].publish_options.post_typestring可選/陣列項目
  • enum: ["TEXT","LINK","IMAGE","MULTI_IMAGE","VIDEO","CAROUSEL","REELS","STORY_IMAGE","STORY_VIDEO","REPOST","SHORT"]
posts[].publish_options.location_idstring可選/陣列項目
  • minLength: 1
posts[].publish_options.share_to_feedboolean可選/陣列項目—
posts[].publish_options.collaboratorsarray可選/陣列項目
  • maxItems: 3
posts[].publish_options.collaborators[]string可選/陣列項目
  • minLength: 1
posts[].publish_options.first_commentstring可選/陣列項目
  • minLength: 1
  • maxLength: 2200
posts[].publish_options.topic_tagstring可選/陣列項目
  • minLength: 1
posts[].publish_options.thumb_offset_msinteger可選/陣列項目
  • minimum: 0
  • maximum: 9007199254740991
posts[].publish_options.titlestring可選/陣列項目
  • maxLength: 255
posts[].publish_options.youtube_privacy_statusstring可選/陣列項目
  • enum: ["private","unlisted","public"]
posts[].publish_options.youtube_category_idstring可選/陣列項目
  • pattern: "^\\d+$"
posts[].publish_options.youtube_contains_synthetic_mediaboolean可選/陣列項目—
posts[].publish_options.descriptionstring可選/陣列項目
  • maxLength: 5000
posts[].publish_options.category_idstring可選/陣列項目
  • pattern: "^\\d+$"
posts[].publish_options.privacy_statusstring可選/陣列項目
  • enum: ["private","unlisted","public"]
posts[].publish_options.cancellation_modestring可選/陣列項目
  • enum: ["DELETE","UNSCHEDULE_KEEP_PRIVATE"]
posts[].publish_options.tagsarray可選/陣列項目—
posts[].publish_options.tags[]string可選/陣列項目—
posts[].publish_options.default_languagestring可選/陣列項目—
posts[].publish_options.localizationsobject可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.localizations.*any JSON value可選/陣列項目—
posts[].publish_options.licensestring可選/陣列項目
  • enum: ["youtube","creativeCommon"]
posts[].publish_options.embeddableboolean可選/陣列項目—
posts[].publish_options.public_stats_viewableboolean可選/陣列項目—
posts[].publish_options.self_declared_made_for_kidsboolean可選/陣列項目—
posts[].publish_options.contains_synthetic_mediaboolean可選/陣列項目—
posts[].publish_options.has_paid_product_placementboolean可選/陣列項目—
posts[].publish_options.recording_datestring可選/陣列項目—
posts[].publish_options.notify_subscribersboolean可選/陣列項目—
posts[].publish_options.thumbnail_asset_idinteger可選/陣列項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
posts[].publish_options.surface_expectationstring可選/陣列項目
  • const: "SHORT"
posts[].publish_options.brand_partnerobject可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.brand_partner.*any JSON value可選/陣列項目—
posts[].publish_options.cover_asset_idinteger可選/陣列項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
posts[].publish_options.audio_namestring可選/陣列項目—
posts[].publish_options.trial_paramsobject可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.trial_params.*any JSON value可選/陣列項目—
posts[].publish_options.is_ai_generatedboolean可選/陣列項目—
posts[].publish_options.branded_content_sponsor_idsarray可選/陣列項目—
posts[].publish_options.branded_content_sponsor_ids[]string可選/陣列項目—
posts[].publish_options.is_paid_partnershipboolean可選/陣列項目—
posts[].publish_options.media_optionsarray可選/陣列項目—
posts[].publish_options.media_options[]object可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.media_options[].*any JSON value可選/陣列項目—
posts[].publish_options.reply_to_idstring可選/陣列項目—
posts[].publish_options.quote_post_idstring可選/陣列項目—
posts[].publish_options.repost_target_idstring可選/陣列項目—
posts[].publish_options.reply_controlstring可選/陣列項目—
posts[].publish_options.enable_reply_approvalsboolean可選/陣列項目—
posts[].publish_options.link_attachmentstring可選/陣列項目
  • format: "uri"
posts[].publish_options.poll_attachmentobject可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.poll_attachment.*any JSON value可選/陣列項目—
posts[].publish_options.gif_attachmentobject可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.gif_attachment.*any JSON value可選/陣列項目—
posts[].publish_options.text_attachmentobject可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.text_attachment.*any JSON value可選/陣列項目—
posts[].publish_options.text_entitiesarray可選/陣列項目—
posts[].publish_options.text_entities[]object可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.text_entities[].*any JSON value可選/陣列項目—
posts[].publish_options.is_spoiler_mediaboolean可選/陣列項目—
posts[].publish_options.is_ghost_postboolean可選/陣列項目—
posts[].publish_options.allowlisted_country_codesarray可選/陣列項目—
posts[].publish_options.allowlisted_country_codes[]string可選/陣列項目—
posts[].publish_options.crossreshare_to_igboolean可選/陣列項目—
posts[].publish_options.crossreshare_to_ig_dark_modeboolean可選/陣列項目—
posts[].publish_options.auto_publish_textboolean可選/陣列項目—
posts[].publish_options.publication_modestring可選/陣列項目
  • enum: ["PUBLISH","DRAFT"]
posts[].publish_options.backdated_timenumber可選/陣列項目—
posts[].publish_options.backdated_time_granularitystring可選/陣列項目
  • enum: ["year","month","day","hour","minute"]
posts[].publish_options.placestring可選/陣列項目—
posts[].publish_options.feed_targetingobject可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.feed_targeting.*any JSON value可選/陣列項目—
posts[].publish_options.targetingobject可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.targeting.*any JSON value可選/陣列項目—
posts[].publish_options.child_attachmentsarray可選/陣列項目—
posts[].publish_options.child_attachments[]object可選/陣列項目
  • additionalProperties: {}
posts[].publish_options.child_attachments[].*any JSON value可選/陣列項目—
posts[].publish_options.multi_share_end_cardboolean可選/陣列項目—
posts[].publish_options.multi_share_optimizedboolean可選/陣列項目—
posts[].publish_options.unpublished_content_typestring可選/陣列項目—
posts[].publish_options.no_storyboolean可選/陣列項目—
posts[].publish_options.crossposted_video_idstring可選/陣列項目—
posts[].publish_options.sphericalboolean可選/陣列項目—
posts[].scheduled_atstring父物件內必填—
posts[].display_timezonestring父物件內必填
  • minLength: 1
  • maxLength: 80
posts[].local_scheduled_atstring | null可選/陣列項目—
posts[].local_scheduled_atanyOf 1string可選/陣列項目
  • pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
posts[].local_scheduled_atanyOf 2null可選/陣列項目—
posts[].schedule_timezonestring | null可選/陣列項目—
posts[].schedule_timezoneanyOf 1string可選/陣列項目
  • minLength: 1
  • maxLength: 80
posts[].schedule_timezoneanyOf 2null可選/陣列項目—
posts[].schedule_dst_disambiguationstring | null可選/陣列項目—
posts[].schedule_dst_disambiguationanyOf 1string可選/陣列項目
  • enum: ["exact","earlier","later"]
posts[].schedule_dst_disambiguationanyOf 2null可選/陣列項目—
posts[].schedule_intent_statestring可選/陣列項目
  • enum: ["verified","legacy_unverified"]
posts[].expires_atstring | null父物件內必填—
posts[].expires_atanyOf 1string父物件內必填—
posts[].expires_atanyOf 2null父物件內必填—
posts[].statusstring父物件內必填
  • enum: ["scheduled","publishing","published","failed","expired","needs_reschedule","cancelled","deleted"]
posts[].versioninteger父物件內必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
posts[].automatic_retry_enabledboolean父物件內必填—
posts[].delete_requested_atstring | null父物件內必填—
posts[].delete_requested_atanyOf 1string父物件內必填—
posts[].delete_requested_atanyOf 2null父物件內必填—
posts[].published_atstring | null父物件內必填—
posts[].published_atanyOf 1string父物件內必填—
posts[].published_atanyOf 2null父物件內必填—
posts[].deleted_atstring | null父物件內必填—
posts[].deleted_atanyOf 1string父物件內必填—
posts[].deleted_atanyOf 2null父物件內必填—
posts[].provider_post_idstring | null父物件內必填—
posts[].provider_post_idanyOf 1string父物件內必填—
posts[].provider_post_idanyOf 2null父物件內必填—
posts[].permalinkstring | null父物件內必填—
posts[].permalinkanyOf 1string父物件內必填
  • format: "uri"
posts[].permalinkanyOf 2null父物件內必填—
posts[].created_atstring父物件內必填—
posts[].updated_atstring父物件內必填—
posts[].project_idstring | null父物件內必填—
posts[].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)$"
posts[].project_idanyOf 2null父物件內必填—
posts[].batch_idstring | null父物件內必填—
posts[].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)$"
posts[].batch_idanyOf 2null父物件內必填—
posts[].source_refobject | null父物件內必填—
posts[].source_refanyOf 1object父物件內必填
  • additionalProperties: {}
posts[].source_ref.*anyOf 1any JSON value可選/陣列項目—
posts[].source_refanyOf 2null父物件內必填—
next_cursorobject | null父物件內必填—
next_cursoranyOf 1object父物件內必填—
next_cursor.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)))$"
next_cursor.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}$"
next_cursoranyOf 2null父物件內必填—
returned_countinteger父物件內必填
  • minimum: 0
  • maximum: 9007199254740991
完整 JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "posts": {
      "type": "array",
      "items": {
        "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": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "account_label": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "social_account_id",
              "platform",
              "platform_user_id",
              "account_label"
            ]
          },
          "caption": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "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",
                      "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))$"
                    },
                    {
                      "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": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "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": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "published_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "deleted_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "provider_post_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "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"
        ]
      }
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "scheduled_at": {
              "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)))$"
            },
            "id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
            }
          },
          "required": [
            "scheduled_at",
            "id"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "returned_count": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "posts",
    "next_cursor",
    "returned_count"
  ]
}

錯誤及安全重試

檢查 HTTP 狀態及實際回應格式。驗證400可能回傳 ZodError;handler 錯誤可能係 error/message/code envelope。保留可用嘅 request_id 或 x-request-id,唔好記錄憑證。401/403先修正存取問題;429遵守 Retry-After。寫入結果未明或5xx時,先讀原有結果,再決定重試;只喺操作支援時重用 idempotency key,並冇通用重試或 exactly-once 保證。

問題排解指南

範例

以下虛構值已按 contract 驗證,唔係真實帳戶 ID、憑證或發佈紀錄。請用已授權範圍回傳嘅 ID、已準備好嘅素材及已審核排程取代,寫入前核對平台資格。此頁唔會呼叫 API。

喺伺服器環境設定 SOSOAPI_ACCESS_TOKEN,使用此操作接受嘅憑證。唔好放入瀏覽器程式。一般 agent 建議透過 sosoapi auth login 用瀏覽器 OAuth,由 CLI 管理憑證更新。

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111"
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/list" \
  -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/scheduled-posts/list", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /studio-api/scheduled-posts/list < request.json

虛構回應範例

{
  "posts": [],
  "next_cursor": null,
  "returned_count": 0
}

MCP: sosoapi_list_scheduled_posts