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

Programmation et publication

Prévisualiser un CSV Threads

Prévisualiser au plus 50 lignes CSV Threads pour un compte connecté de l’espace de travail. Valider les identifiants de ressources enregistrées et les programmations explicites ; aucune écriture de publication.

POST /studio-api/threads-csv/preview

Contrat vérifié : · sha256:11debf801a5e6096

Présentation

Prévisualiser au plus 50 lignes CSV Threads pour un compte connecté de l’espace de travail. Valider les identifiants de ressources enregistrées et les programmations explicites ; aucune écriture de publication.

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:operate
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
Non
Lorsque l’opération est terminée
read-only CSV validation or existing per-row draft receipts; no aggregate import job or automatic submission

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
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)$"
social_account_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)$"
import_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)$"
csvstringRequis dans le parent
  • minLength: 1
  • maxLength: 200000
row_numbersarrayFacultatif / élément
  • minItems: 1
  • maxItems: 50
row_numbers[]integerFacultatif / élément
  • minimum: 1
  • maximum: 50
JSON Schema complet
{
  "$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
      }
    }
  },
  "required": [
    "workspace_id",
    "social_account_id",
    "import_id",
    "csv"
  ],
  "additionalProperties": false
}

Réponse et achèvement

Statuts HTTP de réussite : 200. Lorsque l’opération est terminée : read-only CSV validation or existing per-row draft receipts; no aggregate import job or automatic submission.

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—
contract_versionstringRequis dans le parent
  • const: "threads-csv/v1"
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)$"
social_account_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)$"
import_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)$"
preview_digeststringRequis dans le parent
  • pattern: "^[a-f0-9]{64}$"
selected_row_numbersarrayRequis dans le parent
  • maxItems: 50
selected_row_numbers[]integerFacultatif / élément
  • minimum: 1
  • maximum: 50
rowsarrayRequis dans le parent
  • maxItems: 50
rows[]objectFacultatif / élément—
rows[].row_numberintegerRequis dans le parent
  • minimum: 1
  • maximum: 50
rows[].row_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)$"
rows[].draft_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)$"
rows[].save_mutation_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)$"
rows[].submission_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)$"
rows[].captionstringRequis dans le parent
  • maxLength: 5000
rows[].scheduled_atstring | nullRequis dans le parent—
rows[].scheduled_atanyOf 1stringRequis dans le parent
  • 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 2nullRequis dans le parent—
rows[].display_timezonestringRequis dans le parent
  • maxLength: 128
rows[].asset_idsarrayRequis dans le parent
  • maxItems: 20
rows[].asset_ids[]stringFacultatif / élément
  • pattern: "^[1-9]\\d{0,15}$"
rows[].topic_tagstring | nullRequis dans le parent—
rows[].topic_taganyOf 1stringRequis dans le parent
  • maxLength: 50
rows[].topic_taganyOf 2nullRequis dans le parent—
rows[].post_typestring | nullRequis dans le parent—
rows[].post_typeanyOf 1stringRequis dans le parent
  • enum: ["TEXT","IMAGE","VIDEO","CAROUSEL"]
rows[].post_typeanyOf 2nullRequis dans le parent—
rows[].statusstringRequis dans le parent
  • enum: ["ready","invalid","accepted","not_accepted","uncertain","not_attempted"]
rows[].errorsarrayRequis dans le parent
  • maxItems: 10
rows[].errors[]objectFacultatif / élément—
rows[].errors[].codestringRequis dans le parent
  • maxLength: 80
rows[].errors[].messagestringRequis dans le parent
  • maxLength: 300
rows[].duplicate_ofinteger | nullRequis dans le parent—
rows[].duplicate_ofanyOf 1integerRequis dans le parent
  • minimum: 1
  • maximum: 50
rows[].duplicate_ofanyOf 2nullRequis dans le parent—
rows[].draft_revisioninteger | nullRequis dans le parent—
rows[].draft_revisionanyOf 1integerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].draft_revisionanyOf 2nullRequis dans le parent—
rows[].postobject | nullRequis dans le parent—
rows[].postanyOf 1objectRequis dans le parent—
rows[].post.idanyOf 1stringRequis 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}$"
rows[].post.workspace_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)$"
rows[].post.social_account_idanyOf 1string | nullRequis dans le parent—
rows[].post.social_account_idanyOf 1 / anyOf 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)$"
rows[].post.social_account_idanyOf 1 / anyOf 2nullRequis dans le parent—
rows[].post.platformanyOf 1stringRequis dans le parent
  • enum: ["instagram","threads","facebook","youtube","x"]
rows[].post.destinationanyOf 1objectRequis dans le parent—
rows[].post.destination.social_account_idanyOf 1string | nullRequis dans le parent—
rows[].post.destination.social_account_idanyOf 1 / anyOf 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)$"
rows[].post.destination.social_account_idanyOf 1 / anyOf 2nullRequis dans le parent—
rows[].post.destination.platformanyOf 1stringRequis dans le parent
  • enum: ["instagram","threads","facebook","youtube","x"]
rows[].post.destination.platform_user_idanyOf 1string | nullRequis dans le parent—
rows[].post.destination.account_labelanyOf 1string | nullRequis dans le parent—
rows[].post.captionanyOf 1string | nullRequis dans le parent—
rows[].post.hashtagsanyOf 1arrayRequis dans le parent—
rows[].post.hashtags[]anyOf 1stringFacultatif / élément—
rows[].post.mediaanyOf 1arrayRequis dans le parent—
rows[].post.media[]anyOf 1objectFacultatif / élément—
rows[].post.media[].kindanyOf 1stringRequis dans le parent
  • enum: ["image","video"]
rows[].post.media[].urlanyOf 1stringRequis dans le parent
  • format: "uri"
rows[].post.media[].cover_urlanyOf 1string | nullFacultatif / élément—
rows[].post.media[].cover_urlanyOf 1 / anyOf 1stringFacultatif / élément
  • format: "uri"
rows[].post.media[].cover_urlanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.media[].cover_asset_idanyOf 1integer | nullFacultatif / élément—
rows[].post.media[].cover_asset_idanyOf 1 / anyOf 1integerFacultatif / élément
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.media[].cover_asset_idanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.media[].asset_idanyOf 1integer | nullFacultatif / élément—
rows[].post.media[].asset_idanyOf 1 / anyOf 1integerFacultatif / élément
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.media[].asset_idanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.media[].mime_typeanyOf 1string | nullFacultatif / élément—
rows[].post.media[].mime_typeanyOf 1 / anyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 160
rows[].post.media[].mime_typeanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.media[].preview_urlanyOf 1string | nullFacultatif / élément

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

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

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

—
rows[].post.media[].cover_preview_urlanyOf 1 / anyOf 1stringFacultatif / élément
  • format: "uri"
rows[].post.media[].cover_preview_urlanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.media[].preview_expires_atanyOf 1string | nullFacultatif / élément—
rows[].post.media[].preview_expires_atanyOf 1 / anyOf 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))$"
rows[].post.media[].preview_expires_atanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.link_urlanyOf 1string | nullFacultatif / élément—
rows[].post.link_urlanyOf 1 / anyOf 1stringFacultatif / élément
  • format: "uri"
rows[].post.link_urlanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.publish_optionsanyOf 1objectRequis dans le parent—
rows[].post.publish_options.post_typeanyOf 1stringFacultatif / élément
  • enum: ["TEXT","LINK","IMAGE","MULTI_IMAGE","VIDEO","CAROUSEL","REELS","STORY_IMAGE","STORY_VIDEO","REPOST","SHORT"]
rows[].post.publish_options.location_idanyOf 1stringFacultatif / élément
  • minLength: 1
rows[].post.publish_options.share_to_feedanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.collaboratorsanyOf 1arrayFacultatif / élément
  • maxItems: 3
rows[].post.publish_options.collaborators[]anyOf 1stringFacultatif / élément
  • minLength: 1
rows[].post.publish_options.first_commentanyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 2200
rows[].post.publish_options.topic_taganyOf 1stringFacultatif / élément
  • minLength: 1
rows[].post.publish_options.thumb_offset_msanyOf 1integerFacultatif / élément
  • minimum: 0
  • maximum: 9007199254740991
rows[].post.publish_options.titleanyOf 1stringFacultatif / élément
  • maxLength: 255
rows[].post.publish_options.youtube_privacy_statusanyOf 1stringFacultatif / élément
  • enum: ["private","unlisted","public"]
rows[].post.publish_options.youtube_category_idanyOf 1stringFacultatif / élément
  • pattern: "^\\d+$"
rows[].post.publish_options.youtube_contains_synthetic_mediaanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.descriptionanyOf 1stringFacultatif / élément
  • maxLength: 5000
rows[].post.publish_options.category_idanyOf 1stringFacultatif / élément
  • pattern: "^\\d+$"
rows[].post.publish_options.privacy_statusanyOf 1stringFacultatif / élément
  • enum: ["private","unlisted","public"]
rows[].post.publish_options.cancellation_modeanyOf 1stringFacultatif / élément
  • enum: ["DELETE","UNSCHEDULE_KEEP_PRIVATE"]
rows[].post.publish_options.tagsanyOf 1arrayFacultatif / élément—
rows[].post.publish_options.tags[]anyOf 1stringFacultatif / élément—
rows[].post.publish_options.default_languageanyOf 1stringFacultatif / élément—
rows[].post.publish_options.localizationsanyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.localizations.*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.licenseanyOf 1stringFacultatif / élément
  • enum: ["youtube","creativeCommon"]
rows[].post.publish_options.embeddableanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.public_stats_viewableanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.self_declared_made_for_kidsanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.contains_synthetic_mediaanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.has_paid_product_placementanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.recording_dateanyOf 1stringFacultatif / élément—
rows[].post.publish_options.notify_subscribersanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.thumbnail_asset_idanyOf 1integerFacultatif / élément
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.publish_options.surface_expectationanyOf 1stringFacultatif / élément
  • const: "SHORT"
rows[].post.publish_options.brand_partneranyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.brand_partner.*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.cover_asset_idanyOf 1integerFacultatif / élément
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.publish_options.audio_nameanyOf 1stringFacultatif / élément—
rows[].post.publish_options.trial_paramsanyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.trial_params.*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.is_ai_generatedanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.branded_content_sponsor_idsanyOf 1arrayFacultatif / élément—
rows[].post.publish_options.branded_content_sponsor_ids[]anyOf 1stringFacultatif / élément—
rows[].post.publish_options.is_paid_partnershipanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.media_optionsanyOf 1arrayFacultatif / élément—
rows[].post.publish_options.media_options[]anyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.media_options[].*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.reply_to_idanyOf 1stringFacultatif / élément—
rows[].post.publish_options.quote_post_idanyOf 1stringFacultatif / élément—
rows[].post.publish_options.repost_target_idanyOf 1stringFacultatif / élément—
rows[].post.publish_options.reply_controlanyOf 1stringFacultatif / élément—
rows[].post.publish_options.enable_reply_approvalsanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.link_attachmentanyOf 1stringFacultatif / élément
  • format: "uri"
rows[].post.publish_options.poll_attachmentanyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.poll_attachment.*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.gif_attachmentanyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.gif_attachment.*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.text_attachmentanyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.text_attachment.*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.text_entitiesanyOf 1arrayFacultatif / élément—
rows[].post.publish_options.text_entities[]anyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.text_entities[].*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.is_spoiler_mediaanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.is_ghost_postanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.allowlisted_country_codesanyOf 1arrayFacultatif / élément—
rows[].post.publish_options.allowlisted_country_codes[]anyOf 1stringFacultatif / élément—
rows[].post.publish_options.crossreshare_to_iganyOf 1booleanFacultatif / élément—
rows[].post.publish_options.crossreshare_to_ig_dark_modeanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.auto_publish_textanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.publication_modeanyOf 1stringFacultatif / élément
  • enum: ["PUBLISH","DRAFT"]
rows[].post.publish_options.backdated_timeanyOf 1numberFacultatif / élément—
rows[].post.publish_options.backdated_time_granularityanyOf 1stringFacultatif / élément
  • enum: ["year","month","day","hour","minute"]
rows[].post.publish_options.placeanyOf 1stringFacultatif / élément—
rows[].post.publish_options.feed_targetinganyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.feed_targeting.*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.targetinganyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.targeting.*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.child_attachmentsanyOf 1arrayFacultatif / élément—
rows[].post.publish_options.child_attachments[]anyOf 1objectFacultatif / élément
  • additionalProperties: {}
rows[].post.publish_options.child_attachments[].*anyOf 1any JSON valueFacultatif / élément—
rows[].post.publish_options.multi_share_end_cardanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.multi_share_optimizedanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.unpublished_content_typeanyOf 1stringFacultatif / élément—
rows[].post.publish_options.no_storyanyOf 1booleanFacultatif / élément—
rows[].post.publish_options.crossposted_video_idanyOf 1stringFacultatif / élément—
rows[].post.publish_options.sphericalanyOf 1booleanFacultatif / élément—
rows[].post.scheduled_atanyOf 1stringRequis dans le parent—
rows[].post.display_timezoneanyOf 1stringRequis dans le parent
  • minLength: 1
  • maxLength: 80
rows[].post.local_scheduled_atanyOf 1string | nullFacultatif / élément—
rows[].post.local_scheduled_atanyOf 1 / anyOf 1stringFacultatif / élément
  • pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
rows[].post.local_scheduled_atanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.schedule_timezoneanyOf 1string | nullFacultatif / élément—
rows[].post.schedule_timezoneanyOf 1 / anyOf 1stringFacultatif / élément
  • minLength: 1
  • maxLength: 80
rows[].post.schedule_timezoneanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.schedule_dst_disambiguationanyOf 1string | nullFacultatif / élément—
rows[].post.schedule_dst_disambiguationanyOf 1 / anyOf 1stringFacultatif / élément
  • enum: ["exact","earlier","later"]
rows[].post.schedule_dst_disambiguationanyOf 1 / anyOf 2nullFacultatif / élément—
rows[].post.schedule_intent_stateanyOf 1stringFacultatif / élément
  • enum: ["verified","legacy_unverified"]
rows[].post.expires_atanyOf 1string | nullRequis dans le parent—
rows[].post.statusanyOf 1stringRequis dans le parent
  • enum: ["scheduled","publishing","published","failed","expired","needs_reschedule","cancelled","deleted"]
rows[].post.versionanyOf 1integerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.automatic_retry_enabledanyOf 1booleanRequis dans le parent—
rows[].post.delete_requested_atanyOf 1string | nullRequis dans le parent—
rows[].post.deletionanyOf 1objectFacultatif / élément—
rows[].post.deletion.stateanyOf 1stringRequis dans le parent
  • enum: ["pending","retry_scheduled","failed","unconfirmed","confirmed","unpublished_cancelled"]
rows[].post.deletion.retry_atanyOf 1string | nullRequis dans le parent—
rows[].post.deletion.retry_atanyOf 1 / anyOf 1stringRequis dans le parent
  • 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 2nullRequis dans le parent—
rows[].post.published_atanyOf 1string | nullRequis dans le parent—
rows[].post.deleted_atanyOf 1string | nullRequis dans le parent—
rows[].post.provider_post_idanyOf 1string | nullRequis dans le parent—
rows[].post.permalinkanyOf 1string | nullRequis dans le parent—
rows[].post.permalinkanyOf 1 / anyOf 1stringRequis dans le parent
  • format: "uri"
rows[].post.permalinkanyOf 1 / anyOf 2nullRequis dans le parent—
rows[].post.created_atanyOf 1stringRequis dans le parent—
rows[].post.updated_atanyOf 1stringRequis dans le parent—
rows[].post.project_idanyOf 1string | nullRequis dans le parent—
rows[].post.project_idanyOf 1 / anyOf 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)$"
rows[].post.project_idanyOf 1 / anyOf 2nullRequis dans le parent—
rows[].post.batch_idanyOf 1string | nullRequis dans le parent—
rows[].post.batch_idanyOf 1 / anyOf 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)$"
rows[].post.batch_idanyOf 1 / anyOf 2nullRequis dans le parent—
rows[].post.source_refanyOf 1object | nullRequis dans le parent—
rows[].post.source_refanyOf 1 / anyOf 1objectRequis dans le parent
  • additionalProperties: {}
rows[].post.source_ref.*anyOf 1 / anyOf 1any JSON valueFacultatif / élément—
rows[].post.source_refanyOf 1 / anyOf 2nullRequis dans le parent—
rows[].postanyOf 2nullRequis dans le parent—
import_errorsarrayRequis dans le parent
  • maxItems: 10
import_errors[]objectFacultatif / élément—
import_errors[].codestringRequis dans le parent
  • maxLength: 80
import_errors[].messagestringRequis dans le parent
  • maxLength: 300
countsobjectRequis dans le parent—
counts.totalintegerRequis dans le parent
  • minimum: 0
  • maximum: 50
counts.readyintegerRequis dans le parent
  • minimum: 0
  • maximum: 50
counts.invalidintegerRequis dans le parent
  • minimum: 0
  • maximum: 50
counts.acceptedintegerRequis dans le parent
  • minimum: 0
  • maximum: 50
counts.not_acceptedintegerRequis dans le parent
  • minimum: 0
  • maximum: 50
counts.uncertainintegerRequis dans le parent
  • minimum: 0
  • maximum: 50
counts.not_attemptedintegerRequis dans le parent
  • minimum: 0
  • maximum: 50
completebooleanRequis dans le parent—
JSON Schema complet
{
  "$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"
  ]
}

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 IA, utilisez sosoapi auth login pour vous connecter dans le navigateur et laissez la CLI actualiser ses identifiants.

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
  ]
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/threads-csv/preview" \
  -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/preview", {
  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
  ]
})
});
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/preview < request.json

Exemple de réponse fictive

{
  "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": "ready",
      "errors": [],
      "duplicate_of": null,
      "draft_revision": null,
      "post": null
    }
  ],
  "import_errors": [],
  "counts": {
    "total": 1,
    "ready": 1,
    "invalid": 0,
    "accepted": 0,
    "not_accepted": 0,
    "uncertain": 0,
    "not_attempted": 0
  },
  "complete": false
}

MCP : sosoapi_preview_threads_csv