v1Recursos/Posts/patchAtualizar uma publicação
Atualizar uma publicação
Atualização parcial de um post editável (draft, scheduled, paused, partial, error ou active): os campos que você não envia não mudam, e as listas enviadas substituem a lista existente. Um rascunho continua rascunho; para publicá-lo envie draft: false ou um scheduledFor futuro, ou chame POST /api/v1/posts/{id}/publish. Editar um post no ar o atualiza nas plataformas, exceto que um post no ar no Facebook não pode mudar imagens, carrossel nem botão (422); mudar o agendamento de um post no ar retorna 409. Retorna o post como GET /api/v1/posts/{id}, com targets.
patch
posts:write/api/v1/posts/{id}Parâmetros de consulta
idstringobrigatório
A publicação a ser atualizada.
Corpo da solicitação
locationIdstringopcional
O local para o qual publicar. Forneça este ou clientId.
clientIdstringopcional
O cliente para o qual publicar em nível de marca. Forneça este ou locationId.
namestringopcional
Nome/rótulo interno da publicação. Obrigatório, não pode ser vazio.
postTypestring (announcement | event | offer)opcional
Tipo de publicação. event e offer são exclusivos do Google.
platformsarray of string (google | facebook | instagram | x | linkedin | pinterest | mastodon | bluesky | threads | tiktok | youtube | reddit | medium | substack | vimeo | dailymotion)opcional
Plataformas de destino. Envie isto ou connectionIds. Cada plataforma publica pela conexão do local para ela (ou do cliente, em uma publicação de marca).
connectionIdsarray of stringopcional
Destinos exatos: os ids de conexão nos quais publicar, de GET /api/v1/locations/{id}/publish-targets. Use a conexão do próprio local ou a página de marca do cliente dele; uma conexão do Google em nível de conta, uma arquivada ou uma de outro local ou cliente é rejeitada com 422. Se enviado, o post vai exatamente para esses destinos e platforms é obtido deles. Na atualização, a lista substitui os destinos do post.
linkUrlstringopcional
O link principal do post, usado por cada plataforma que exibe um.
linkCtaKeystringopcional
O botão exibido com linkUrl, por exemplo learn_more, book ou shop.
utmobjectopcional
Tags UTM (source, medium, campaign, term) adicionadas ao linkUrl.
sourcestringopcional
mediumstringopcional
campaignstringopcional
termstringopcional
linkOverrideobjectopcional
Configurações de link por plataforma, com chave por plataforma: outra url, botão, title, description ou utm para essa plataforma.
linkAppendobjectopcional
Se o linkUrl é adicionado ao fim da legenda no X e no Mastodon, que não têm campo de link.
xbooleanopcional
mastodonbooleanopcional
ctaUrlFacebookstringopcional
URL do botão só para o Facebook, quando deve ser diferente de ctaUrl.
xThreadbooleanopcional
No X, divide uma legenda maior que um post em uma thread.
scheduleLocalTimestringopcional
Agenda pelo horário local, "YYYY-MM-DDTHH:mm" sem fuso. Use no lugar de scheduledFor para agendamento por fuso horário.
scheduleZoneModestring (target_local | fixed_zone)opcional
Como scheduleLocalTime é lido: target_local publica nesse horário no fuso de cada destino; fixed_zone usa scheduleTimeZone para todos os destinos.
scheduleTimeZonestringopcional
Fuso horário IANA para agendamento fixed_zone, por exemplo "America/New_York".
timeZoneModestring (target_local | fixed_zone)opcional
O mesmo que scheduleZoneMode.
articleTitlestringopcional
Campos de artigo para Medium e Substack: título, subtítulo e corpo em HTML.
articleSubtitlestringopcional
Campos de artigo para Medium e Substack: título, subtítulo e corpo em HTML.
articleBodyHtmlstringopcional
Campos de artigo para Medium e Substack: título, subtítulo e corpo em HTML.
canonicalUrlstringopcional
URL original de um artigo publicado em outro lugar, para que a plataforma credite a fonte.
videoCoverUrlstringopcional
Opções de vídeo: a URL de uma imagem de capa e a URL de um arquivo de legendas com o idioma.
videoCaptionsUrlstringopcional
Opções de vídeo: a URL de uma imagem de capa e a URL de um arquivo de legendas com o idioma.
videoCaptionsLanguagestringopcional
Opções de vídeo: a URL de uma imagem de capa e a URL de um arquivo de legendas com o idioma.
facebookCaptionstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookCtaTypestringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookFirstCommentstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookPublishAsstring (default | reel | carousel | suppress_link)opcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookCarouselCardsarray of objectopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
headlinestringopcional
descriptionstringopcional
linkstringopcional
facebookTargetCountrystringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookTargetGenderstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookTargetAgeMinstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookTargetAgeMaxstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
facebookTargetRelationshipstringopcional
Uma opção só do Facebook: legenda própria, tipo de botão, primeiro comentário, formato de publicação (default, reel, carousel, suppress_link), cards de carrossel ou segmentação de público.
instagramFirstCommentstringopcional
Uma opção só do Instagram: primeiro comentário ou texto alternativo da imagem.
instagramAltTextstringopcional
Uma opção só do Instagram: primeiro comentário ou texto alternativo da imagem.
xReplySettingsstring (everyone | following | mentioned)opcional
Uma opção só do X: quem pode responder.
linkedinVisibilitystring (anyone | connections | followers)opcional
Uma opção só do LinkedIn: visibilidade ou primeiro comentário.
linkedinFirstCommentstringopcional
Uma opção só do LinkedIn: visibilidade ou primeiro comentário.
pinterestTitlestringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
pinterestBoardIdstringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
pinterestBoardNamestringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
pinterestLinkstringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
pinterestAltTextstringopcional
Uma opção só do Pinterest: título do pin, pasta, link de destino ou texto alternativo.
tiktokPrivacyLevelstring (PUBLIC_TO_EVERYONE | MUTUAL_FOLLOW_FRIENDS | SELF_ONLY)opcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
tiktokDisableDuetbooleanopcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
tiktokDisableStitchbooleanopcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
tiktokDisableCommentbooleanopcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
tiktokBrandContentbooleanopcional
Uma opção só do TikTok: nível de privacidade, se duetos, costuras e comentários são permitidos, ou conteúdo de marca.
mastodonVisibilitystring (public | unlisted | private | direct)opcional
Uma opção só do Mastodon: visibilidade, aviso de conteúdo ou mídia sensível.
mastodonSpoilerTextstringopcional
Uma opção só do Mastodon: visibilidade, aviso de conteúdo ou mídia sensível.
mastodonSensitivebooleanopcional
Uma opção só do Mastodon: visibilidade, aviso de conteúdo ou mídia sensível.
blueskyLanguagestringopcional
Uma opção só do Bluesky: idioma do post ou quem pode responder.
blueskyReplyGatingstring (everyone | mentioned | following | nobody)opcional
Uma opção só do Bluesky: idioma do post ou quem pode responder.
threadsReplyControlstring (everyone | accounts_you_follow | mentioned_only)opcional
Uma opção só do Threads: quem pode responder.
redditSubredditstringopcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
redditTitlestringopcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
redditPostTypestring (text | link | image | video)opcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
redditUrlstringopcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
redditFlairstringopcional
Uma opção só do Reddit: subreddit, título, tipo de post, link ou flair.
mediumTagsstringopcional
Uma opção só do Medium: tags ou status de publicação.
mediumPublishStatusstring (public | unlisted | draft)opcional
Uma opção só do Medium: tags ou status de publicação.
substackSendEmailbooleanopcional
Uma opção só do Substack: se envia e-mail aos assinantes.
vimeoTitlestringopcional
Uma opção só do Vimeo: título, descrição, miniatura ou privacidade.
vimeoDescriptionstringopcional
Uma opção só do Vimeo: título, descrição, miniatura ou privacidade.
vimeoThumbnailUrlstringopcional
Uma opção só do Vimeo: título, descrição, miniatura ou privacidade.
vimeoPrivacystring (anybody | unlisted)opcional
Uma opção só do Vimeo: título, descrição, miniatura ou privacidade.
dailymotionTitlestringopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionDescriptionstringopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionThumbnailUrlstringopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionCategorystringopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionIsForKidsbooleanopcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
dailymotionPrivacystring (public | private)opcional
Uma opção só do Dailymotion: título, descrição, miniatura, categoria, indicação de conteúdo infantil ou privacidade.
messageGooglestringopcional
Legenda para o Google. Obrigatória quando google é selecionado, a menos que seja draft.
messageFacebookstringopcional
Legenda compartilhada para as plataformas sociais (Facebook, Instagram, X, LinkedIn e as demais). Obrigatória quando alguma delas está selecionada, exceto em uma seleção só de TikTok ou só de YouTube, a menos que o post seja um rascunho. O Google não a usa: ele usa messageGoogle.
captionOverridesobjectopcional
Captions that replace the shared caption on one network only, keyed by network: facebook, instagram, linkedin, x, bluesky, mastodon, threads, pinterest (the pin description), tiktok and youtube (the video description). Each is checked against its own network's limit. On update, only the networks you name change; send null or an empty string for one to go back to the shared caption, or null for the whole field to clear them all. Other networks are refused, because they publish the shared caption.
facebookstringopcional
instagramstringopcional
linkedinstringopcional
xstringopcional
blueskystringopcional
mastodonstringopcional
threadsstringopcional
pintereststringopcional
tiktokstringopcional
youtubestringopcional
ctaTypestring (learn_more | sign_up | order_online | book | buy | call_now)opcional
Tipo de chamada para ação.
ctaUrlstringopcional
URL de destino da chamada para ação.
mediaUrlsarray of objectopcional
Mídia a ser anexada, uma entrada por anexo de plataforma.
urlstringopcional
platformstringopcional
typestring (image | video)opcional
eventTitlestringopcional
Título do evento ou oferta. Obrigatório para um event/offer do Google, a menos que seja draft.
eventStartAtstringopcional
Horário de início do evento ou oferta, como timestamp ISO 8601. Obrigatório para um event/offer do Google, a menos que seja draft.
eventEndAtstringopcional
Horário de término do evento ou oferta, como timestamp ISO 8601. Deve ser posterior ao início.
offerTermsstringopcional
Termos da oferta.
offerCouponCodestringopcional
Código do cupom da oferta.
offerRedeemUrlstringopcional
URL de resgate da oferta.
scheduledForstringopcional
Publica neste timestamp ISO 8601 futuro em vez de imediatamente.
draftbooleanopcional
Salva sem publicar. Ignora verificações de campos obrigatórios; verificações estruturais (limites, regras de mídia) ainda se aplicam.
Resposta
dataobjectopcional
Podem existir campos internos adicionais que não fazem parte do contrato estável — baseie-se apenas nos campos documentados aqui.
idstringopcional
Identificador único da publicação.
namestringopcional
Nome/rótulo interno da publicação.
typestringopcional
Tipo de publicação (duplicado de postType, mantido para compatibilidade retroativa).
statusstring (draft | scheduled | paused | publishing | active | partial | error | deleted | expired)opcional
Status do ciclo de vida do post: draft, scheduled, paused, publishing, active, partial (no ar em algumas plataformas e com falha em outras), error, deleted ou expired.
targetsarray of objectopcional
Uma entrada por destino do post, com o próprio status.
connectionIdstringopcional
A conexão pela qual este destino publica.
platformstringopcional
A plataforma do destino.
statusstringopcional
Status deste envio para a plataforma: pending, publishing, action_required (a plataforma precisa de uma ação do usuário), active, error, deleted ou expired.
errorobjectopcional
Presente quando este destino falhou: o código e a mensagem de erro da Synup.
codestringopcional
messagestringopcional
postTypestring (announcement | event | offer)opcional
Tipo de publicação: announcement, event ou offer.
clientIdstringopcional
ID do cliente ao qual esta publicação pertence.
locationIdstringopcional
ID do local ao qual esta publicação pertence, ou null para uma publicação em nível de marca.
locationNamestringopcional
Nome de exibição do local da publicação, ou null.
clientNamestringopcional
Nome de exibição do cliente da publicação, ou null.
platformsarray of stringopcional
As plataformas às quais esta publicação se destina.
messageGooglestringopcional
Legenda usada para o Google, ou null.
messageFacebookstringopcional
Legenda social compartilhada usada por toda plataforma que não seja Google, ou null.
ctaTypestringopcional
Tipo de chamada para ação, ou null.
ctaUrlstringopcional
URL da chamada para ação, ou null.
ctaUrlFacebookstringopcional
URL da chamada para ação específica do Facebook, ou null.
xThreadbooleanopcional
Se o modo de thread do X está ativado (ignora o limite de 280 caracteres).
ctaJsonobjectopcional
Configurações brutas de chamada para ação e segmentação por plataforma.
mediaUrlsarray of objectopcional
Mídia anexada à publicação, uma entrada por anexo de plataforma.
urlstringopcional
platformstringopcional
typestring (image | video)opcional
eventTitlestringopcional
Título do evento ou oferta, ou null.
eventStartAtstringopcional
Horário de início do evento ou oferta, como timestamp ISO 8601, ou null.
eventEndAtstringopcional
Horário de término do evento ou oferta, como timestamp ISO 8601, ou null.
offerTermsstringopcional
Termos da oferta, ou null.
offerCouponCodestringopcional
Código do cupom da oferta, ou null.
offerRedeemUrlstringopcional
URL de resgate da oferta, ou null.
scheduledForstringopcional
Quando a publicação está agendada para ser publicada, como timestamp ISO 8601, ou null para publicar imediatamente.
createdAtstringopcional
Data de criação da publicação, como timestamp ISO 8601.
performancearray of objectopcional
Desempenho de envio por plataforma para esta publicação.
submissionIdstringopcional
Identificador único do envio à plataforma.
connectionIdstringopcional
ID da conexão pela qual este envio foi feito.
sitestringopcional
A plataforma à qual este envio se destina.
viewsnumberopcional
Número total de visualizações, ou null se ainda não disponível.
clicksnumberopcional
Número total de cliques, ou null se ainda não disponível.
reactionsnumberopcional
Número total de reações.
sharesnumberopcional
Número total de compartilhamentos.
commentsnumberopcional
Número total de comentários.
statusstring (pending | publishing | action_required | active | error | deleted | expired)opcional
Status deste envio para a plataforma: pending, publishing, action_required (a plataforma precisa de uma ação do usuário), active, error, deleted ou expired.
platformPostIdstringopcional
O id próprio da plataforma para a publicação publicada, ou null.
postLinkstringopcional
URL pública da publicação publicada nesta plataforma, ou null.
reviewStatestringopcional
Estado de moderação do Google (processing, live, rejected), ou null para outras plataformas.
errorMessagestringopcional
Mensagem de erro se este envio falhou, ou null.
Erros
400Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
404O recurso não foi encontrado, ou não pertence à sua agência.
422Falta um parâmetro obrigatório na solicitação, ou ela é inválida de outra forma.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
patch/api/v1/posts/{id}
Sua chave de API
id *
Corpo da solicitação
{
"data": {
"id": "cm_post_abc123",
"name": "Fall Special Announcement (updated)",
"type": "announcement",
"status": "scheduled",
"postType": "announcement",
"clientId": "cm_client_1",
"locationId": "cm_loc_1",
"platforms": [
"google",
"facebook"
],
"messageGoogle": "Join us this weekend — now 25% off all services!",
"messageFacebook": "Join us this weekend — now 25% off all services!",
"ctaType": "learn_more",
"ctaUrl": "https://acmedental.example.com/fall-special",
"ctaUrlFacebook": null,
"xThread": false,
"ctaJson": {
"ctaType": "learn_more",
"ctaUrl": "https://acmedental.example.com/fall-special",
"ctaUrlFacebook": null,
"xThread": false
},
"mediaUrls": [
{
"url": "https://cdn.synup.com/uploads/a1/promo.jpg",
"platform": "facebook",
"type": "image"
}
],
"eventTitle": null,
"eventStartAt": null,
"eventEndAt": null,
"offerTerms": null,
"offerCouponCode": null,
"offerRedeemUrl": null,
"scheduledFor": "2026-02-10T15:00:00.000Z",
"createdAt": "2026-01-20T09:12:00.000Z",
"performance": []
}
}