La recherche se charge uniquement lorsque vous l’utilisez. Parcourez toutes les catégories ci-dessous.

Programmation et publication

Réessayer une publication programmée

Réessayer une publication programmée en échec, éventuellement à un nouveau scheduled_at. Nécessite expected_version.

POST /studio-api/scheduled-posts/retry

Contrat vérifié : · sha256:563d2d581da0ad29

Présentation

Réessayer une publication programmée en échec, éventuellement à un nouveau scheduled_at. Nécessite expected_version.

Une réponse HTTP réussie peut signifier qu’une requête est acceptée plutôt que terminée. Pour le travail en arrière-plan, conservez l’identifiant renvoyé et suivez la même opération jusqu’à sa fin. Une publication programmée ou acceptée n’est publiée que lorsque la plateforme le confirme ; une expiration côté client ne détermine pas le résultat.

Authentification et autorisations

Types d’identifiants acceptés
user_session, delegated_oauth, personal_access_token
Capacité déléguée
agent:publish
Rôle minimal dans l’espace de travail
editor
Périmètre d’accès
Ressources auxquelles cet utilisateur est autorisé à accéder
Consentement pour tous les espaces requis
Non
Modifie l’état
Oui
Lorsque l’opération est terminée
terminal publication outcome

Un jeton ne peut utiliser que les droits de son propriétaire. Chaque requête vérifie l’appartenance à l’espace, la propriété des ressources, les espaces sélectionnés et les capacités accordées. Les profils core et full modifient les outils affichés ; ils n’accordent aucun accès.

Champs de requête

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Champs de requête
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: false
idstringRequis dans le parent
  • 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}$"
expected_versionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
scheduled_atstringFacultatif / élément
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
JSON Schema complet
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "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}$"
    },
    "expected_version": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "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)))$"
    }
  },
  "required": [
    "id",
    "expected_version"
  ],
  "additionalProperties": false
}

Réponse et achèvement

Statuts HTTP de réussite : 200. Lorsque l’opération est terminée : terminal publication outcome.

Une réponse HTTP réussie peut signifier qu’une requête est acceptée plutôt que terminée. Pour le travail en arrière-plan, conservez l’identifiant renvoyé et suivez la même opération jusqu’à sa fin. Une publication programmée ou acceptée n’est publiée que lorsque la plateforme le confirme ; une expiration côté client ne détermine pas le résultat.

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Réponse et achèvement
Champ / brancheType / requisContraintes
$objectRequis dans le parent—
postobjectRequis dans le parent—
post.idstringRequis dans le parent
  • 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}$"
post.workspace_idstringRequis dans le parent
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
post.social_account_idstring | nullRequis dans le parent—
post.social_account_idanyOf 1stringRequis dans le parent
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
post.social_account_idanyOf 2nullRequis dans le parent—
post.platformstringRequis dans le parent
  • enum: ["instagram","threads","facebook","youtube","x"]
post.destinationobjectRequis dans le parent—
post.destination.social_account_idstring | nullRequis dans le parent—
post.destination.social_account_idanyOf 1stringRequis dans le parent
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
post.destination.social_account_idanyOf 2nullRequis dans le parent—
post.destination.platformstringRequis dans le parent
  • enum: ["instagram","threads","facebook","youtube","x"]
post.destination.platform_user_idstring | nullRequis dans le parent—
post.destination.platform_user_idanyOf 1stringRequis dans le parent—
post.destination.platform_user_idanyOf 2nullRequis dans le parent—
post.destination.account_labelstring | nullRequis dans le parent—
post.destination.account_labelanyOf 1stringRequis dans le parent—
post.destination.account_labelanyOf 2nullRequis dans le parent—
post.captionstring | nullRequis dans le parent—
post.captionanyOf 1stringRequis dans le parent—
post.captionanyOf 2nullRequis dans le parent—
post.hashtagsarrayRequis dans le parent—
post.hashtags[]stringFacultatif / élément—
post.mediaarrayRequis dans le parent—
post.media[]objectFacultatif / élément—
post.media[].kindstringRequis dans le parent
  • enum: ["image","video"]
post.media[].urlstringRequis dans le parent
  • format: "uri"
post.media[].cover_urlstring | nullFacultatif / élément—
post.media[].cover_urlanyOf 1stringFacultatif / élément
  • format: "uri"
post.media[].cover_urlanyOf 2nullFacultatif / élément—
post.media[].cover_asset_idinteger | nullFacultatif / élément—
post.media[].cover_asset_idanyOf 1integerFacultatif / élément
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
post.media[].cover_asset_idanyOf 2nullFacultatif / élément—
post.media[].asset_idinteger | nullFacultatif / élément—
post.media[].asset_idanyOf 1integerFacultatif / élément
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
post.media[].asset_idanyOf 2nullFacultatif / élément—
post.media[].mime_typestring | nullFacultatif / élément—
post.media[].mime_typeanyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 160
post.media[].mime_typeanyOf 2nullFacultatif / élément—
post.media[].preview_urlstring | nullFacultatif / élément

URL de lecture temporaire autorisée ; conservez url comme identité persistante du média Scheduled Post.

—
post.media[].preview_urlanyOf 1stringFacultatif / élément
  • format: "uri"
post.media[].preview_urlanyOf 2nullFacultatif / élément—
post.media[].cover_preview_urlstring | nullFacultatif / élément

URL temporaire autorisée de lecture de couverture ; conservez cover_url comme identité persistante du média.

—
post.media[].cover_preview_urlanyOf 1stringFacultatif / élément
  • format: "uri"
post.media[].cover_preview_urlanyOf 2nullFacultatif / élément—
post.media[].preview_expires_atstring | nullFacultatif / élément—
post.media[].preview_expires_atanyOf 1stringFacultatif / élément
  • 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))$"
post.media[].preview_expires_atanyOf 2nullFacultatif / élément—
post.link_urlstring | nullFacultatif / élément—
post.link_urlanyOf 1stringFacultatif / élément
  • format: "uri"
post.link_urlanyOf 2nullFacultatif / élément—
post.publish_optionsobjectRequis dans le parent—
post.publish_options.post_typestringFacultatif / élément
  • enum: ["TEXT","LINK","IMAGE","MULTI_IMAGE","VIDEO","CAROUSEL","REELS","STORY_IMAGE","STORY_VIDEO","REPOST","SHORT"]
post.publish_options.location_idstringFacultatif / élément
  • minLength: 1
post.publish_options.share_to_feedbooleanFacultatif / élément—
post.publish_options.collaboratorsarrayFacultatif / élément
  • maxItems: 3
post.publish_options.collaborators[]stringFacultatif / élément
  • minLength: 1
post.publish_options.first_commentstringFacultatif / élément
  • minLength: 1
  • maxLength: 2200
post.publish_options.topic_tagstringFacultatif / élément
  • minLength: 1
post.publish_options.thumb_offset_msintegerFacultatif / élément
  • minimum: 0
  • maximum: 9007199254740991
post.publish_options.titlestringFacultatif / élément
  • maxLength: 255
post.publish_options.youtube_privacy_statusstringFacultatif / élément
  • enum: ["private","unlisted","public"]
post.publish_options.youtube_category_idstringFacultatif / élément
  • pattern: "^\\d+$"
post.publish_options.youtube_contains_synthetic_mediabooleanFacultatif / élément—
post.publish_options.descriptionstringFacultatif / élément
  • maxLength: 5000
post.publish_options.category_idstringFacultatif / élément
  • pattern: "^\\d+$"
post.publish_options.privacy_statusstringFacultatif / élément
  • enum: ["private","unlisted","public"]
post.publish_options.cancellation_modestringFacultatif / élément
  • enum: ["DELETE","UNSCHEDULE_KEEP_PRIVATE"]
post.publish_options.tagsarrayFacultatif / élément—
post.publish_options.tags[]stringFacultatif / élément—
post.publish_options.default_languagestringFacultatif / élément—
post.publish_options.localizationsobjectFacultatif / élément
  • additionalProperties: {}
post.publish_options.localizations.*any JSON valueFacultatif / élément—
post.publish_options.licensestringFacultatif / élément
  • enum: ["youtube","creativeCommon"]
post.publish_options.embeddablebooleanFacultatif / élément—
post.publish_options.public_stats_viewablebooleanFacultatif / élément—
post.publish_options.self_declared_made_for_kidsbooleanFacultatif / élément—
post.publish_options.contains_synthetic_mediabooleanFacultatif / élément—
post.publish_options.has_paid_product_placementbooleanFacultatif / élément—
post.publish_options.recording_datestringFacultatif / élément—
post.publish_options.notify_subscribersbooleanFacultatif / élément—
post.publish_options.thumbnail_asset_idintegerFacultatif / élément
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
post.publish_options.surface_expectationstringFacultatif / élément
  • const: "SHORT"
post.publish_options.brand_partnerobjectFacultatif / élément
  • additionalProperties: {}
post.publish_options.brand_partner.*any JSON valueFacultatif / élément—
post.publish_options.cover_asset_idintegerFacultatif / élément
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
post.publish_options.audio_namestringFacultatif / élément—
post.publish_options.trial_paramsobjectFacultatif / élément
  • additionalProperties: {}
post.publish_options.trial_params.*any JSON valueFacultatif / élément—
post.publish_options.is_ai_generatedbooleanFacultatif / élément—
post.publish_options.branded_content_sponsor_idsarrayFacultatif / élément—
post.publish_options.branded_content_sponsor_ids[]stringFacultatif / élément—
post.publish_options.is_paid_partnershipbooleanFacultatif / élément—
post.publish_options.media_optionsarrayFacultatif / élément—
post.publish_options.media_options[]objectFacultatif / élément
  • additionalProperties: {}
post.publish_options.media_options[].*any JSON valueFacultatif / élément—
post.publish_options.reply_to_idstringFacultatif / élément—
post.publish_options.quote_post_idstringFacultatif / élément—
post.publish_options.repost_target_idstringFacultatif / élément—
post.publish_options.reply_controlstringFacultatif / élément—
post.publish_options.enable_reply_approvalsbooleanFacultatif / élément—
post.publish_options.link_attachmentstringFacultatif / élément
  • format: "uri"
post.publish_options.poll_attachmentobjectFacultatif / élément
  • additionalProperties: {}
post.publish_options.poll_attachment.*any JSON valueFacultatif / élément—
post.publish_options.gif_attachmentobjectFacultatif / élément
  • additionalProperties: {}
post.publish_options.gif_attachment.*any JSON valueFacultatif / élément—
post.publish_options.text_attachmentobjectFacultatif / élément
  • additionalProperties: {}
post.publish_options.text_attachment.*any JSON valueFacultatif / élément—
post.publish_options.text_entitiesarrayFacultatif / élément—
post.publish_options.text_entities[]objectFacultatif / élément
  • additionalProperties: {}
post.publish_options.text_entities[].*any JSON valueFacultatif / élément—
post.publish_options.is_spoiler_mediabooleanFacultatif / élément—
post.publish_options.is_ghost_postbooleanFacultatif / élément—
post.publish_options.allowlisted_country_codesarrayFacultatif / élément—
post.publish_options.allowlisted_country_codes[]stringFacultatif / élément—
post.publish_options.crossreshare_to_igbooleanFacultatif / élément—
post.publish_options.crossreshare_to_ig_dark_modebooleanFacultatif / élément—
post.publish_options.auto_publish_textbooleanFacultatif / élément—
post.publish_options.publication_modestringFacultatif / élément
  • enum: ["PUBLISH","DRAFT"]
post.publish_options.backdated_timenumberFacultatif / élément—
post.publish_options.backdated_time_granularitystringFacultatif / élément
  • enum: ["year","month","day","hour","minute"]
post.publish_options.placestringFacultatif / élément—
post.publish_options.feed_targetingobjectFacultatif / élément
  • additionalProperties: {}
post.publish_options.feed_targeting.*any JSON valueFacultatif / élément—
post.publish_options.targetingobjectFacultatif / élément
  • additionalProperties: {}
post.publish_options.targeting.*any JSON valueFacultatif / élément—
post.publish_options.child_attachmentsarrayFacultatif / élément—
post.publish_options.child_attachments[]objectFacultatif / élément
  • additionalProperties: {}
post.publish_options.child_attachments[].*any JSON valueFacultatif / élément—
post.publish_options.multi_share_end_cardbooleanFacultatif / élément—
post.publish_options.multi_share_optimizedbooleanFacultatif / élément—
post.publish_options.unpublished_content_typestringFacultatif / élément—
post.publish_options.no_storybooleanFacultatif / élément—
post.publish_options.crossposted_video_idstringFacultatif / élément—
post.publish_options.sphericalbooleanFacultatif / élément—
post.scheduled_atstringRequis dans le parent—
post.display_timezonestringRequis dans le parent
  • minLength: 1
  • maxLength: 80
post.local_scheduled_atstring | nullFacultatif / élément—
post.local_scheduled_atanyOf 1stringFacultatif / élément
  • pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
post.local_scheduled_atanyOf 2nullFacultatif / élément—
post.schedule_timezonestring | nullFacultatif / élément—
post.schedule_timezoneanyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 80
post.schedule_timezoneanyOf 2nullFacultatif / élément—
post.schedule_dst_disambiguationstring | nullFacultatif / élément—
post.schedule_dst_disambiguationanyOf 1stringFacultatif / élément
  • enum: ["exact","earlier","later"]
post.schedule_dst_disambiguationanyOf 2nullFacultatif / élément—
post.schedule_intent_statestringFacultatif / élément
  • enum: ["verified","legacy_unverified"]
post.expires_atstring | nullRequis dans le parent—
post.expires_atanyOf 1stringRequis dans le parent—
post.expires_atanyOf 2nullRequis dans le parent—
post.statusstringRequis dans le parent
  • enum: ["scheduled","publishing","published","failed","expired","needs_reschedule","cancelled","deleted"]
post.versionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
post.automatic_retry_enabledbooleanRequis dans le parent—
post.delete_requested_atstring | nullRequis dans le parent—
post.delete_requested_atanyOf 1stringRequis dans le parent—
post.delete_requested_atanyOf 2nullRequis dans le parent—
post.published_atstring | nullRequis dans le parent—
post.published_atanyOf 1stringRequis dans le parent—
post.published_atanyOf 2nullRequis dans le parent—
post.deleted_atstring | nullRequis dans le parent—
post.deleted_atanyOf 1stringRequis dans le parent—
post.deleted_atanyOf 2nullRequis dans le parent—
post.provider_post_idstring | nullRequis dans le parent—
post.provider_post_idanyOf 1stringRequis dans le parent—
post.provider_post_idanyOf 2nullRequis dans le parent—
post.permalinkstring | nullRequis dans le parent—
post.permalinkanyOf 1stringRequis dans le parent
  • format: "uri"
post.permalinkanyOf 2nullRequis dans le parent—
post.created_atstringRequis dans le parent—
post.updated_atstringRequis dans le parent—
post.project_idstring | nullRequis dans le parent—
post.project_idanyOf 1stringRequis dans le parent
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
post.project_idanyOf 2nullRequis dans le parent—
post.batch_idstring | nullRequis dans le parent—
post.batch_idanyOf 1stringRequis dans le parent
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
post.batch_idanyOf 2nullRequis dans le parent—
post.source_refobject | nullRequis dans le parent—
post.source_refanyOf 1objectRequis dans le parent
  • additionalProperties: {}
post.source_ref.*anyOf 1any JSON valueFacultatif / élément—
post.source_refanyOf 2nullRequis dans le parent—
JSON Schema complet
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "post": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "social_account_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "platform": {
          "type": "string",
          "enum": [
            "instagram",
            "threads",
            "facebook",
            "youtube",
            "x"
          ]
        },
        "destination": {
          "type": "object",
          "properties": {
            "social_account_id": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "platform": {
              "type": "string",
              "enum": [
                "instagram",
                "threads",
                "facebook",
                "youtube",
                "x"
              ]
            },
            "platform_user_id": {
              "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"
      ]
    }
  },
  "required": [
    "post"
  ]
}

Erreurs et nouvelles tentatives sûres

Vérifiez le statut HTTP et le corps de réponse. Une erreur de validation 400 peut contenir un ZodError ; les erreurs des gestionnaires utilisent les champs error, message et code. Conservez request_id ou x-request-id pour le diagnostic, sans identifiants secrets. Corrigez les erreurs d’accès 401/403 avant de réessayer et respectez Retry-After pour 429. Si une écriture est incertaine ou renvoie 5xx, lisez d’abord le résultat existant. Réutilisez une clé d’idempotence uniquement lorsque c’est pris en charge ; le comportement des nouvelles tentatives varie selon l’opération et ne garantit pas une diffusion exactement une fois.

Guide de dépannage

Exemples

Ces exemples utilisent des valeurs fictives vérifiées contre les schémas. Remplacez les identifiants par ceux que vous êtes autorisé à utiliser, les médias par des ressources prêtes et les dates par l’heure confirmée. Vérifiez l’éligibilité du compte avant toute écriture. Cette page n’envoie aucune requête API.

Définissez SOSOAPI_ACCESS_TOKEN sur votre serveur avec un identifiant accepté par cette opération et gardez-le hors du code navigateur. Pour un agent, utilisez sosoapi auth login pour vous connecter dans le navigateur et laissez la CLI actualiser ses identifiants.

request.json

{
  "id": "11111111-1111-4111-8111-111111111111",
  "expected_version": 1
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/retry" \
  -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/retry", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "id": "11111111-1111-4111-8111-111111111111",
  "expected_version": 1
})
});
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/retry < request.json

Exemple de réponse fictive

{
  "post": {
    "id": "11111111-1111-4111-8111-111111111111",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": null,
    "platform": "instagram",
    "destination": {
      "social_account_id": null,
      "platform": "instagram",
      "platform_user_id": null,
      "account_label": null
    },
    "caption": null,
    "hashtags": [],
    "media": [],
    "publish_options": {},
    "scheduled_at": "example",
    "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,
    "created_at": "example",
    "updated_at": "example",
    "project_id": null,
    "batch_id": null,
    "source_ref": null
  }
}

MCP : sosoapi_retry_scheduled_post