Atualizar post
Atualiza um post. Só os campos enviados mudam. A conta social do post não muda (social_account_id é recusado).
Num post com um destino (todos os criados pela API), mande content_type e meta no nível de cima ou dentro de platforms, com um único item cujo id é o do destino (platforms[0].id do post). Não misture as duas formas: platforms com outro id, com mais de um item ou junto com content_type/meta no nível de cima responde 422 em platforms. Nos dois casos os erros aparecem em platforms.0.* (por exemplo platforms.0.meta.privacy_level, platforms.0.content_type); as checagens feitas ao montar o post aparecem em destinations.0.*.
meta é mesclado com o que está salvo, chave por chave: mande null numa chave para apagá-la; thread_replies substitui a lista inteira. media substitui as mídias do post; label_ids substitui as etiquetas.
status: publishing publica agora; scheduled agenda em scheduled_at, na fila (queue) ou mantém o horário futuro que o post já tem; draft tira o post da agenda (o último scheduled_at continua no rascunho). Um post da fila editado sem queue nem scheduled_at continua no seu horário da fila. Ao agendar ou publicar, o formato precisa servir para a mídia e as configurações obrigatórias da rede precisam estar presentes.
Posts antigos com vários destinos aceitam platforms com os id dos destinos ativos que devem continuar; os que não forem listados são desativados. Nesses posts, queue é recusado.
Posts que estão publicando, publicados, parcialmente publicados ou com falha não podem ser editados: a resposta é 422 com {"message": "Este post já foi processado e não pode ser republicado. Duplique-o para tentar de novo."} (as mensagens de validação seguem o idioma do servidor, português no PostClean).
A chave de API age como o usuário que a criou. Só admins do workspace criam chaves, e admins publicam direto, então o post não fica pending_approval.
Neste endpoint um corpo inválido pode responder 422 antes da checagem de 404 de um post de outro workspace.
Authorizations
Chave de API do workspace, criada em Configurações > Chaves de API.
Path Parameters
Id do post. Um post de outro workspace devolve 404.
Body
Texto do post, até 25000 caracteres. Com status scheduled ou publishing, também precisa caber no limite da conta (max_content_length da conta social: 280 no X, 25000 em contas do X com posts longos, 300 no Bluesky, 500 no Mastodon contando o aviso de conteúdo), medido no texto que a rede recebe. Um post agendado ou publicado precisa de texto ou mídia.
25000Substitui as mídias do post. Sem este campo, as mídias atuais ficam. Mídias em ordem. Cada item traz exatamente um entre upload_token, url ou id. Tipos que a rede do canal não aceita são recusados.
draft salva um rascunho editável. scheduled agenda em scheduled_at ou na fila do canal (queue). publishing publica agora. Sem este campo, o status atual fica.
draft, scheduled, publishing Novo formato do canal do post. Sem ele, o formato salvo continua, exceto no Pinterest e no TikTok, onde mídias novas escolhem o formato como na criação.
instagram_feed, instagram_reel, instagram_story, linkedin_post, linkedin_page_post, facebook_post, facebook_reel, facebook_story, tiktok_video, tiktok_photo, youtube_short, x_post, threads_post, threads_ghost_post, pinterest_pin, pinterest_video_pin, pinterest_carousel, bluesky_post, mastodon_post, telegram_post, discord_message, google_business_post Configurações do canal do post, mescladas com as salvas.
- X
- Bluesky
- Mastodon
- TikTok
- Pinterest
- Discord
- YouTube
- Instagram
- Threads
- Facebook
- LinkedIn
- Google Business Profile
- Telegram
Outra forma de mandar content_type e meta, por destino. Num post com um destino, exatamente um item com o id desse destino.
Com status: scheduled: obrigatório, a não ser que vá queue ou o post já tenha um horário futuro; precisa estar no futuro e antes de 2038-01-19. Não combina com queue.
Posição na fila, só com status: scheduled. next pega o primeiro horário livre do canal; top pega o primeiro horário e empurra os posts da fila que estão atrás dele para a próxima lacuna. O canal precisa ter horários de postagem (has_posting_schedule). Não combina com scheduled_at. Recusado em posts antigos com vários destinos.
next, top, null Substitui as etiquetas do post.
Response
O post atualizado.
Um post em um canal. Posts criados juntos para vários canais são posts independentes que compartilham o mesmo post_group_id. O canal, o formato, as configurações da rede e o resultado da publicação ficam em platforms.
Igual em todos os posts criados na mesma requisição.
Um membro do workspace. Só o id e o nome são expostos.
Texto do post, guardado como foi enviado (posts escritos no app guardam o HTML do editor).
Ciclo de vida do post no PostClean. pending_approval é um post que um membro que precisa de aprovação pediu para agendar ou publicar. partially_published aparece em posts antigos com vários destinos quando só parte deles foi publicada. O resultado em cada rede fica em platforms[].status.
draft, pending_approval, scheduled, publishing, published, partially_published, failed queue: o post ocupa um horário da grade de postagem do canal. custom: está agendado num horário próprio.
queue, custom, null UTC, no formato Y-m-d H:i:s.
UTC, no formato Y-m-d H:i:s.
Quem pediu a aprovação (nem sempre é o autor).
UTC, no formato Y-m-d H:i:s.
Um membro do workspace. Só o id e o nome são expostos.
UTC, no formato Y-m-d H:i:s.
Regra de repetição, ou null.
trypost para posts criados no PostClean. network para posts importados da rede (publicados fora do PostClean).
trypost, network Destinos do post. Posts criados pela API têm exatamente um.
UTC, no formato Y-m-d H:i:s.
UTC, no formato Y-m-d H:i:s.