Post Ideas
Lea, cree y publique ideas de publicación en borrador pendientes de revisión, y públiquelas como publicaciones reales.
Devuelve ideas de publicación en uno de tres modos: indique locationId para la cuadrícula de una sola ubicación (paginada); indique clientId con scope=locations para el resumen de ideas a nivel de ubicación en todas las ubicaciones de un cliente; o indique clientId con scope=brand para las ideas a nivel de marca de ese cliente.
Listar ideas de publicación
/api/v1/post-ideas{
"data": {
"rows": [
{
"id": "cm_idea_abc123",
"agencyId": "cm_agency_1",
"locationId": "cm_loc_1",
"clientLocationId": "cm_loc_1",
"clientId": null,
"brandName": null,
"agentMeta": null,
"title": "Spotlight our new patient special",
"content": "Book this month and get 20% off your first cleaning!",
"imagePrompt": null,
"imageUrl": null,
"type": "announcement",
"status": "draft",
"bucket": "idea",
"platforms": [
"google",
"facebook"
],
"seriesId": null,
"scheduledDate": null,
"scheduledTime": null,
"observanceName": null,
"observanceDate": null,
"generationBatchId": null,
"generationJobId": null,
"isUserGenerated": true,
"source": "os",
"externalId": "cm_idea_abc123",
"reviewStatus": null,
"archived": false,
"archivedAt": null,
"createdAt": "2026-01-20T09:00:00.000Z",
"updatedAt": "2026-01-20T09:00:00.000Z"
}
],
"total": 1,
"page": 1,
"perPage": 20,
"counts": [
{
"bucket": "idea",
"_count": {
"id": 4
}
}
]
}
}Crea (o, para un externalId repetido, actualiza) una idea de publicación en borrador, pendiente de revisión o lista para publicarse.
Crear una idea de publicación
/api/v1/post-ideas{
"data": {
"id": "cm_idea_abc123",
"created": true,
"reviewStatus": null,
"status": "draft"
}
}Devuelve una sola idea de publicación. id acepta tanto su propio id como el externalId con el que se creó.
Obtener una idea de publicación
/api/v1/post-ideas/{id}{
"data": {
"id": "cm_idea_abc123",
"agencyId": "cm_agency_1",
"locationId": "cm_loc_1",
"clientLocationId": "cm_loc_1",
"clientId": null,
"brandName": null,
"agentMeta": null,
"title": "Spotlight our new patient special",
"content": "Book this month and get 20% off your first cleaning!",
"imagePrompt": null,
"imageUrl": null,
"type": "announcement",
"status": "draft",
"bucket": "idea",
"platforms": [
"google",
"facebook"
],
"seriesId": null,
"scheduledDate": null,
"scheduledTime": null,
"observanceName": null,
"observanceDate": null,
"generationBatchId": null,
"generationJobId": null,
"isUserGenerated": true,
"source": "os",
"externalId": "cm_idea_abc123",
"reviewStatus": null,
"archived": false,
"archivedAt": null,
"createdAt": "2026-01-20T09:00:00.000Z",
"updatedAt": "2026-01-20T09:00:00.000Z"
}
}Actualiza los campos editables de una idea de publicación. id acepta tanto su propio id como el externalId con el que se creó.
Actualizar una idea de publicación
/api/v1/post-ideas/{id}{
"data": {
"id": "cm_idea_abc123",
"agencyId": "cm_agency_1",
"locationId": "cm_loc_1",
"clientLocationId": "cm_loc_1",
"clientId": null,
"brandName": null,
"agentMeta": null,
"title": "Spotlight our new patient special (updated)",
"content": "Book this month and get 25% off your first cleaning!",
"imagePrompt": null,
"imageUrl": null,
"type": "announcement",
"status": "draft",
"bucket": "idea",
"platforms": [
"google",
"facebook"
],
"seriesId": null,
"scheduledDate": null,
"scheduledTime": null,
"observanceName": null,
"observanceDate": null,
"generationBatchId": null,
"generationJobId": null,
"isUserGenerated": true,
"source": "os",
"externalId": "cm_idea_abc123",
"reviewStatus": null,
"archived": false,
"archivedAt": null,
"createdAt": "2026-01-20T09:00:00.000Z",
"updatedAt": "2026-01-20T09:05:00.000Z"
}
}Elimina de forma reversible (archiva) una idea de publicación. id acepta tanto su propio id como el externalId con el que se creó.
Archivar una idea de publicación
/api/v1/post-ideas/{id}{
"data": {
"id": "cm_idea_abc123",
"archived": true
}
}Publica una idea de publicación como una publicación real, enviándola a sus plataformas de destino. Salvo que se indique scheduledFor o draft, esto envía contenido real de inmediato. id acepta tanto el propio id de la idea como el externalId con el que se creó.
Publicar una idea de publicación
/api/v1/post-ideas/{id}/publish{
"data": {
"postId": "cm_post_xyz789",
"status": "scheduled",
"ideaId": "cm_idea_abc123"
}
}