v1Recursos/Posts/patchActualizar una publicación
Actualizar una publicación
Actualización parcial de una publicación editable (draft, scheduled, paused, partial, error o active): los campos que no envías no cambian y las listas que envías reemplazan la lista existente. Un borrador sigue siendo borrador; para publicarlo envía draft: false o un scheduledFor futuro, o llama a POST /api/v1/posts/{id}/publish. Editar una publicación activa la actualiza en sus plataformas, salvo que una publicación activa en Facebook no puede cambiar sus imágenes, carrusel ni botón (422); cambiar la programación de una publicación activa devuelve 409. Devuelve la publicación como GET /api/v1/posts/{id}, con targets.
patch
posts:write/api/v1/posts/{id}Parámetros de consulta
idstringobligatorio
La publicación a actualizar.
Cuerpo de la solicitud
locationIdstringopcional
La ubicación a la que se publica. Indica esta o clientId.
clientIdstringopcional
El cliente al que se publica a nivel de marca. Indica este o locationId.
namestringopcional
Nombre o etiqueta interna de la publicación. Obligatorio, no vacío.
postTypestring (announcement | event | offer)opcional
Tipo de publicación. event y offer son exclusivos de Google.
platformsarray of string (google | facebook | instagram | x | linkedin | pinterest | mastodon | bluesky | threads | tiktok | youtube | reddit | medium | substack | vimeo | dailymotion)opcional
Plataformas de destino. Envía esto o connectionIds. Cada plataforma publica a través de la conexión de la ubicación para ella (o la del cliente, en una publicación de marca).
connectionIdsarray of stringopcional
Destinos exactos: los ids de conexión en los que publicar, de GET /api/v1/locations/{id}/publish-targets. Usa la conexión propia de la ubicación o la página de marca de su cliente; una conexión de Google a nivel de cuenta, una archivada o una de otra ubicación o cliente se rechaza con 422. Si se envía, la publicación va exactamente ahí y platforms se toma de esas conexiones. Al actualizar, la lista reemplaza los destinos de la publicación.
linkUrlstringopcional
El enlace principal de la publicación, usado por cada plataforma que muestra uno.
linkCtaKeystringopcional
El botón que se muestra con linkUrl, p. ej. learn_more, book o shop.
utmobjectopcional
Etiquetas UTM (source, medium, campaign, term) que se añaden a linkUrl.
sourcestringopcional
mediumstringopcional
campaignstringopcional
termstringopcional
linkOverrideobjectopcional
Ajustes de enlace por plataforma, con clave por plataforma: otra url, botón, title, description o utm para esa plataforma.
linkAppendobjectopcional
Si se añade linkUrl al final del texto en X y Mastodon, que no tienen campo de enlace.
xbooleanopcional
mastodonbooleanopcional
ctaUrlFacebookstringopcional
URL del botón solo para Facebook, cuando debe ser distinta de ctaUrl.
xThreadbooleanopcional
En X, divide un texto más largo que una publicación en un hilo.
scheduleLocalTimestringopcional
Programa por hora local, "YYYY-MM-DDTHH:mm" sin zona. Úsalo en lugar de scheduledFor para programar según la zona horaria.
scheduleZoneModestring (target_local | fixed_zone)opcional
Cómo se interpreta scheduleLocalTime: target_local publica a esa hora en la zona horaria de cada destino; fixed_zone usa scheduleTimeZone para todos los destinos.
scheduleTimeZonestringopcional
Zona horaria IANA para programar con fixed_zone, p. ej. "America/New_York".
timeZoneModestring (target_local | fixed_zone)opcional
Igual que scheduleZoneMode.
articleTitlestringopcional
Campos de artículo para Medium y Substack: título, subtítulo y cuerpo en HTML.
articleSubtitlestringopcional
Campos de artículo para Medium y Substack: título, subtítulo y cuerpo en HTML.
articleBodyHtmlstringopcional
Campos de artículo para Medium y Substack: título, subtítulo y cuerpo en HTML.
canonicalUrlstringopcional
URL original de un artículo publicado en otro sitio, para que la plataforma cite la fuente.
videoCoverUrlstringopcional
Opciones de video: la URL de una imagen de portada y la URL de un archivo de subtítulos con su idioma.
videoCaptionsUrlstringopcional
Opciones de video: la URL de una imagen de portada y la URL de un archivo de subtítulos con su idioma.
videoCaptionsLanguagestringopcional
Opciones de video: la URL de una imagen de portada y la URL de un archivo de subtítulos con su idioma.
facebookCaptionstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookCtaTypestringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookFirstCommentstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookPublishAsstring (default | reel | carousel | suppress_link)opcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookCarouselCardsarray of objectopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
headlinestringopcional
descriptionstringopcional
linkstringopcional
facebookTargetCountrystringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookTargetGenderstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookTargetAgeMinstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookTargetAgeMaxstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
facebookTargetRelationshipstringopcional
Una opción solo para Facebook: texto propio, tipo de botón, primer comentario, formato de publicación (default, reel, carousel, suppress_link), tarjetas de carrusel o segmentación de audiencia.
instagramFirstCommentstringopcional
Una opción solo para Instagram: primer comentario o texto alternativo de la imagen.
instagramAltTextstringopcional
Una opción solo para Instagram: primer comentario o texto alternativo de la imagen.
xReplySettingsstring (everyone | following | mentioned)opcional
Una opción solo para X: quién puede responder.
linkedinVisibilitystring (anyone | connections | followers)opcional
Una opción solo para LinkedIn: visibilidad o primer comentario.
linkedinFirstCommentstringopcional
Una opción solo para LinkedIn: visibilidad o primer comentario.
pinterestTitlestringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
pinterestBoardIdstringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
pinterestBoardNamestringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
pinterestLinkstringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
pinterestAltTextstringopcional
Una opción solo para Pinterest: título del pin, tablero, enlace de destino o texto alternativo.
tiktokPrivacyLevelstring (PUBLIC_TO_EVERYONE | MUTUAL_FOLLOW_FRIENDS | SELF_ONLY)opcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
tiktokDisableDuetbooleanopcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
tiktokDisableStitchbooleanopcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
tiktokDisableCommentbooleanopcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
tiktokBrandContentbooleanopcional
Una opción solo para TikTok: nivel de privacidad, si se permiten dúos, stitches y comentarios, o contenido de marca.
mastodonVisibilitystring (public | unlisted | private | direct)opcional
Una opción solo para Mastodon: visibilidad, aviso de contenido o contenido sensible.
mastodonSpoilerTextstringopcional
Una opción solo para Mastodon: visibilidad, aviso de contenido o contenido sensible.
mastodonSensitivebooleanopcional
Una opción solo para Mastodon: visibilidad, aviso de contenido o contenido sensible.
blueskyLanguagestringopcional
Una opción solo para Bluesky: idioma de la publicación o quién puede responder.
blueskyReplyGatingstring (everyone | mentioned | following | nobody)opcional
Una opción solo para Bluesky: idioma de la publicación o quién puede responder.
threadsReplyControlstring (everyone | accounts_you_follow | mentioned_only)opcional
Una opción solo para Threads: quién puede responder.
redditSubredditstringopcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
redditTitlestringopcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
redditPostTypestring (text | link | image | video)opcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
redditUrlstringopcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
redditFlairstringopcional
Una opción solo para Reddit: subreddit, título, tipo de publicación, enlace o flair.
mediumTagsstringopcional
Una opción solo para Medium: etiquetas o estado de publicación.
mediumPublishStatusstring (public | unlisted | draft)opcional
Una opción solo para Medium: etiquetas o estado de publicación.
substackSendEmailbooleanopcional
Una opción solo para Substack: si se envía un correo a los suscriptores.
vimeoTitlestringopcional
Una opción solo para Vimeo: título, descripción, miniatura o privacidad.
vimeoDescriptionstringopcional
Una opción solo para Vimeo: título, descripción, miniatura o privacidad.
vimeoThumbnailUrlstringopcional
Una opción solo para Vimeo: título, descripción, miniatura o privacidad.
vimeoPrivacystring (anybody | unlisted)opcional
Una opción solo para Vimeo: título, descripción, miniatura o privacidad.
dailymotionTitlestringopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionDescriptionstringopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionThumbnailUrlstringopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionCategorystringopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionIsForKidsbooleanopcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
dailymotionPrivacystring (public | private)opcional
Una opción solo para Dailymotion: título, descripción, miniatura, categoría, indicador de contenido infantil o privacidad.
messageGooglestringopcional
Texto para Google. Obligatorio cuando se selecciona google, salvo que sea draft.
messageFacebookstringopcional
Texto compartido para las plataformas sociales (Facebook, Instagram, X, LinkedIn y las demás). Obligatorio cuando se selecciona alguna de ellas, salvo una selección solo de TikTok o solo de YouTube, a menos que la publicación sea un borrador. Google no lo usa; 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 llamada a la acción.
ctaUrlstringopcional
URL de destino de la llamada a la acción.
mediaUrlsarray of objectopcional
Medios a adjuntar, una entrada por adjunto de plataforma.
urlstringopcional
platformstringopcional
typestring (image | video)opcional
eventTitlestringopcional
Título del evento u oferta. Obligatorio para un evento/oferta de Google, salvo que sea draft.
eventStartAtstringopcional
Hora de inicio del evento u oferta, como marca de tiempo ISO 8601. Obligatorio para un evento/oferta de Google, salvo que sea draft.
eventEndAtstringopcional
Hora de fin del evento u oferta, como marca de tiempo ISO 8601. Debe ser posterior al inicio.
offerTermsstringopcional
Términos de la oferta.
offerCouponCodestringopcional
Código de cupón de la oferta.
offerRedeemUrlstringopcional
URL de canje de la oferta.
scheduledForstringopcional
Publicar en esta marca de tiempo ISO 8601 futura en lugar de inmediatamente.
draftbooleanopcional
Guardar sin publicar. Omite las validaciones de campos obligatorios; las validaciones estructurales (límites, reglas de medios) siguen aplicándose.
Respuesta
dataobjectopcional
Puede haber campos internos adicionales que no forman parte del contrato estable — dependa únicamente de los campos documentados aquí.
idstringopcional
Identificador único de la publicación.
namestringopcional
Nombre o etiqueta interna de la publicación.
typestringopcional
Tipo de publicación (duplicado de postType, mantenido por compatibilidad).
statusstring (draft | scheduled | paused | publishing | active | partial | error | deleted | expired)opcional
Estado del ciclo de vida de la publicación: draft, scheduled, paused, publishing, active, partial (publicada en algunas plataformas y fallida en otras), error, deleted o expired.
targetsarray of objectopcional
Una entrada por cada destino de la publicación, con su propio estado.
connectionIdstringopcional
La conexión a través de la que publica este destino.
platformstringopcional
La plataforma del destino.
statusstringopcional
Estado de este envío a la plataforma: pending, publishing, action_required (la plataforma necesita una acción del usuario), active, error, deleted o expired.
errorobjectopcional
Presente cuando este destino falló: el código y el mensaje de error de Synup.
codestringopcional
messagestringopcional
postTypestring (announcement | event | offer)opcional
Tipo de publicación: announcement, event u offer.
clientIdstringopcional
ID del cliente al que pertenece esta publicación.
locationIdstringopcional
ID de la ubicación a la que pertenece esta publicación, o null para una publicación a nivel de marca.
locationNamestringopcional
Nombre visible de la ubicación de la publicación, o null.
clientNamestringopcional
Nombre visible del cliente de la publicación, o null.
platformsarray of stringopcional
Las plataformas a las que apunta esta publicación.
messageGooglestringopcional
Texto usado para Google, o null.
messageFacebookstringopcional
Texto social compartido usado por cada plataforma que no sea Google, o null.
ctaTypestringopcional
Tipo de llamada a la acción, o null.
ctaUrlstringopcional
URL de la llamada a la acción, o null.
ctaUrlFacebookstringopcional
URL de llamada a la acción específica de Facebook, o null.
xThreadbooleanopcional
Si el modo de hilo de X está activado (evita el límite de 280 caracteres).
ctaJsonobjectopcional
Configuración sin procesar de llamada a la acción y segmentación por plataforma.
mediaUrlsarray of objectopcional
Medios adjuntos a la publicación, una entrada por adjunto de plataforma.
urlstringopcional
platformstringopcional
typestring (image | video)opcional
eventTitlestringopcional
Título del evento u oferta, o null.
eventStartAtstringopcional
Hora de inicio del evento u oferta, como marca de tiempo ISO 8601, o null.
eventEndAtstringopcional
Hora de fin del evento u oferta, como marca de tiempo ISO 8601, o null.
offerTermsstringopcional
Términos de la oferta, o null.
offerCouponCodestringopcional
Código de cupón de la oferta, o null.
offerRedeemUrlstringopcional
URL de canje de la oferta, o null.
scheduledForstringopcional
Cuándo está programada la publicación para publicarse, como marca de tiempo ISO 8601, o null para publicar de inmediato.
createdAtstringopcional
Fecha de creación de la publicación, como marca de tiempo ISO 8601.
performancearray of objectopcional
Rendimiento de envío por plataforma para esta publicación.
submissionIdstringopcional
Identificador único del envío a la plataforma.
connectionIdstringopcional
ID de la conexión a través de la cual se envió este envío.
sitestringopcional
La plataforma a la que apunta este envío.
viewsnumberopcional
Total de vistas, o null si aún no está disponible.
clicksnumberopcional
Total de clics, o null si aún no está disponible.
reactionsnumberopcional
Total de reacciones.
sharesnumberopcional
Total de veces compartido.
commentsnumberopcional
Total de comentarios.
statusstring (pending | publishing | action_required | active | error | deleted | expired)opcional
Estado de este envío a la plataforma: pending, publishing, action_required (la plataforma necesita una acción del usuario), active, error, deleted o expired.
platformPostIdstringopcional
El id propio de la plataforma para la publicación publicada, o null.
postLinkstringopcional
URL pública de la publicación publicada en esta plataforma, o null.
reviewStatestringopcional
Estado de moderación de Google (processing, live, rejected), o null para otras plataformas.
errorMessagestringopcional
Mensaje de error si este envío falló, o null.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
422A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
patch/api/v1/posts/{id}
Su clave de API
id *
Cuerpo de la solicitud
{
"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": []
}
}