Synupv1
Schlüssel erstellen
v1Ressourcen/Post Ideas

Post Ideas

Lesen, Erstellen und Veröffentlichen von entworfenen Beitragsideen, die auf Prüfung warten, sowie deren Veröffentlichung als echte Beiträge.

Liefert Beitragsideen in einem von drei Modi: locationId für das Raster eines einzelnen Standorts (paginiert); clientId mit scope=locations für das Rollup standortbezogener Ideen über die Standorte eines Kunden hinweg; oder clientId mit scope=brand für die markenweiten Ideen dieses Kunden.

Beitragsideen auflisten

get/api/v1/post-ideas
ideas:read
Query-Parameter
locationIdstringoptional
Ideen für diesen Standort auflisten (paginierter Modus).
clientIdstringoptional
Ideen für diesen Kunden auflisten. Erfordert scope.
scopestring (locations | brand)optional
Welche kundenweite Ideenmenge zurückgegeben werden soll: locations (Rollup über die Standorte des Kunden) oder brand (markenweite Ideen).
bucketstring (idea | holiday | calendar | series)optional
Ergebnisse auf einen Bucket beschränken (nur im locationId-Modus).
statusstringoptional
Ergebnisse auf einen Status beschränken, oder "archived", um stattdessen archivierte Ideen aufzulisten (nur im locationId-Modus).
seriesIdstringoptional
Ergebnisse auf Ideen in dieser Content-Serie beschränken (nur im locationId-Modus).
searchstringoptional
Abgleich mit dem Titel der Idee, ohne Beachtung der Groß-/Kleinschreibung (nur im locationId-Modus).
pageintegeroptional
Seitenzahl, beginnend bei 1. Standardmäßig 1 (nur im locationId-Modus).
perPageintegeroptional
Ergebnisse pro Seite, bis zu 50. Standardmäßig 20 (nur im locationId-Modus).
includeRejectedbooleanoptional
Während der Genehmigung abgelehnte Ideen einschließen. Standardmäßig false (nur bei clientId-Modi).
Antwort
dataobjectoptional
Fehler
400Der Anfrage fehlt ein erforderlicher Parameter, oder sie ist anderweitig fehlerhaft.
401API-Schlüssel fehlt, ist ungültig, abgelaufen oder widerrufen.
403Dem Schlüssel fehlt die erforderliche Berechtigung, oder er ist für diesen Kunden/Standort nicht autorisiert.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
get/api/v1/post-ideas
Ihr API-Schlüssel
locationId
clientId
scope
bucket
status
seriesId
search
page
perPage
includeRejected
{
  "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
        }
      }
    ]
  }
}
v1Ressourcen/Post Ideas/postBeitragsidee erstellen

Erstellt eine Entwurfs-Beitragsidee, die auf Prüfung wartet oder veröffentlichungsbereit ist (oder aktualisiert sie, falls externalId wiederholt wird).

Beitragsidee erstellen

post/api/v1/post-ideas
ideas:write
Anfragetext
locationIdstringoptional
Der Standort, für den diese Idee gedacht ist, oder auslassen für eine markenweite Idee.
clientIdstringoptional
Der Kunde, für den diese Idee gedacht ist (markenweite Ideen).
titlestringerforderlich
Der Titel der Idee. Bei der Erstellung erforderlich.
contentstringoptional
Der Text/Inhalt der Idee.
externalIdstringerforderlich
Eine von Ihnen kontrollierte, stabile ID — ein erneuter Erstellungsversuch mit derselben externalId aktualisiert die bestehende Idee, statt sie zu duplizieren. Bei der Erstellung erforderlich.
originstring (channel | routine | os_button)erforderlich
Woher diese Idee stammt: channel, routine oder os_button. Bei der Erstellung erforderlich.
typestring (announcement | offer | tip | showcase | story | event)optional
Ideentyp.
bucketstring (idea | holiday | calendar | series)optional
In welchem Raster-Bucket die Idee liegt.
platformsarray of stringoptional
Plattformen, für die diese Idee vorgesehen ist.
imageUrlstringoptional
URL eines an die Idee anzuhängenden Bildes.
imagePromptstringoptional
Der Prompt, mit dem das Bild der Idee generiert wurde.
seriesIdstringoptional
ID der Content-Serie, an die diese Idee angehängt werden soll.
scheduledDatestringoptional
Geplantes Veröffentlichungsdatum (YYYY-MM-DD).
scheduledTimestringoptional
Geplante Veröffentlichungszeit.
generationJobIdstringoptional
ID des KI-Generierungsjobs, der diese Idee erzeugt hat, falls vorhanden.
Antwort
dataobjectoptional
idstringoptional
Eindeutige Kennung der Beitragsidee.
createdbooleanoptional
Ob dieser Aufruf eine neue Idee erstellt hat (false, wenn bereits eine Idee mit dieser externalId existierte und stattdessen aktualisiert wurde).
reviewStatusstringoptional
Genehmigungsgate: null (kein Gate), pending, approved oder rejected.
statusstringoptional
Ideenstatus: draft, published oder archived.
Fehler
400Der Anfrage fehlt ein erforderlicher Parameter, oder sie ist anderweitig fehlerhaft.
401API-Schlüssel fehlt, ist ungültig, abgelaufen oder widerrufen.
403Dem Schlüssel fehlt die erforderliche Berechtigung, oder er ist für diesen Kunden/Standort nicht autorisiert.
422Der Anfrage fehlt ein erforderlicher Parameter, oder sie ist anderweitig fehlerhaft.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
post/api/v1/post-ideas
Ihr API-Schlüssel
Anfragetext*
{
  "data": {
    "id": "cm_idea_abc123",
    "created": true,
    "reviewStatus": null,
    "status": "draft"
  }
}
v1Ressourcen/Post Ideas/getBeitragsidee abrufen

Liefert eine einzelne Beitragsidee. id akzeptiert entweder die eigene id oder die externalId, mit der sie erstellt wurde.

Beitragsidee abrufen

get/api/v1/post-ideas/{id}
ideas:read
Query-Parameter
idstringerforderlich
Die abzurufende Beitragsidee — ihre id oder externalId.
Antwort
dataobjectoptional
idstringoptional
Eindeutige Kennung der Beitragsidee.
locationIdstringoptional
ID des Standorts, zu dem diese Idee gehört, oder null bei einer markenweiten Idee.
clientLocationIdstringoptional
Aufgelöste Standort-Datensatz-ID, oder null.
clientIdstringoptional
ID des Kunden, zu dem diese Idee gehört (markenweite Ideen), oder null.
brandNamestringoptional
Anzeigename des Markenprofils, bei markenweiten Ideen, oder null.
titlestringoptional
Der Titel der Idee.
contentstringoptional
Der Text/Inhalt der Idee.
imageUrlstringoptional
URL des Bildes der Idee, oder null.
imagePromptstringoptional
Der Prompt, mit dem das Bild der Idee generiert wurde, oder null.
typestring (announcement | offer | tip | showcase | story | event)optional
Ideentyp: announcement, offer, tip, showcase, story oder event.
statusstring (draft | published | archived)optional
Ideenstatus: draft, published oder archived.
bucketstring (idea | holiday | calendar | series)optional
In welchem Raster-Bucket die Idee liegt: idea, holiday, calendar oder series.
platformsarray of stringoptional
Plattformen, für die diese Idee vorgesehen ist.
seriesIdstringoptional
ID der Content-Serie, zu der diese Idee gehört, oder null.
scheduledDatestringoptional
Geplantes Veröffentlichungsdatum (YYYY-MM-DD), oder null.
scheduledTimestringoptional
Geplante Veröffentlichungszeit, oder null.
externalIdstringoptional
Stabile ID, mit der diese Idee erstellt wurde, falls sie aus einer externen Quelle stammt.
sourcestring (os | agent)optional
Woher die Idee stammt: os (in Synup erstellt) oder agent (von einem KI-Agenten übermittelt).
reviewStatusstring (pending | approved | rejected)optional
Genehmigungsgate: null (kein Gate), pending, approved oder rejected.
generationJobIdstringoptional
ID des KI-Generierungsjobs, der diese Idee erzeugt hat, falls vorhanden, oder null.
isUserGeneratedbooleanoptional
Ob ein Mensch (und nicht ein Agent) diese Idee erstellt hat.
archivedbooleanoptional
Ob diese Idee archiviert wurde.
archivedAtstringoptional
Wann diese Idee archiviert wurde, als ISO-8601-Zeitstempel, oder null.
createdAtstringoptional
Wann diese Idee erstellt wurde, als ISO-8601-Zeitstempel.
updatedAtstringoptional
Wann diese Idee zuletzt aktualisiert wurde, als ISO-8601-Zeitstempel.
locationNamestringoptional
Anzeigename des Standorts der Idee. Nur vorhanden, wenn die standortbezogenen Ideen eines Kunden aufgelistet werden.
Fehler
401API-Schlüssel fehlt, ist ungültig, abgelaufen oder widerrufen.
403Dem Schlüssel fehlt die erforderliche Berechtigung, oder er ist für diesen Kunden/Standort nicht autorisiert.
404Die Ressource wurde nicht gefunden oder gehört nicht zu Ihrer Agentur.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
get/api/v1/post-ideas/{id}
Ihr API-Schlüssel
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"
  }
}
v1Ressourcen/Post Ideas/patchBeitragsidee aktualisieren

Aktualisiert die bearbeitbaren Felder einer Beitragsidee. id akzeptiert entweder die eigene id oder die externalId, mit der sie erstellt wurde.

Beitragsidee aktualisieren

patch/api/v1/post-ideas/{id}
ideas:write
Query-Parameter
idstringerforderlich
Die zu aktualisierende Beitragsidee — ihre id oder externalId.
Anfragetext
titlestringoptional
Der Titel der Idee. Bei der Erstellung erforderlich.
contentstringoptional
Der Text/Inhalt der Idee.
imageUrlstringoptional
URL eines an die Idee anzuhängenden Bildes.
imagePromptstringoptional
Der Prompt, mit dem das Bild der Idee generiert wurde.
typestring (announcement | offer | tip | showcase | story | event)optional
Ideentyp.
statusstring (draft | published | archived)optional
Ideenstatus.
platformsarray of stringoptional
Plattformen, für die diese Idee vorgesehen ist.
scheduledDatestringoptional
Geplantes Veröffentlichungsdatum (YYYY-MM-DD).
scheduledTimestringoptional
Geplante Veröffentlichungszeit.
Antwort
dataobjectoptional
idstringoptional
Eindeutige Kennung der Beitragsidee.
locationIdstringoptional
ID des Standorts, zu dem diese Idee gehört, oder null bei einer markenweiten Idee.
clientLocationIdstringoptional
Aufgelöste Standort-Datensatz-ID, oder null.
clientIdstringoptional
ID des Kunden, zu dem diese Idee gehört (markenweite Ideen), oder null.
brandNamestringoptional
Anzeigename des Markenprofils, bei markenweiten Ideen, oder null.
titlestringoptional
Der Titel der Idee.
contentstringoptional
Der Text/Inhalt der Idee.
imageUrlstringoptional
URL des Bildes der Idee, oder null.
imagePromptstringoptional
Der Prompt, mit dem das Bild der Idee generiert wurde, oder null.
typestring (announcement | offer | tip | showcase | story | event)optional
Ideentyp: announcement, offer, tip, showcase, story oder event.
statusstring (draft | published | archived)optional
Ideenstatus: draft, published oder archived.
bucketstring (idea | holiday | calendar | series)optional
In welchem Raster-Bucket die Idee liegt: idea, holiday, calendar oder series.
platformsarray of stringoptional
Plattformen, für die diese Idee vorgesehen ist.
seriesIdstringoptional
ID der Content-Serie, zu der diese Idee gehört, oder null.
scheduledDatestringoptional
Geplantes Veröffentlichungsdatum (YYYY-MM-DD), oder null.
scheduledTimestringoptional
Geplante Veröffentlichungszeit, oder null.
externalIdstringoptional
Stabile ID, mit der diese Idee erstellt wurde, falls sie aus einer externen Quelle stammt.
sourcestring (os | agent)optional
Woher die Idee stammt: os (in Synup erstellt) oder agent (von einem KI-Agenten übermittelt).
reviewStatusstring (pending | approved | rejected)optional
Genehmigungsgate: null (kein Gate), pending, approved oder rejected.
generationJobIdstringoptional
ID des KI-Generierungsjobs, der diese Idee erzeugt hat, falls vorhanden, oder null.
isUserGeneratedbooleanoptional
Ob ein Mensch (und nicht ein Agent) diese Idee erstellt hat.
archivedbooleanoptional
Ob diese Idee archiviert wurde.
archivedAtstringoptional
Wann diese Idee archiviert wurde, als ISO-8601-Zeitstempel, oder null.
createdAtstringoptional
Wann diese Idee erstellt wurde, als ISO-8601-Zeitstempel.
updatedAtstringoptional
Wann diese Idee zuletzt aktualisiert wurde, als ISO-8601-Zeitstempel.
locationNamestringoptional
Anzeigename des Standorts der Idee. Nur vorhanden, wenn die standortbezogenen Ideen eines Kunden aufgelistet werden.
Fehler
400Der Anfrage fehlt ein erforderlicher Parameter, oder sie ist anderweitig fehlerhaft.
401API-Schlüssel fehlt, ist ungültig, abgelaufen oder widerrufen.
403Dem Schlüssel fehlt die erforderliche Berechtigung, oder er ist für diesen Kunden/Standort nicht autorisiert.
404Die Ressource wurde nicht gefunden oder gehört nicht zu Ihrer Agentur.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
patch/api/v1/post-ideas/{id}
Ihr API-Schlüssel
id *
Anfragetext
{
  "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"
  }
}
v1Ressourcen/Post Ideas/deleteBeitragsidee archivieren

Löscht eine Beitragsidee weich (archiviert sie). id akzeptiert entweder die eigene id oder die externalId, mit der sie erstellt wurde.

Beitragsidee archivieren

delete/api/v1/post-ideas/{id}
ideas:write
Query-Parameter
idstringerforderlich
Die zu archivierende Beitragsidee — ihre id oder externalId.
Antwort
dataobjectoptional
idstringoptional
Eindeutige Kennung der Beitragsidee.
archivedbooleanoptional
Ob diese Idee archiviert wurde.
Fehler
401API-Schlüssel fehlt, ist ungültig, abgelaufen oder widerrufen.
403Dem Schlüssel fehlt die erforderliche Berechtigung, oder er ist für diesen Kunden/Standort nicht autorisiert.
404Die Ressource wurde nicht gefunden oder gehört nicht zu Ihrer Agentur.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
delete/api/v1/post-ideas/{id}
Ihr API-Schlüssel
id *
{
  "data": {
    "id": "cm_idea_abc123",
    "archived": true
  }
}
v1Ressourcen/Post Ideas/postBeitragsidee veröffentlichen

Veröffentlicht eine Beitragsidee als echten Beitrag und übermittelt sie an ihre Zielplattformen. Sofern nicht scheduledFor oder draft gesetzt ist, wird dabei sofort echter Inhalt live geschaltet. id akzeptiert entweder die eigene id der Idee oder die externalId, mit der sie erstellt wurde.

Beitragsidee veröffentlichen

post/api/v1/post-ideas/{id}/publish
posts:write
Query-Parameter
idstringerforderlich
Die zu veröffentlichende Beitragsidee — ihre id oder externalId.
Anfragetext
scheduledForstringoptional
Zu diesem zukünftigen ISO-8601-Zeitstempel veröffentlichen, anstatt sofort.
draftbooleanoptional
Als Entwurfsbeitrag speichern, statt sofort zu veröffentlichen.
Antwort
dataobjectoptional
Eine angeforderte Plattform ohne aktive Verbindung, oder ein Feld, das die Idee vor der Veröffentlichung benötigt, lässt diesen Aufruf nie fehlschlagen — die Idee wird stattdessen als Entwurfsbeitrag gespeichert. Wird dies erneut für eine Idee aufgerufen, die bereits einen Beitrag hat, liefert es alreadyPublished: true, anstatt einen zweiten zu erstellen.
postIdstringoptional
ID des Beitrags, als der diese Idee veröffentlicht wurde, oder null, falls die Veröffentlichung nicht abgeschlossen wurde.
statusstringoptional
Ideenstatus: draft, published oder archived.
ideaIdstringoptional
ID der Beitragsidee, die veröffentlicht wurde.
alreadyPublishedbooleanoptional
Ob diese Idee bereits durch einen früheren Aufruf einen Beitrag hatte — wenn true, wurde nichts Neues veröffentlicht.
missingFieldsarray of stringoptional
Felder, die vor der Veröffentlichung des daraus entstehenden Beitrags noch benötigt werden, falls vorhanden.
missingPlatformsarray of stringoptional
Angeforderte Plattformen ohne aktive Verbindung, falls vorhanden.
scopestring (location | client)optional
Ob die Verbindungs-/Feld-Lücke auf Standort- oder Kundenebene gilt.
Fehler
400Der Anfrage fehlt ein erforderlicher Parameter, oder sie ist anderweitig fehlerhaft.
401API-Schlüssel fehlt, ist ungültig, abgelaufen oder widerrufen.
403Dem Schlüssel fehlt die erforderliche Berechtigung, oder er ist für diesen Kunden/Standort nicht autorisiert.
404Die Ressource wurde nicht gefunden oder gehört nicht zu Ihrer Agentur.
422Der Anfrage fehlt ein erforderlicher Parameter, oder sie ist anderweitig fehlerhaft.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
post/api/v1/post-ideas/{id}/publish
Ihr API-Schlüssel
id *
Anfragetext
{
  "data": {
    "postId": "cm_post_xyz789",
    "status": "scheduled",
    "ideaId": "cm_idea_abc123"
  }
}