A busca carrega apenas quando você a usa. Explore todas as categorias abaixo.

Agendamento e publicação

Enviar CSV do Threads

Enviar ou continuar explicitamente no máximo cinco linhas CSV do Threads selecionadas por solicitação com as mesmas identidades de importação, rascunho e envio. Manter o CSV original e a seleção para recuperação.

POST /studio-api/threads-csv/submit

Contrato revisado: · sha256:11debf801a5e6096

Visão geral

Enviar ou continuar explicitamente no máximo cinco linhas CSV do Threads selecionadas por solicitação com as mesmas identidades de importação, rascunho e envio. Manter o CSV original e a seleção para recuperação.

Uma resposta HTTP bem-sucedida pode significar que uma requisição foi aceita, não concluída. Para trabalho em segundo plano, salve o ID retornado e consulte a mesma operação até terminar. Um post agendado ou aceito só está publicado quando a plataforma confirma; um timeout do cliente não comprova o resultado.

Autenticação e permissões

Classes de credenciais aceitas
user_session, delegated_oauth, personal_access_token
Capacidade delegada
agent:publish
Função mínima no workspace
editor
Escopo de acesso
Recursos que este usuário tem autorização para acessar
Consentimento para todos os workspaces obrigatório
Não
Altera o estado
Sim
Quando a operação estiver concluída
durable independent per-row acceptance; accepted rows are never recreated and acceptance is not provider publication

Um token só pode usar os direitos do seu proprietário. Cada requisição verifica participação no workspace, propriedade de recursos, workspaces selecionados e capacidades concedidas. Os perfis core e full mudam as ferramentas exibidas; não concedem acesso.

Campos da requisição

Obrigatório significa obrigatório dentro do objeto pai e da ramificação selecionada. Um filho obrigatório não torna obrigatório um pai opcional. As regras e nomes de campos abaixo são copiados do contrato.

Campos da requisição
Campo / ramificaçãoTipo / obrigatórioRestrições
$objectObrigatório no objeto pai
  • additionalProperties: false
workspace_idstringObrigatório no objeto pai
  • 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_idstringObrigatório no objeto pai
  • 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_idstringObrigatório no objeto pai
  • 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)$"
csvstringObrigatório no objeto pai
  • minLength: 1
  • maxLength: 200000
row_numbersarrayObrigatório no objeto pai
  • minItems: 1
  • maxItems: 50
row_numbers[]integerOpcional / item
  • minimum: 1
  • maximum: 50
preview_digeststringObrigatório no objeto pai
  • pattern: "^[a-f0-9]{64}$"
JSON Schema completo
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "import_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "csv": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000
    },
    "row_numbers": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 50
      }
    },
    "preview_digest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "workspace_id",
    "social_account_id",
    "import_id",
    "csv",
    "row_numbers",
    "preview_digest"
  ],
  "additionalProperties": false
}

Resposta e conclusão

Códigos HTTP de sucesso: 200. Quando a operação estiver concluída: durable independent per-row acceptance; accepted rows are never recreated and acceptance is not provider publication.

Uma resposta HTTP bem-sucedida pode significar que uma requisição foi aceita, não concluída. Para trabalho em segundo plano, salve o ID retornado e consulte a mesma operação até terminar. Um post agendado ou aceito só está publicado quando a plataforma confirma; um timeout do cliente não comprova o resultado.

Obrigatório significa obrigatório dentro do objeto pai e da ramificação selecionada. Um filho obrigatório não torna obrigatório um pai opcional. As regras e nomes de campos abaixo são copiados do contrato.

Resposta e conclusão
Campo / ramificaçãoTipo / obrigatórioRestrições
$objectObrigatório no objeto pai—
contract_versionstringObrigatório no objeto pai
  • const: "threads-csv/v1"
workspace_idstringObrigatório no objeto pai
  • 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_idstringObrigatório no objeto pai
  • 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_idstringObrigatório no objeto pai
  • 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_digeststringObrigatório no objeto pai
  • pattern: "^[a-f0-9]{64}$"
selected_row_numbersarrayObrigatório no objeto pai
  • maxItems: 50
selected_row_numbers[]integerOpcional / item
  • minimum: 1
  • maximum: 50
rowsarrayObrigatório no objeto pai
  • maxItems: 50
rows[]objectOpcional / item—
rows[].row_numberintegerObrigatório no objeto pai
  • minimum: 1
  • maximum: 50
rows[].row_idstringObrigatório no objeto pai
  • 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_idstringObrigatório no objeto pai
  • 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_idstringObrigatório no objeto pai
  • 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_idstringObrigatório no objeto pai
  • 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[].captionstringObrigatório no objeto pai
  • maxLength: 5000
rows[].scheduled_atstring | nullObrigatório no objeto pai—
rows[].scheduled_atanyOf 1stringObrigatório no objeto pai
  • 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 2nullObrigatório no objeto pai—
rows[].display_timezonestringObrigatório no objeto pai
  • maxLength: 128
rows[].asset_idsarrayObrigatório no objeto pai
  • maxItems: 20
rows[].asset_ids[]stringOpcional / item
  • pattern: "^[1-9]\\d{0,15}$"
rows[].topic_tagstring | nullObrigatório no objeto pai—
rows[].topic_taganyOf 1stringObrigatório no objeto pai
  • maxLength: 50
rows[].topic_taganyOf 2nullObrigatório no objeto pai—
rows[].post_typestring | nullObrigatório no objeto pai—
rows[].post_typeanyOf 1stringObrigatório no objeto pai
  • enum: ["TEXT","IMAGE","VIDEO","CAROUSEL"]
rows[].post_typeanyOf 2nullObrigatório no objeto pai—
rows[].statusstringObrigatório no objeto pai
  • enum: ["ready","invalid","accepted","not_accepted","uncertain","not_attempted"]
rows[].errorsarrayObrigatório no objeto pai
  • maxItems: 10
rows[].errors[]objectOpcional / item—
rows[].errors[].codestringObrigatório no objeto pai
  • maxLength: 80
rows[].errors[].messagestringObrigatório no objeto pai
  • maxLength: 300
rows[].duplicate_ofinteger | nullObrigatório no objeto pai—
rows[].duplicate_ofanyOf 1integerObrigatório no objeto pai
  • minimum: 1
  • maximum: 50
rows[].duplicate_ofanyOf 2nullObrigatório no objeto pai—
rows[].draft_revisioninteger | nullObrigatório no objeto pai—
rows[].draft_revisionanyOf 1integerObrigatório no objeto pai
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].draft_revisionanyOf 2nullObrigatório no objeto pai—
rows[].postobject | nullObrigatório no objeto pai—
rows[].postanyOf 1objectObrigatório no objeto pai—
rows[].post.idanyOf 1stringObrigatório no objeto pai
  • 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 1stringObrigatório no objeto pai
  • 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 | nullObrigatório no objeto pai—
rows[].post.social_account_idanyOf 1 / anyOf 1stringObrigatório no objeto pai
  • 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 2nullObrigatório no objeto pai—
rows[].post.platformanyOf 1stringObrigatório no objeto pai
  • enum: ["instagram","threads","facebook","youtube","x"]
rows[].post.destinationanyOf 1objectObrigatório no objeto pai—
rows[].post.destination.social_account_idanyOf 1string | nullObrigatório no objeto pai—
rows[].post.destination.social_account_idanyOf 1 / anyOf 1stringObrigatório no objeto pai
  • 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 2nullObrigatório no objeto pai—
rows[].post.destination.platformanyOf 1stringObrigatório no objeto pai
  • enum: ["instagram","threads","facebook","youtube","x"]
rows[].post.destination.platform_user_idanyOf 1string | nullObrigatório no objeto pai—
rows[].post.destination.account_labelanyOf 1string | nullObrigatório no objeto pai—
rows[].post.captionanyOf 1string | nullObrigatório no objeto pai—
rows[].post.hashtagsanyOf 1arrayObrigatório no objeto pai—
rows[].post.hashtags[]anyOf 1stringOpcional / item—
rows[].post.mediaanyOf 1arrayObrigatório no objeto pai—
rows[].post.media[]anyOf 1objectOpcional / item—
rows[].post.media[].kindanyOf 1stringObrigatório no objeto pai
  • enum: ["image","video"]
rows[].post.media[].urlanyOf 1stringObrigatório no objeto pai
  • format: "uri"
rows[].post.media[].cover_urlanyOf 1string | nullOpcional / item—
rows[].post.media[].cover_urlanyOf 1 / anyOf 1stringOpcional / item
  • format: "uri"
rows[].post.media[].cover_urlanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.media[].cover_asset_idanyOf 1integer | nullOpcional / item—
rows[].post.media[].cover_asset_idanyOf 1 / anyOf 1integerOpcional / item
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.media[].cover_asset_idanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.media[].asset_idanyOf 1integer | nullOpcional / item—
rows[].post.media[].asset_idanyOf 1 / anyOf 1integerOpcional / item
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.media[].asset_idanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.media[].mime_typeanyOf 1string | nullOpcional / item—
rows[].post.media[].mime_typeanyOf 1 / anyOf 1stringOpcional / item
  • minLength: 1
  • maxLength: 160
rows[].post.media[].mime_typeanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.media[].preview_urlanyOf 1string | nullOpcional / item

URL temporária autorizada de leitura; mantenha url como identidade persistida da mídia do Scheduled Post.

—
rows[].post.media[].preview_urlanyOf 1 / anyOf 1stringOpcional / item
  • format: "uri"
rows[].post.media[].preview_urlanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.media[].cover_preview_urlanyOf 1string | nullOpcional / item

URL temporária autorizada de leitura de capa; mantenha cover_url como identidade persistida da mídia.

—
rows[].post.media[].cover_preview_urlanyOf 1 / anyOf 1stringOpcional / item
  • format: "uri"
rows[].post.media[].cover_preview_urlanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.media[].preview_expires_atanyOf 1string | nullOpcional / item—
rows[].post.media[].preview_expires_atanyOf 1 / anyOf 1stringOpcional / item
  • 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 2nullOpcional / item—
rows[].post.link_urlanyOf 1string | nullOpcional / item—
rows[].post.link_urlanyOf 1 / anyOf 1stringOpcional / item
  • format: "uri"
rows[].post.link_urlanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.publish_optionsanyOf 1objectObrigatório no objeto pai—
rows[].post.publish_options.post_typeanyOf 1stringOpcional / item
  • enum: ["TEXT","LINK","IMAGE","MULTI_IMAGE","VIDEO","CAROUSEL","REELS","STORY_IMAGE","STORY_VIDEO","REPOST","SHORT"]
rows[].post.publish_options.location_idanyOf 1stringOpcional / item
  • minLength: 1
rows[].post.publish_options.share_to_feedanyOf 1booleanOpcional / item—
rows[].post.publish_options.collaboratorsanyOf 1arrayOpcional / item
  • maxItems: 3
rows[].post.publish_options.collaborators[]anyOf 1stringOpcional / item
  • minLength: 1
rows[].post.publish_options.first_commentanyOf 1stringOpcional / item
  • minLength: 1
  • maxLength: 2200
rows[].post.publish_options.topic_taganyOf 1stringOpcional / item
  • minLength: 1
rows[].post.publish_options.thumb_offset_msanyOf 1integerOpcional / item
  • minimum: 0
  • maximum: 9007199254740991
rows[].post.publish_options.titleanyOf 1stringOpcional / item
  • maxLength: 255
rows[].post.publish_options.youtube_privacy_statusanyOf 1stringOpcional / item
  • enum: ["private","unlisted","public"]
rows[].post.publish_options.youtube_category_idanyOf 1stringOpcional / item
  • pattern: "^\\d+$"
rows[].post.publish_options.youtube_contains_synthetic_mediaanyOf 1booleanOpcional / item—
rows[].post.publish_options.descriptionanyOf 1stringOpcional / item
  • maxLength: 5000
rows[].post.publish_options.category_idanyOf 1stringOpcional / item
  • pattern: "^\\d+$"
rows[].post.publish_options.privacy_statusanyOf 1stringOpcional / item
  • enum: ["private","unlisted","public"]
rows[].post.publish_options.cancellation_modeanyOf 1stringOpcional / item
  • enum: ["DELETE","UNSCHEDULE_KEEP_PRIVATE"]
rows[].post.publish_options.tagsanyOf 1arrayOpcional / item—
rows[].post.publish_options.tags[]anyOf 1stringOpcional / item—
rows[].post.publish_options.default_languageanyOf 1stringOpcional / item—
rows[].post.publish_options.localizationsanyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.localizations.*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.licenseanyOf 1stringOpcional / item
  • enum: ["youtube","creativeCommon"]
rows[].post.publish_options.embeddableanyOf 1booleanOpcional / item—
rows[].post.publish_options.public_stats_viewableanyOf 1booleanOpcional / item—
rows[].post.publish_options.self_declared_made_for_kidsanyOf 1booleanOpcional / item—
rows[].post.publish_options.contains_synthetic_mediaanyOf 1booleanOpcional / item—
rows[].post.publish_options.has_paid_product_placementanyOf 1booleanOpcional / item—
rows[].post.publish_options.recording_dateanyOf 1stringOpcional / item—
rows[].post.publish_options.notify_subscribersanyOf 1booleanOpcional / item—
rows[].post.publish_options.thumbnail_asset_idanyOf 1integerOpcional / item
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.publish_options.surface_expectationanyOf 1stringOpcional / item
  • const: "SHORT"
rows[].post.publish_options.brand_partneranyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.brand_partner.*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.cover_asset_idanyOf 1integerOpcional / item
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.publish_options.audio_nameanyOf 1stringOpcional / item—
rows[].post.publish_options.trial_paramsanyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.trial_params.*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.is_ai_generatedanyOf 1booleanOpcional / item—
rows[].post.publish_options.branded_content_sponsor_idsanyOf 1arrayOpcional / item—
rows[].post.publish_options.branded_content_sponsor_ids[]anyOf 1stringOpcional / item—
rows[].post.publish_options.is_paid_partnershipanyOf 1booleanOpcional / item—
rows[].post.publish_options.media_optionsanyOf 1arrayOpcional / item—
rows[].post.publish_options.media_options[]anyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.media_options[].*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.reply_to_idanyOf 1stringOpcional / item—
rows[].post.publish_options.quote_post_idanyOf 1stringOpcional / item—
rows[].post.publish_options.repost_target_idanyOf 1stringOpcional / item—
rows[].post.publish_options.reply_controlanyOf 1stringOpcional / item—
rows[].post.publish_options.enable_reply_approvalsanyOf 1booleanOpcional / item—
rows[].post.publish_options.link_attachmentanyOf 1stringOpcional / item
  • format: "uri"
rows[].post.publish_options.poll_attachmentanyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.poll_attachment.*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.gif_attachmentanyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.gif_attachment.*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.text_attachmentanyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.text_attachment.*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.text_entitiesanyOf 1arrayOpcional / item—
rows[].post.publish_options.text_entities[]anyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.text_entities[].*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.is_spoiler_mediaanyOf 1booleanOpcional / item—
rows[].post.publish_options.is_ghost_postanyOf 1booleanOpcional / item—
rows[].post.publish_options.allowlisted_country_codesanyOf 1arrayOpcional / item—
rows[].post.publish_options.allowlisted_country_codes[]anyOf 1stringOpcional / item—
rows[].post.publish_options.crossreshare_to_iganyOf 1booleanOpcional / item—
rows[].post.publish_options.crossreshare_to_ig_dark_modeanyOf 1booleanOpcional / item—
rows[].post.publish_options.auto_publish_textanyOf 1booleanOpcional / item—
rows[].post.publish_options.publication_modeanyOf 1stringOpcional / item
  • enum: ["PUBLISH","DRAFT"]
rows[].post.publish_options.backdated_timeanyOf 1numberOpcional / item—
rows[].post.publish_options.backdated_time_granularityanyOf 1stringOpcional / item
  • enum: ["year","month","day","hour","minute"]
rows[].post.publish_options.placeanyOf 1stringOpcional / item—
rows[].post.publish_options.feed_targetinganyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.feed_targeting.*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.targetinganyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.targeting.*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.child_attachmentsanyOf 1arrayOpcional / item—
rows[].post.publish_options.child_attachments[]anyOf 1objectOpcional / item
  • additionalProperties: {}
rows[].post.publish_options.child_attachments[].*anyOf 1any JSON valueOpcional / item—
rows[].post.publish_options.multi_share_end_cardanyOf 1booleanOpcional / item—
rows[].post.publish_options.multi_share_optimizedanyOf 1booleanOpcional / item—
rows[].post.publish_options.unpublished_content_typeanyOf 1stringOpcional / item—
rows[].post.publish_options.no_storyanyOf 1booleanOpcional / item—
rows[].post.publish_options.crossposted_video_idanyOf 1stringOpcional / item—
rows[].post.publish_options.sphericalanyOf 1booleanOpcional / item—
rows[].post.scheduled_atanyOf 1stringObrigatório no objeto pai—
rows[].post.display_timezoneanyOf 1stringObrigatório no objeto pai
  • minLength: 1
  • maxLength: 80
rows[].post.local_scheduled_atanyOf 1string | nullOpcional / item—
rows[].post.local_scheduled_atanyOf 1 / anyOf 1stringOpcional / item
  • pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
rows[].post.local_scheduled_atanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.schedule_timezoneanyOf 1string | nullOpcional / item—
rows[].post.schedule_timezoneanyOf 1 / anyOf 1stringOpcional / item
  • minLength: 1
  • maxLength: 80
rows[].post.schedule_timezoneanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.schedule_dst_disambiguationanyOf 1string | nullOpcional / item—
rows[].post.schedule_dst_disambiguationanyOf 1 / anyOf 1stringOpcional / item
  • enum: ["exact","earlier","later"]
rows[].post.schedule_dst_disambiguationanyOf 1 / anyOf 2nullOpcional / item—
rows[].post.schedule_intent_stateanyOf 1stringOpcional / item
  • enum: ["verified","legacy_unverified"]
rows[].post.expires_atanyOf 1string | nullObrigatório no objeto pai—
rows[].post.statusanyOf 1stringObrigatório no objeto pai
  • enum: ["scheduled","publishing","published","failed","expired","needs_reschedule","cancelled","deleted"]
rows[].post.versionanyOf 1integerObrigatório no objeto pai
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
rows[].post.automatic_retry_enabledanyOf 1booleanObrigatório no objeto pai—
rows[].post.delete_requested_atanyOf 1string | nullObrigatório no objeto pai—
rows[].post.deletionanyOf 1objectOpcional / item—
rows[].post.deletion.stateanyOf 1stringObrigatório no objeto pai
  • enum: ["pending","retry_scheduled","failed","unconfirmed","confirmed","unpublished_cancelled"]
rows[].post.deletion.retry_atanyOf 1string | nullObrigatório no objeto pai—
rows[].post.deletion.retry_atanyOf 1 / anyOf 1stringObrigatório no objeto pai
  • 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 2nullObrigatório no objeto pai—
rows[].post.published_atanyOf 1string | nullObrigatório no objeto pai—
rows[].post.deleted_atanyOf 1string | nullObrigatório no objeto pai—
rows[].post.provider_post_idanyOf 1string | nullObrigatório no objeto pai—
rows[].post.permalinkanyOf 1string | nullObrigatório no objeto pai—
rows[].post.permalinkanyOf 1 / anyOf 1stringObrigatório no objeto pai
  • format: "uri"
rows[].post.permalinkanyOf 1 / anyOf 2nullObrigatório no objeto pai—
rows[].post.created_atanyOf 1stringObrigatório no objeto pai—
rows[].post.updated_atanyOf 1stringObrigatório no objeto pai—
rows[].post.project_idanyOf 1string | nullObrigatório no objeto pai—
rows[].post.project_idanyOf 1 / anyOf 1stringObrigatório no objeto pai
  • 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 2nullObrigatório no objeto pai—
rows[].post.batch_idanyOf 1string | nullObrigatório no objeto pai—
rows[].post.batch_idanyOf 1 / anyOf 1stringObrigatório no objeto pai
  • 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 2nullObrigatório no objeto pai—
rows[].post.source_refanyOf 1object | nullObrigatório no objeto pai—
rows[].post.source_refanyOf 1 / anyOf 1objectObrigatório no objeto pai
  • additionalProperties: {}
rows[].post.source_ref.*anyOf 1 / anyOf 1any JSON valueOpcional / item—
rows[].post.source_refanyOf 1 / anyOf 2nullObrigatório no objeto pai—
rows[].postanyOf 2nullObrigatório no objeto pai—
import_errorsarrayObrigatório no objeto pai
  • maxItems: 10
import_errors[]objectOpcional / item—
import_errors[].codestringObrigatório no objeto pai
  • maxLength: 80
import_errors[].messagestringObrigatório no objeto pai
  • maxLength: 300
countsobjectObrigatório no objeto pai—
counts.totalintegerObrigatório no objeto pai
  • minimum: 0
  • maximum: 50
counts.readyintegerObrigatório no objeto pai
  • minimum: 0
  • maximum: 50
counts.invalidintegerObrigatório no objeto pai
  • minimum: 0
  • maximum: 50
counts.acceptedintegerObrigatório no objeto pai
  • minimum: 0
  • maximum: 50
counts.not_acceptedintegerObrigatório no objeto pai
  • minimum: 0
  • maximum: 50
counts.uncertainintegerObrigatório no objeto pai
  • minimum: 0
  • maximum: 50
counts.not_attemptedintegerObrigatório no objeto pai
  • minimum: 0
  • maximum: 50
completebooleanObrigatório no objeto pai—
JSON Schema completo
{
  "$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"
  ]
}

Erros e repetições seguras

Confira o status HTTP e o corpo da resposta. Um erro de validação 400 pode conter ZodError; erros do handler usam os campos error, message e code. Guarde request_id ou x-request-id para diagnóstico, sem credenciais. Corrija erros de acesso 401/403 antes de tentar novamente e siga Retry-After para 429. Se uma gravação for incerta ou retornar 5xx, consulte primeiro o resultado existente. Reutilize uma chave de idempotência somente quando houver suporte; o comportamento de repetição varia por operação e não garante entrega exatamente uma vez.

Guia de solução de problemas

Exemplos

Estes exemplos usam valores fictícios verificados conforme os schemas. Substitua os IDs por aqueles que você tem autorização para usar, a mídia por ativos prontos e as datas pelo horário de publicação confirmado. Confira a elegibilidade da conta antes de enviar uma gravação. Esta página não envia requisições de API.

Defina SOSOAPI_ACCESS_TOKEN no servidor como uma credencial aceita por esta operação e mantenha-a fora do código do navegador. Para agentes de IA, use sosoapi auth login para entrar pelo navegador e deixe a CLI renovar suas credenciais.

request.json

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

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/threads-csv/submit" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

JavaScript

// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/threads-csv/submit", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "social_account_id": "22222222-2222-4222-8222-222222222222",
  "import_id": "55555555-5555-4555-8555-555555555555",
  "csv": "caption,scheduled_at,display_timezone,asset_ids,topic_tag\nA fictional announcement.,2099-01-15T09:00:00Z,UTC,,Cooking",
  "row_numbers": [
    1
  ],
  "preview_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

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

Exemplo de resposta sintética

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

MCP: sosoapi_submit_threads_csv