Outil MCP
Soumettre un CSV Threads
sosoapi_submit_threads_csvSoumettre ou poursuivre explicitement au plus cinq lignes CSV Threads sélectionnées par requête avec les mêmes identités d’importation, de brouillon et de soumission. Conserver le CSV original et la sélection pour la reprise.
Lire en MarkdownProfils et transports
Profils : full · Transports : stdio, http
Choisissez core ou full pour définir les outils visibles du client ; cela ne change pas ses autorisations. Le téléversement local nécessite stdio et n’est pas disponible sur HTTP. Définissez SOSOAPI_OUTPUT_SCHEMAS=1 pour inclure les schémas de sortie à la découverte. Les outils renvoient des résultats structurés avec ou sans ce réglage.
Autorisations et effets de bord
Les annotations aident les clients à décrire un outil. Chaque appel vérifie toujours l’authentification, le rôle, l’accès aux ressources et les capacités accordées de l’utilisateur.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}- /studio-api/threads-csv/submit: agent:publish · acceptation durable indépendante par ligne ; les lignes acceptées ne sont jamais recréées et l’acceptation n’est pas la publication fournisseur
Champs d’entrée
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.
| Champ / branche | Type / requis | Contraintes |
|---|---|---|
$ | objectRequis dans le parent |
|
workspace_id | stringRequis dans le parent |
|
social_account_id | stringRequis dans le parent |
|
import_id | stringRequis dans le parent |
|
csv | stringRequis dans le parent |
|
row_numbers | arrayRequis dans le parent |
|
row_numbers[] | integerFacultatif / élément |
|
preview_digest | stringRequis dans le parent |
|
JSON Schema complet
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid"
},
"social_account_id": {
"type": "string",
"format": "uuid"
},
"import_id": {
"type": "string",
"format": "uuid"
},
"csv": {
"type": "string",
"minLength": 1,
"maxLength": 200000
},
"row_numbers": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"preview_digest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"workspace_id",
"social_account_id",
"import_id",
"csv",
"row_numbers",
"preview_digest"
],
"additionalProperties": false
}Sortie structurée
Ce schéma décrit structuredContent dans un résultat d’outil réussi. La réponse MCP contient aussi content et peut définir isError en cas d’échec. Pour publier, lisez le résultat final de la publication plutôt que de considérer une requête acceptée ou une réponse texte comme une confirmation. L’opération API liée explique les autorisations et règles de nouvelle tentative.
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.
| Champ / branche | Type / requis | Contraintes |
|---|---|---|
$ | objectRequis dans le parent |
|
contract_version | stringRequis dans le parent |
|
workspace_id | stringRequis dans le parent |
|
social_account_id | stringRequis dans le parent |
|
import_id | stringRequis dans le parent |
|
preview_digest | stringRequis dans le parent |
|
selected_row_numbers | arrayRequis dans le parent |
|
selected_row_numbers[] | integerFacultatif / élément |
|
rows | arrayRequis dans le parent |
|
rows[] | objectFacultatif / élément |
|
rows[].row_number | integerRequis dans le parent |
|
rows[].row_id | stringRequis dans le parent |
|
rows[].draft_id | stringRequis dans le parent |
|
rows[].save_mutation_id | stringRequis dans le parent |
|
rows[].submission_id | stringRequis dans le parent |
|
rows[].caption | stringRequis dans le parent |
|
rows[].scheduled_at | string | nullRequis dans le parent | — |
rows[].scheduled_atanyOf 1 | stringRequis dans le parent |
|
rows[].scheduled_atanyOf 2 | nullRequis dans le parent | — |
rows[].display_timezone | stringRequis dans le parent |
|
rows[].asset_ids | arrayRequis dans le parent |
|
rows[].asset_ids[] | stringFacultatif / élément |
|
rows[].topic_tag | string | nullRequis dans le parent | — |
rows[].topic_taganyOf 1 | stringRequis dans le parent |
|
rows[].topic_taganyOf 2 | nullRequis dans le parent | — |
rows[].post_type | string | nullRequis dans le parent | — |
rows[].post_typeanyOf 1 | stringRequis dans le parent |
|
rows[].post_typeanyOf 2 | nullRequis dans le parent | — |
rows[].status | stringRequis dans le parent |
|
rows[].errors | arrayRequis dans le parent |
|
rows[].errors[] | objectFacultatif / élément |
|
rows[].errors[].code | stringRequis dans le parent |
|
rows[].errors[].message | stringRequis dans le parent |
|
rows[].duplicate_of | integer | nullRequis dans le parent | — |
rows[].duplicate_ofanyOf 1 | integerRequis dans le parent |
|
rows[].duplicate_ofanyOf 2 | nullRequis dans le parent | — |
rows[].draft_revision | integer | nullRequis dans le parent | — |
rows[].draft_revisionanyOf 1 | integerRequis dans le parent |
|
rows[].draft_revisionanyOf 2 | nullRequis dans le parent | — |
rows[].post | object | nullRequis dans le parent | — |
rows[].postanyOf 1 | objectRequis dans le parent |
|
rows[].post.idanyOf 1 | stringRequis dans le parent |
|
rows[].post.workspace_idanyOf 1 | stringRequis dans le parent |
|
rows[].post.social_account_idanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.social_account_idanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
rows[].post.social_account_idanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
rows[].post.platformanyOf 1 | stringRequis dans le parent |
|
rows[].post.destinationanyOf 1 | objectRequis dans le parent |
|
rows[].post.destination.social_account_idanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.destination.social_account_idanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
rows[].post.destination.social_account_idanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
rows[].post.destination.platformanyOf 1 | stringRequis dans le parent |
|
rows[].post.destination.platform_user_idanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.destination.account_labelanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.captionanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.hashtagsanyOf 1 | arrayRequis dans le parent | — |
rows[].post.hashtags[]anyOf 1 | stringFacultatif / élément | — |
rows[].post.mediaanyOf 1 | arrayRequis dans le parent | — |
rows[].post.media[]anyOf 1 | objectFacultatif / élément |
|
rows[].post.media[].kindanyOf 1 | stringRequis dans le parent |
|
rows[].post.media[].urlanyOf 1 | stringRequis dans le parent |
|
rows[].post.media[].cover_urlanyOf 1 | string | nullFacultatif / élément | — |
rows[].post.media[].cover_urlanyOf 1 / anyOf 1 | stringFacultatif / élément |
|
rows[].post.media[].cover_urlanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.media[].cover_asset_idanyOf 1 | integer | nullFacultatif / élément | — |
rows[].post.media[].cover_asset_idanyOf 1 / anyOf 1 | integerFacultatif / élément |
|
rows[].post.media[].cover_asset_idanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.media[].asset_idanyOf 1 | integer | nullFacultatif / élément | — |
rows[].post.media[].asset_idanyOf 1 / anyOf 1 | integerFacultatif / élément |
|
rows[].post.media[].asset_idanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.media[].mime_typeanyOf 1 | string | nullFacultatif / élément | — |
rows[].post.media[].mime_typeanyOf 1 / anyOf 1 | stringFacultatif / élément |
|
rows[].post.media[].mime_typeanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.media[].preview_urlanyOf 1 | string | 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 1 | stringFacultatif / élément |
|
rows[].post.media[].preview_urlanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.media[].cover_preview_urlanyOf 1 | string | 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 1 | stringFacultatif / élément |
|
rows[].post.media[].cover_preview_urlanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.media[].preview_expires_atanyOf 1 | string | nullFacultatif / élément | — |
rows[].post.media[].preview_expires_atanyOf 1 / anyOf 1 | stringFacultatif / élément |
|
rows[].post.media[].preview_expires_atanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.link_urlanyOf 1 | string | nullFacultatif / élément | — |
rows[].post.link_urlanyOf 1 / anyOf 1 | stringFacultatif / élément |
|
rows[].post.link_urlanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.publish_optionsanyOf 1 | objectRequis dans le parent |
|
rows[].post.publish_options.post_typeanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.location_idanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.share_to_feedanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.collaboratorsanyOf 1 | arrayFacultatif / élément |
|
rows[].post.publish_options.collaborators[]anyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.first_commentanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.topic_taganyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.thumb_offset_msanyOf 1 | integerFacultatif / élément |
|
rows[].post.publish_options.titleanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.youtube_privacy_statusanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.youtube_category_idanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.youtube_contains_synthetic_mediaanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.descriptionanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.category_idanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.privacy_statusanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.cancellation_modeanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.tagsanyOf 1 | arrayFacultatif / élément | — |
rows[].post.publish_options.tags[]anyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.default_languageanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.localizationsanyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.localizations.*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.licenseanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.embeddableanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.public_stats_viewableanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.self_declared_made_for_kidsanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.contains_synthetic_mediaanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.has_paid_product_placementanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.recording_dateanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.notify_subscribersanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.thumbnail_asset_idanyOf 1 | integerFacultatif / élément |
|
rows[].post.publish_options.surface_expectationanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.brand_partneranyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.brand_partner.*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.cover_asset_idanyOf 1 | integerFacultatif / élément |
|
rows[].post.publish_options.audio_nameanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.trial_paramsanyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.trial_params.*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.is_ai_generatedanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.branded_content_sponsor_idsanyOf 1 | arrayFacultatif / élément | — |
rows[].post.publish_options.branded_content_sponsor_ids[]anyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.is_paid_partnershipanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.media_optionsanyOf 1 | arrayFacultatif / élément | — |
rows[].post.publish_options.media_options[]anyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.media_options[].*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.reply_to_idanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.quote_post_idanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.repost_target_idanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.reply_controlanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.enable_reply_approvalsanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.link_attachmentanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.poll_attachmentanyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.poll_attachment.*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.gif_attachmentanyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.gif_attachment.*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.text_attachmentanyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.text_attachment.*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.text_entitiesanyOf 1 | arrayFacultatif / élément | — |
rows[].post.publish_options.text_entities[]anyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.text_entities[].*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.is_spoiler_mediaanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.is_ghost_postanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.allowlisted_country_codesanyOf 1 | arrayFacultatif / élément | — |
rows[].post.publish_options.allowlisted_country_codes[]anyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.crossreshare_to_iganyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.crossreshare_to_ig_dark_modeanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.auto_publish_textanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.publication_modeanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.backdated_timeanyOf 1 | numberFacultatif / élément | — |
rows[].post.publish_options.backdated_time_granularityanyOf 1 | stringFacultatif / élément |
|
rows[].post.publish_options.placeanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.feed_targetinganyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.feed_targeting.*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.targetinganyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.targeting.*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.child_attachmentsanyOf 1 | arrayFacultatif / élément | — |
rows[].post.publish_options.child_attachments[]anyOf 1 | objectFacultatif / élément |
|
rows[].post.publish_options.child_attachments[].*anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.publish_options.multi_share_end_cardanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.multi_share_optimizedanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.unpublished_content_typeanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.no_storyanyOf 1 | booleanFacultatif / élément | — |
rows[].post.publish_options.crossposted_video_idanyOf 1 | stringFacultatif / élément | — |
rows[].post.publish_options.sphericalanyOf 1 | booleanFacultatif / élément | — |
rows[].post.scheduled_atanyOf 1 | stringRequis dans le parent | — |
rows[].post.display_timezoneanyOf 1 | stringRequis dans le parent |
|
rows[].post.local_scheduled_atanyOf 1 | string | nullFacultatif / élément | — |
rows[].post.local_scheduled_atanyOf 1 / anyOf 1 | stringFacultatif / élément |
|
rows[].post.local_scheduled_atanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.schedule_timezoneanyOf 1 | string | nullFacultatif / élément | — |
rows[].post.schedule_timezoneanyOf 1 / anyOf 1 | stringFacultatif / élément |
|
rows[].post.schedule_timezoneanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.schedule_dst_disambiguationanyOf 1 | string | nullFacultatif / élément | — |
rows[].post.schedule_dst_disambiguationanyOf 1 / anyOf 1 | stringFacultatif / élément |
|
rows[].post.schedule_dst_disambiguationanyOf 1 / anyOf 2 | nullFacultatif / élément | — |
rows[].post.schedule_intent_stateanyOf 1 | stringFacultatif / élément |
|
rows[].post.expires_atanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.statusanyOf 1 | stringRequis dans le parent |
|
rows[].post.versionanyOf 1 | integerRequis dans le parent |
|
rows[].post.automatic_retry_enabledanyOf 1 | booleanRequis dans le parent | — |
rows[].post.delete_requested_atanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.deletionanyOf 1 | objectFacultatif / élément |
|
rows[].post.deletion.stateanyOf 1 | stringRequis dans le parent |
|
rows[].post.deletion.retry_atanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.deletion.retry_atanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
rows[].post.deletion.retry_atanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
rows[].post.published_atanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.deleted_atanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.provider_post_idanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.permalinkanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.permalinkanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
rows[].post.permalinkanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
rows[].post.created_atanyOf 1 | stringRequis dans le parent | — |
rows[].post.updated_atanyOf 1 | stringRequis dans le parent | — |
rows[].post.project_idanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.project_idanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
rows[].post.project_idanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
rows[].post.batch_idanyOf 1 | string | nullRequis dans le parent | — |
rows[].post.batch_idanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
rows[].post.batch_idanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
rows[].post.source_refanyOf 1 | object | nullRequis dans le parent | — |
rows[].post.source_refanyOf 1 / anyOf 1 | objectRequis dans le parent |
|
rows[].post.source_ref.*anyOf 1 / anyOf 1 | any JSON valueFacultatif / élément | — |
rows[].post.source_refanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
rows[].postanyOf 2 | nullRequis dans le parent | — |
import_errors | arrayRequis dans le parent |
|
import_errors[] | objectFacultatif / élément |
|
import_errors[].code | stringRequis dans le parent |
|
import_errors[].message | stringRequis dans le parent |
|
counts | objectRequis dans le parent |
|
counts.total | integerRequis dans le parent |
|
counts.ready | integerRequis dans le parent |
|
counts.invalid | integerRequis dans le parent |
|
counts.accepted | integerRequis dans le parent |
|
counts.not_accepted | integerRequis dans le parent |
|
counts.uncertain | integerRequis dans le parent |
|
counts.not_attempted | integerRequis dans le parent |
|
complete | booleanRequis dans le parent | — |
JSON Schema complet
{
"type": "object",
"properties": {
"contract_version": {
"type": "string",
"const": "threads-csv/v1"
},
"workspace_id": {
"type": "string",
"format": "uuid"
},
"social_account_id": {
"type": "string",
"format": "uuid"
},
"import_id": {
"type": "string",
"format": "uuid"
},
"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"
},
"draft_id": {
"type": "string",
"format": "uuid"
},
"save_mutation_id": {
"type": "string",
"format": "uuid"
},
"submission_id": {
"type": "string",
"format": "uuid"
},
"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"
],
"additionalProperties": false
}
},
"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"
},
"social_account_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"platform": {
"type": "string",
"enum": [
"instagram",
"threads",
"facebook",
"youtube",
"x"
]
},
"destination": {
"type": "object",
"properties": {
"social_account_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"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"
],
"additionalProperties": false
},
"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"
],
"additionalProperties": false
}
},
"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"
}
},
"additionalProperties": false
},
"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"
],
"additionalProperties": false
},
"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"
},
{
"type": "null"
}
]
},
"batch_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"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"
],
"additionalProperties": false
},
{
"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"
],
"additionalProperties": false
}
},
"import_errors": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"maxLength": 80
},
"message": {
"type": "string",
"maxLength": 300
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"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"
],
"additionalProperties": false
},
"complete": {
"type": "boolean"
}
},
"required": [
"contract_version",
"workspace_id",
"social_account_id",
"import_id",
"preview_digest",
"selected_row_numbers",
"rows",
"import_errors",
"counts",
"complete"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Exemple d’appel d’outil
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.
{
"name": "sosoapi_submit_threads_csv",
"arguments": {
"workspace_id": "11111111-1111-4111-8111-111111111111",
"social_account_id": "22222222-2222-4222-8222-222222222222",
"import_id": "55555555-5555-4555-8555-555555555555",
"csv": "caption,scheduled_at,display_timezone,asset_ids,topic_tag\nA fictional announcement.,2099-01-15T09:00:00Z,UTC,,Cooking",
"row_numbers": [
1
],
"preview_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
}structuredContent
{
"workspace_id": "11111111-1111-4111-8111-111111111111",
"social_account_id": "22222222-2222-4222-8222-222222222222",
"import_id": "55555555-5555-4555-8555-555555555555",
"contract_version": "threads-csv/v1",
"preview_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"selected_row_numbers": [
1
],
"rows": [
{
"row_number": 1,
"row_id": "80000000-0000-4000-8000-000000000004",
"draft_id": "70000000-0000-4000-8000-000000000004",
"save_mutation_id": "60000000-0000-4000-8000-000000000004",
"submission_id": "60000000-0000-4000-8000-000000000005",
"caption": "A fictional announcement.",
"scheduled_at": "2099-01-15T09:00:00Z",
"display_timezone": "UTC",
"asset_ids": [],
"topic_tag": "Cooking",
"post_type": "TEXT",
"status": "accepted",
"errors": [],
"duplicate_of": null,
"draft_revision": 3,
"post": {
"id": "90000000-0000-4000-8000-000000000004",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"social_account_id": "22222222-2222-4222-8222-222222222222",
"platform": "threads",
"destination": {
"social_account_id": "22222222-2222-4222-8222-222222222222",
"platform": "threads",
"platform_user_id": "12345",
"account_label": "Fictional Threads account"
},
"caption": "A fictional announcement.",
"hashtags": [],
"media": [],
"publish_options": {
"post_type": "TEXT",
"topic_tag": "Cooking"
},
"scheduled_at": "2099-01-15T09:00:00Z",
"display_timezone": "UTC",
"expires_at": null,
"status": "scheduled",
"version": 1,
"automatic_retry_enabled": false,
"delete_requested_at": null,
"published_at": null,
"deleted_at": null,
"provider_post_id": null,
"permalink": null,
"project_id": null,
"batch_id": "50000000-0000-4000-8000-000000000004",
"source_ref": null,
"created_at": "2099-01-14T09:00:00Z",
"updated_at": "2099-01-14T09:00:00Z"
}
}
],
"import_errors": [],
"counts": {
"total": 1,
"ready": 0,
"invalid": 0,
"accepted": 1,
"not_accepted": 0,
"uncertain": 0,
"not_attempted": 0
},
"complete": true
}