Synupv1
Schlüssel erstellen
v1Ressourcen/Locations

Locations

Erstellen, lesen, aktualisieren und verwalten Sie den Archivierungslebenszyklus der Standorte Ihrer Kunden.

Liefert eine Seite von Standorten, neueste zuerst. Alle Filter sind optional und werden kombiniert (ein Standort muss allen entsprechen); um weitere Ergebnisse zu blättern, geben Sie den zurückgegebenen nextCursor erneut mit.

Standorte auflisten / suchen

get/api/v1/locations
locations:read
Query-Parameter
clientIdstringoptional
Ergebnisse auf einen Kunden beschränken. Ist Ihr Schlüssel auf bestimmte Kunden beschränkt, muss dies einer davon sein. Nachschlagen mit GET /api/v1/clients.
searchstringoptional
Freitextsuche über Name, Straßenadresse, Stadt oder Telefonnummer des Standorts (Groß-/Kleinschreibung wird ignoriert, Teiltreffer erlaubt).
statusstring (all | active | archived | archival_pending | verification_pending | unapproved | requires_action)optional
Ein einzelner Statusbereich: all, active (nicht archiviert), archived, archival_pending, verification_pending (Google-Freigabe ausstehend), unapproved oder requires_action. Standardmäßig all.
tagsarray of stringoptional
Interne Tags — trifft auf einen Standort zu, der mindestens eines davon hat.
categoriesarray of stringoptional
Anzeigenamen von Kategorien — trifft auf einen Standort zu, dessen allgemeine oder Google-Kategorie eine davon ist.
verificationarray of string (verified | pending | unverified | unknown)optional
Google-Verifizierungsstatus: verified, pending, unverified oder unknown.
createdAfterstringoptional
Nur Standorte, die an oder nach diesem Datum erstellt wurden.
createdBeforestringoptional
Nur Standorte, die an oder vor diesem Datum erstellt wurden.
cursorstringoptional
Paginierungs-Cursor aus dem nextCursor einer vorherigen Antwort. Für die erste Seite leer lassen.
limitintegeroptional
Standorte pro Seite, 1–200. Standardmäßig 50.
Antwort
dataobjectoptional
locationsarray of objectoptional
Die zu dieser Seite passenden Standorte.
idstringoptional
Eindeutige Kennung des Standorts.
namestringoptional
Der Firmenname des Standorts.
addressstringoptional
Die Straßenadresse des Standorts (zusammengeführte Straßenzeilen), oder null.
citystringoptional
Stadt.
statestringoptional
Bundesland oder Region.
postalCodestringoptional
Postleitzahl, oder null.
countrystringoptional
Land, als ISO-3166-1-Alpha-2-Code, oder null.
phonestringoptional
Primäre Telefonnummer, oder null.
websitestringoptional
Die Website-URL des Standorts, oder null.
storeCodestringoptional
Ihr interner Filialcode / Referenz für diesen Standort, oder null.
categorystringoptional
Die Anzeigekategorie des Standorts (publisherspezifische Primärkategorie, falls gesetzt, sonst die allgemeine Kategorie), oder null.
tagsarray of stringoptional
Interne Tags für Ihre eigene Organisation — nicht öffentlich sichtbar.
labelsarray of stringoptional
Interne Labels für diesen Standort.
statusstring (active | archived | archival_pending | verification_pending | unapproved | requires_action)optional
Abgeleiteter Status: active, archived, archival_pending, verification_pending (Google-Freigabe ausstehend), unapproved oder requires_action.
verificationStatusstring (verified | pending | unverified | unknown)optional
Google-Verifizierungsstatus: verified, pending, unverified oder unknown, oder null.
pendingChangesnumberoptional
Anzahl der gespeicherten Änderungen, die zur Veröffentlichung eingereiht, aber noch nicht mit den verbundenen Verzeichnissen synchronisiert wurden.
lastPublishedAtstringoptional
Wann die Details dieses Standorts zuletzt erfolgreich mit einem Publisher synchronisiert wurden, als ISO-8601-Zeitstempel, oder null.
clientIdstringoptional
ID des Kunden, zu dem dieser Standort gehört, oder null.
clientNamestringoptional
Firmenname des Kunden, zu dem dieser Standort gehört, oder null.
createdAtstringoptional
Zeitpunkt der Erstellung des Standorts, als ISO-8601-Zeitstempel.
nextCursorstringoptional
Paginierungs-Cursor für die nächste Seite, oder null, wenn keine weiteren Ergebnisse vorliegen.
totalnumberoptional
Gesamtzahl der Standorte, die den Filtern entsprechen, über alle Seiten hinweg.
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.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
get/api/v1/locations
Ihr API-Schlüssel
clientId
search
status
tags
categories
verification
createdAfter
createdBefore
cursor
limit
{
  "data": [
    {
      "id": "loc_456",
      "name": "Acme Dental — Downtown",
      "city": "Austin",
      "state": "TX",
      "clientId": "cli_123",
      "createdAt": "2026-01-15T10:05:00.000Z"
    }
  ]
}
v1Ressourcen/Locations/postStandort erstellen

Erstellt einen neuen Standort für einen bestehenden Kunden und reicht ihn zur Veröffentlichung ein.

Standort erstellen

post/api/v1/locations
locations:write
Anfragetext
clientIdstringerforderlich
ID des Kunden, unter dem dieser Standort erstellt werden soll. Nachschlagen mit GET /api/v1/clients.
namestringerforderlich
Der Firmenname des Standorts.
countryIsostringerforderlich
ISO-Ländercode, z. B. US.
streetstringerforderlich
Straßenadresse.
street1stringoptional
Straßenadresse, Zeile 2.
citystringerforderlich
Stadt.
stateIsostringerforderlich
Code für Bundesland oder Region.
postalCodestringerforderlich
Postleitzahl.
phonestringoptional
Telefonnummer.
additionalPhonesarray of stringoptional
Weitere Telefonnummern zusätzlich zur primären.
websitestringoptional
Website-URL.
categoryIdstringoptional
Allgemeine Kategorie-ID — mit GET /api/v1/locations/categories nachschlagen.
categoryNamestringoptional
Anzeigename der allgemeinen Kategorie.
publisherCategoriesobjectoptional
Publisherspezifische Kategorien, eine je Publisher, jeweils ein über GET /api/v1/locations/publisher-categories nachgeschlagenes { id, name }.
googleobjectoptional
idstringoptional
namestringoptional
facebookobjectoptional
idstringoptional
namestringoptional
appleobjectoptional
idstringoptional
namestringoptional
bingobjectoptional
idstringoptional
namestringoptional
additionalCategoriesarray of objectoptional
Bis zu 9 zusätzliche Kategorien, jeweils ein { id?, name }. Ein reiner Name wird akzeptiert, und seine id wird aus dem Kategoriekatalog aufgelöst, sofern eine Übereinstimmung existiert. IDs selbst nachschlagen mit GET /api/v1/locations/categories.
idstringoptional
namestringoptional
descriptionstringoptional
Eine kurze Beschreibung des Unternehmens.
tagsarray of stringoptional
Interne Tags für Ihre eigene Organisation — nicht öffentlich sichtbar.
latitudenumberoptional
Breitengrad, in Dezimalgrad. Wird automatisch aus der Adresse abgeleitet, wenn weggelassen.
longitudenumberoptional
Längengrad, in Dezimalgrad. Wird automatisch aus der Adresse abgeleitet, wenn weggelassen.
customFieldsobjectoptional
Werte benutzerdefinierter Felder, die für diesen Standort gesetzt werden sollen, geschlüsselt nach Feld-ID.
Antwort
dataobjectoptional
locationIdstringoptional
ID des neu erstellten Standorts.
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.
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/locations
Ihr API-Schlüssel
Anfragetext*
{
  "data": {
    "locationId": "loc_456"
  }
}
v1Ressourcen/Locations/getStandort abrufen

Liefert das vollständige Unternehmensprofil für einen Standort: Adresse, Öffnungszeiten, Kategorien, Attribute, Dienstleistungen, Medien und Verifizierungsstatus.

Standort abrufen

get/api/v1/locations/{id}
locations:read
Query-Parameter
idstringerforderlich
Der abzurufende Standort.
Antwort
dataobjectoptional
Das vollständige Unternehmensprofil für einen Standort: Adresse, Öffnungszeiten, Kategorien, Attribute, Dienstleistungen, Medien und Status — alles, was update_location ändern kann, plus das, was create zurückgegeben hat.
idstringoptional
Eindeutige Kennung des Standorts.
namestringoptional
Der Firmenname des Standorts.
descriptionstringoptional
Eine Beschreibung des Unternehmens, oder null.
taglinestringoptional
Ein kurzer Slogan für das Unternehmen, oder null.
storeCodestringoptional
Ihr interner Filialcode / Referenz für diesen Standort, oder null.
logoUrlstringoptional
URL des Logobilds des Standorts, oder null.
streetstringoptional
Straßenadresse, Zeile 1, oder null.
street1stringoptional
Straßenadresse, Zeile 2, oder null.
citystringoptional
Stadt.
statestringoptional
Bundesland oder Region.
postalCodestringoptional
Postleitzahl, oder null.
countrystringoptional
Land, als ISO-3166-1-Alpha-2-Code, oder null.
latitudenumberoptional
Breitengrad, oder null.
longitudenumberoptional
Längengrad, oder null.
phonestringoptional
Primäre Telefonnummer, oder null.
additionalPhonesarray of stringoptional
Weitere Telefonnummern zusätzlich zur primären.
websitestringoptional
Die Website-URL des Standorts, oder null.
businessEmailstringoptional
Eine öffentliche Kontakt-E-Mail für das Unternehmen, oder null.
categoryNamestringoptional
Der Anzeigename der allgemeinen Kategorie, oder null.
primaryCategoryDisplaystringoptional
Der Anzeigename der effektiven Primärkategorie — publisherspezifisch (Google), falls gesetzt, sonst allgemein — oder null.
primaryCategoryGooglestringoptional
Die primäre Google-Kategorie-ID des Standorts (gcid), oder null.
additionalCategoriesarray of objectoptional
Bis zu 9 zusätzliche Kategorien, jeweils mit einer id (wenn aufgelöst) und einem Anzeigenamen.
idstringoptional
namestringoptional
attributesarray of objectoptional
Google-Unternehmensprofil-Attribute, als gespeicherte { id, value }-Liste.
idstringoptional
valueobjectoptional
Der Wert des Attributs — ein Boolean für Ja/Nein-Attribute, ein String für Einzelauswahl-Attribute, oder ein Objekt mit setValues/unsetValues für Mehrfachauswahl.
servicesarray of objectoptional
Die Dienstleistungen oder Produkte, die dieser Standort anbietet.
namestringoptional
descriptionstringoptional
pricenumberoptional
currencystringoptional
googleServiceTypeIdstringoptional
ownerNamestringoptional
Der Name des Inhabers, oder null.
menuUrlstringoptional
URL der Speisekarte des Unternehmens, oder null.
yearEstablishednumberoptional
Das Jahr, in dem das Unternehmen gegründet wurde, oder null.
tagsarray of stringoptional
Interne Tags für Ihre eigene Organisation — nicht öffentlich sichtbar.
labelsarray of stringoptional
Interne Labels für diesen Standort.
regularHoursarray of objectoptional
Der wöchentliche Standard-Öffnungszeitenplan, oder null.
daystring (MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY)optional
closedbooleanoptional
periodsarray of objectoptional
openstringoptional
closestringoptional
moreHoursarray of objectoptional
Zusätzliche Öffnungszeitentypen über die regulären hinaus (Lieferung, Abholung usw.), oder null.
specialHoursarray of objectoptional
Einmalige Datumsüberschreibungen — Feiertagsschließungen oder Sonderöffnungszeiten für einen einzelnen Tag — oder null.
mediaByCategoryobjectoptional
Medienelemente gruppiert nach Kategorie (z. B. EXTERIOR, INTERIOR, FOOD_AND_DRINK, LOGO, TEAMS). Jedes Element hat eine url und optional ein label, ein kind (PHOTO oder VIDEO), eine source, ein starred-Flag und einen assetKey.
clientIdstringoptional
ID des Kunden, zu dem dieser Standort gehört, oder null.
archivedbooleanoptional
Ob der Standort archiviert ist.
scheduledArchiveAtstringoptional
Zeitpunkt, zu dem die Archivierung angefordert wurde (zugleich das Token, auf das cancel-archive abgleicht), als ISO-8601-Zeitstempel, oder null, wenn keine ausstehend ist.
verificationStatusstring (verified | pending | unverified | unknown)optional
Google-Verifizierungsstatus: verified, pending, unverified oder unknown, oder null.
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/locations/{id}
Ihr API-Schlüssel
id *
{
  "data": {
    "id": "loc_456",
    "name": "Acme Dental — Downtown",
    "description": null,
    "tagline": null,
    "storeCode": null,
    "logoUrl": null,
    "street": "123 Main St",
    "street1": null,
    "city": "Austin",
    "state": "TX",
    "postalCode": "78701",
    "country": "US",
    "latitude": 30.2672,
    "longitude": -97.7431,
    "phone": "+15125551234",
    "additionalPhones": [],
    "website": "https://acmedental.com",
    "businessEmail": null,
    "categoryName": "Dentist",
    "primaryCategoryDisplay": "Dentist",
    "primaryCategoryGoogle": "gcid:dentist",
    "additionalCategories": [],
    "attributes": [
      {
        "id": "attributes/wi_fi",
        "value": true
      }
    ],
    "services": [
      {
        "name": "Teeth Whitening",
        "description": null,
        "price": 150,
        "currency": "USD",
        "googleServiceTypeId": null
      }
    ],
    "ownerName": null,
    "menuUrl": null,
    "yearEstablished": null,
    "tags": [
      "vip"
    ],
    "labels": [],
    "regularHours": [
      {
        "day": "MONDAY",
        "closed": false,
        "periods": [
          {
            "openTime": "09:00",
            "closeTime": "17:00"
          }
        ]
      }
    ],
    "moreHours": [],
    "specialHours": [],
    "mediaByCategory": {
      "EXTERIOR": [
        {
          "url": "https://cdn.synup.com/media/1.jpg"
        }
      ]
    },
    "clientId": "cli_123",
    "archived": false,
    "scheduledArchiveAt": null,
    "verificationStatus": "verified"
  }
}
v1Ressourcen/Locations/patchStandort aktualisieren

Bearbeitet die Unternehmensdetails eines bestehenden Standorts — Adresse, Kategorien, Google-Unternehmensprofil-Attribute, Dienstleistungen und Öffnungszeiten. Übergeben Sie nur die Felder, die Sie ändern möchten; ein übergebenes Feld ersetzt seinen aktuellen Wert vollständig (ein leerer String löscht ein Textfeld, eine vollständige neue Liste ersetzt eine bestehende). Das Land kann nach der Erstellung nicht mehr geändert werden. Gespeicherte Änderungen werden automatisch zur Synchronisierung mit den verbundenen Verzeichnissen und Listings eingereiht.

Standort aktualisieren

patch/api/v1/locations/{id}
locations:write
Query-Parameter
idstringerforderlich
Der zu aktualisierende Standort.
Anfragetext
namestringoptional
Der Firmenname des Standorts.
descriptionstringoptional
Eine kurze Beschreibung des Unternehmens.
taglinestringoptional
Ein kurzer Slogan für das Unternehmen.
storeCodestringoptional
Ihr interner Filialcode / Referenz für diesen Standort.
logoUrlstringoptional
URL des Logobilds des Standorts.
languageCodestringoptional
Die primäre Sprache des Listings, als Code (z. B. „en“).
streetstringoptional
Straßenadresse.
street1stringoptional
Straßenadresse, Zeile 2.
citystringoptional
Stadt.
stateIsostringoptional
Bundesland oder Region, als ISO-Code (z. B. „CA“).
postalCodestringoptional
Postleitzahl.
latitudenumberoptional
Breitengrad. Wenn Sie die Adresse ändern, ohne dies ebenfalls zu setzen, wird er automatisch neu abgeleitet.
longitudenumberoptional
Längengrad. Wenn Sie die Adresse ändern, ohne dies ebenfalls zu setzen, wird er automatisch neu abgeleitet.
phonestringoptional
Telefonnummer.
additionalPhonesarray of stringoptional
Weitere Telefonnummern zusätzlich zur primären.
websitestringoptional
Website-URL.
businessEmailstringoptional
Eine öffentliche Kontakt-E-Mail für das Unternehmen.
categoryIdstringoptional
Allgemeine Kategorie-ID — mit GET /api/v1/locations/categories nachschlagen.
categoryNamestringoptional
Anzeigename der allgemeinen Kategorie.
publisherCategoriesobjectoptional
Publisherspezifische PRIMÄRKATEGORIE — derzeit wird hier nur google unterstützt (sowohl id als auch name sind erforderlich; die alleinige Übergabe von einem der beiden würde die Kategorie löschen). Facebook/Apple/Bing können nur im Standort-Editor geändert werden. Das id/name-Paar für google nachschlagen mit GET /api/v1/locations/publisher-categories.
googleobjectoptional
idstringoptional
namestringoptional
additionalCategoriesarray of objectoptional
Bis zu 9 zusätzliche Kategorien, jeweils ein { id?, name }. Ein reiner Name wird akzeptiert, und seine id wird aus dem Kategoriekatalog aufgelöst, sofern eine Übereinstimmung existiert. IDs selbst nachschlagen mit GET /api/v1/locations/categories.
idstringoptional
namestringoptional
attributesobjectoptional
Google-Unternehmensprofil-Attribute, als Map von Attribut-ID zu Wert (z. B. { "attributes/wi_fi": "free" }) — ERSETZT die gesamte Menge, lesen Sie daher die aktuellen über GET /api/v1/locations/{id} und übergeben Sie alles zurück, was erhalten bleiben soll. Eine id ohne gültige Google-Darstellung für die Kategorie dieses Standorts wird verworfen und in rejectedAttributes zurückgemeldet, statt die gesamte Anfrage scheitern zu lassen. Es gibt keinen Endpunkt, der auflistet, welche Attribut-IDs für eine Kategorie gültig sind — das ist Googles eigene Business-Profile-Attributreferenz, nicht die von Synup.
servicesarray of objectoptional
Die Dienstleistungen oder Produkte, die dieser Standort anbietet — ersetzt die bestehende Liste.
namestringoptional
descriptionstringoptional
pricenumberoptional
currencystringoptional
googleServiceTypeIdstringoptional
ownerNamestringoptional
Der Name des Inhabers.
menuUrlstringoptional
URL der Speisekarte des Unternehmens.
yearEstablishednumberoptional
Das Jahr, in dem das Unternehmen gegründet wurde (z. B. 2012).
tagsarray of stringoptional
Interne Tags für Ihre eigene Organisation — nicht öffentlich sichtbar. Ersetzt die bestehende Liste.
labelsarray of stringoptional
Interne Labels für diesen Standort. Ersetzt die bestehende Liste.
regularHoursarray of objectoptional
Der wöchentliche Standard-Öffnungszeitenplan — ersetzt den bestehenden Plan vollständig. Ein Eintrag je Wochentag.
daystring (MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY)optional
closedbooleanoptional
periodsarray of objectoptional
openstringoptional
closestringoptional
moreHoursarray of objectoptional
Zusätzliche Öffnungszeitentypen über die regulären hinaus (Lieferung, Abholung, Happy Hour usw.), ersetzt die bestehende Liste.
specialHoursarray of objectoptional
Einmalige Datumsüberschreibungen — Feiertagsschließungen oder Sonderöffnungszeiten für einen einzelnen Tag — ersetzt die bestehende Liste. Jedes Kalenderdatum funktioniert, nicht nur benannte Feiertage.
applyToPublishersarray of string (google | facebook | apple | bing)optional
Diese Werte nur für bestimmte Publisher ändern, statt für den gemeinsamen Standardwert, den jeder Publisher erbt.
Antwort
dataobjectoptional
locationobjectoptional
Das vollständige Unternehmensprofil für einen Standort: Adresse, Öffnungszeiten, Kategorien, Attribute, Dienstleistungen, Medien und Status — alles, was update_location ändern kann, plus das, was create zurückgegeben hat.
idstringoptional
Eindeutige Kennung des Standorts.
namestringoptional
Der Firmenname des Standorts.
descriptionstringoptional
Eine Beschreibung des Unternehmens, oder null.
taglinestringoptional
Ein kurzer Slogan für das Unternehmen, oder null.
storeCodestringoptional
Ihr interner Filialcode / Referenz für diesen Standort, oder null.
logoUrlstringoptional
URL des Logobilds des Standorts, oder null.
streetstringoptional
Straßenadresse, Zeile 1, oder null.
street1stringoptional
Straßenadresse, Zeile 2, oder null.
citystringoptional
Stadt.
statestringoptional
Bundesland oder Region.
postalCodestringoptional
Postleitzahl, oder null.
countrystringoptional
Land, als ISO-3166-1-Alpha-2-Code, oder null.
latitudenumberoptional
Breitengrad, oder null.
longitudenumberoptional
Längengrad, oder null.
phonestringoptional
Primäre Telefonnummer, oder null.
additionalPhonesarray of stringoptional
Weitere Telefonnummern zusätzlich zur primären.
websitestringoptional
Die Website-URL des Standorts, oder null.
businessEmailstringoptional
Eine öffentliche Kontakt-E-Mail für das Unternehmen, oder null.
categoryNamestringoptional
Der Anzeigename der allgemeinen Kategorie, oder null.
primaryCategoryDisplaystringoptional
Der Anzeigename der effektiven Primärkategorie — publisherspezifisch (Google), falls gesetzt, sonst allgemein — oder null.
primaryCategoryGooglestringoptional
Die primäre Google-Kategorie-ID des Standorts (gcid), oder null.
additionalCategoriesarray of objectoptional
Bis zu 9 zusätzliche Kategorien, jeweils mit einer id (wenn aufgelöst) und einem Anzeigenamen.
idstringoptional
namestringoptional
attributesarray of objectoptional
Google-Unternehmensprofil-Attribute, als gespeicherte { id, value }-Liste.
idstringoptional
valueobjectoptional
Der Wert des Attributs — ein Boolean für Ja/Nein-Attribute, ein String für Einzelauswahl-Attribute, oder ein Objekt mit setValues/unsetValues für Mehrfachauswahl.
servicesarray of objectoptional
Die Dienstleistungen oder Produkte, die dieser Standort anbietet.
namestringoptional
descriptionstringoptional
pricenumberoptional
currencystringoptional
googleServiceTypeIdstringoptional
ownerNamestringoptional
Der Name des Inhabers, oder null.
menuUrlstringoptional
URL der Speisekarte des Unternehmens, oder null.
yearEstablishednumberoptional
Das Jahr, in dem das Unternehmen gegründet wurde, oder null.
tagsarray of stringoptional
Interne Tags für Ihre eigene Organisation — nicht öffentlich sichtbar.
labelsarray of stringoptional
Interne Labels für diesen Standort.
regularHoursarray of objectoptional
Der wöchentliche Standard-Öffnungszeitenplan, oder null.
daystring (MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY)optional
closedbooleanoptional
periodsarray of objectoptional
moreHoursarray of objectoptional
Zusätzliche Öffnungszeitentypen über die regulären hinaus (Lieferung, Abholung usw.), oder null.
specialHoursarray of objectoptional
Einmalige Datumsüberschreibungen — Feiertagsschließungen oder Sonderöffnungszeiten für einen einzelnen Tag — oder null.
mediaByCategoryobjectoptional
Medienelemente gruppiert nach Kategorie (z. B. EXTERIOR, INTERIOR, FOOD_AND_DRINK, LOGO, TEAMS). Jedes Element hat eine url und optional ein label, ein kind (PHOTO oder VIDEO), eine source, ein starred-Flag und einen assetKey.
clientIdstringoptional
ID des Kunden, zu dem dieser Standort gehört, oder null.
archivedbooleanoptional
Ob der Standort archiviert ist.
scheduledArchiveAtstringoptional
Zeitpunkt, zu dem die Archivierung angefordert wurde (zugleich das Token, auf das cancel-archive abgleicht), als ISO-8601-Zeitstempel, oder null, wenn keine ausstehend ist.
verificationStatusstring (verified | pending | unverified | unknown)optional
Google-Verifizierungsstatus: verified, pending, unverified oder unknown, oder null.
rejectedAttributesarray of stringoptional
Attribut-IDs aus der Anfrage, die NICHT geschrieben wurden — entweder haben sie ein eigenes dediziertes Feld, oder ihr Wert hatte keine gültige Google-Darstellung. Nur vorhanden, wenn mindestens eine abgelehnt wurde.
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.
patch/api/v1/locations/{id}
Ihr API-Schlüssel
id *
Anfragetext
{
  "data": {
    "location": {
      "id": "loc_456",
      "name": "Acme Dental — Downtown",
      "tagline": "Gentle care, on time",
      "city": "Austin",
      "state": "TX",
      "clientId": "cli_123"
    },
    "rejectedAttributes": []
  }
}
v1Ressourcen/Locations/getStandort-Services auflisten

Die Google-Unternehmensprofil-Services, die dieser Standort anbietet.

Standort-Services auflisten

get/api/v1/locations/{id}/services
locations:read
Query-Parameter
idstringerforderlich
Antwort
dataobjectoptional
servicesarray of objectoptional
namestringerforderlich
Servicename.
descriptionstringoptional
Servicebeschreibung.
pricenumberoptional
Servicepreis.
currencystringoptional
Währungscode für den Preis.
googleServiceTypeIdstringoptional
Googles strukturierte Service-Typ-ID, falls einer zugeordnet ist.
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/locations/{id}/services
Ihr API-Schlüssel
id *
{
  "data": {
    "services": [
      {
        "name": "Teeth Whitening",
        "description": null,
        "price": 150,
        "currency": "USD",
        "googleServiceTypeId": null
      }
    ]
  }
}
v1Ressourcen/Locations/postService hinzufügen

Fügt einen Service zur Liste des Standorts hinzu und veröffentlicht die gesamte Liste erneut bei Google (Google kennt kein atomares Hinzufügen — jedes Speichern ersetzt das gesamte Array).

Service hinzufügen

post/api/v1/locations/{id}/services
locations:write
Query-Parameter
idstringerforderlich
Anfragetext
namestringerforderlich
Servicename.
descriptionstringoptional
Servicebeschreibung.
pricenumberoptional
Servicepreis.
currencystringoptional
Währungscode für den Preis.
googleServiceTypeIdstringoptional
Googles strukturierte Service-Typ-ID, falls einer zugeordnet ist.
Antwort
dataobjectoptional
servicesarray of objectoptional
namestringerforderlich
Servicename.
descriptionstringoptional
Servicebeschreibung.
pricenumberoptional
Servicepreis.
currencystringoptional
Währungscode für den Preis.
googleServiceTypeIdstringoptional
Googles strukturierte Service-Typ-ID, falls einer zugeordnet ist.
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.
post/api/v1/locations/{id}/services
Ihr API-Schlüssel
id *
Anfragetext*
{
  "data": {
    "services": [
      {
        "name": "Teeth Whitening",
        "description": null,
        "price": 150,
        "currency": "USD",
        "googleServiceTypeId": null
      }
    ]
  }
}
v1Ressourcen/Locations/deleteService entfernen

Entfernt einen Service anhand des Namens und veröffentlicht die verbleibende Liste erneut bei Google.

Service entfernen

delete/api/v1/locations/{id}/services
locations:write
Query-Parameter
idstringerforderlich
namestringerforderlich
Exakter Name des zu entfernenden Service.
Antwort
dataobjectoptional
servicesarray of objectoptional
namestringerforderlich
Servicename.
descriptionstringoptional
Servicebeschreibung.
pricenumberoptional
Servicepreis.
currencystringoptional
Währungscode für den Preis.
googleServiceTypeIdstringoptional
Googles strukturierte Service-Typ-ID, falls einer zugeordnet ist.
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.
delete/api/v1/locations/{id}/services
Ihr API-Schlüssel
id *
name *
{
  "data": {
    "services": []
  }
}
v1Ressourcen/Locations/postArchivierung eines Standorts planen

PLANT die Archivierung eines Standorts zum Ende des aktuellen Abrechnungszeitraums. Der Standort bleibt bis dahin vollständig aktiv, abrechenbar und zählt weiterhin gegen das Standortlimit des Plans — nichts wird gelöscht, und die Planung schafft erst dann Platz für einen weiteren Standort, wenn die Archivierung tatsächlich eintritt. Rufen Sie cancel-archive auf, um dies vor Eintritt abzubrechen, oder danach reactivate, um den Standort zurückzuholen.

Archivierung eines Standorts planen

post/api/v1/locations/{id}/archive
locations:write
Query-Parameter
idstringerforderlich
Der zur Archivierung zu planende Standort.
Antwort
dataobjectoptional
scheduledbooleanoptional
Bei Erfolg immer true.
scheduledArchiveAtstringoptional
Zeitpunkt, zu dem die Archivierung angefordert wurde (zugleich das Token, auf das cancel-archive abgleicht), als ISO-8601-Zeitstempel, oder null, wenn keine ausstehend ist.
archiveAtstringoptional
Wann die geplante Archivierung tatsächlich eintritt — die Abrechnungsgrenze der Agentur. Null, wenn die Agentur keine hat.
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.
409Die Anfrage steht im Widerspruch zum aktuellen Zustand der Ressource — zum Beispiel beim Ändern der E-Mail-Adresse oder Telefonnummer eines Empfängers, dem bereits eine Nachricht gesendet wurde, oder bei einer Team-Einladung, die bereits akzeptiert wurde (oder noch nicht akzeptiert wurde).
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
post/api/v1/locations/{id}/archive
Ihr API-Schlüssel
id *
{
  "data": {
    "scheduled": true,
    "scheduledArchiveAt": "2026-02-01T00:00:00.000Z",
    "archiveAt": "2026-03-01T00:00:00.000Z"
  }
}
v1Ressourcen/Locations/postGeplante Archivierung abbrechen

Bricht eine ausstehende Standortarchivierung ab, sodass ein zur Archivierung am Ende des Abrechnungszeitraums geplanter Standort normal weiterläuft. Funktioniert nur, solange die Archivierung noch ausstehend ist — ein bereits archivierter Standort muss stattdessen reaktiviert werden.

Geplante Archivierung abbrechen

post/api/v1/locations/{id}/cancel-archive
locations:write
Query-Parameter
idstringerforderlich
Der Standort, dessen ausstehende Archivierung abgebrochen werden soll.
Antwort
dataobjectoptional
cancelledbooleanoptional
Bei Erfolg immer true.
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.
409Die Anfrage steht im Widerspruch zum aktuellen Zustand der Ressource — zum Beispiel beim Ändern der E-Mail-Adresse oder Telefonnummer eines Empfängers, dem bereits eine Nachricht gesendet wurde, oder bei einer Team-Einladung, die bereits akzeptiert wurde (oder noch nicht akzeptiert wurde).
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
post/api/v1/locations/{id}/cancel-archive
Ihr API-Schlüssel
id *
{
  "data": {
    "cancelled": true
  }
}
v1Ressourcen/Locations/postArchivierten Standort reaktivieren

Stellt einen bereits archivierten Standort wieder her — samt jedem Listing darunter — und löscht jede ausstehende Archivierungsplanung. Ist ein Standort derzeit nicht archiviert, gilt der Aufruf als erfolgreicher No-op, nicht als Fehler.

Archivierten Standort reaktivieren

post/api/v1/locations/{id}/reactivate
locations:write
Query-Parameter
idstringerforderlich
Der zu reaktivierende Standort.
Antwort
dataobjectoptional
archivedbooleanoptional
Ob der Standort archiviert ist.
cancelledScheduledPostsnumberoptional
Anzahl der geplanten Beiträge, die im Rahmen der Reaktivierung aus einem archivierten Zustand abgebrochen wurden, falls vorhanden.
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.
post/api/v1/locations/{id}/reactivate
Ihr API-Schlüssel
id *
{
  "data": {
    "archived": false,
    "cancelledScheduledPosts": 0
  }
}
v1Ressourcen/Locations/getStandortzusammenfassung abrufen

Liefert aggregierte Standortzahlen für Ihre gesamte Agentur (oder einen Kunden), aufgeschlüsselt nach Status, Paketstufe und Verifizierungsstatus.

Standortzusammenfassung abrufen

get/api/v1/locations/summary
locations:read
Query-Parameter
clientIdstringoptional
Auf die Standorte eines Kunden beschränken. Weggelassen, werden alle Standorte zusammengefasst, die Ihr Schlüssel sehen kann. Nachschlagen mit GET /api/v1/clients.
tagsstringoptional
Auf Standorte mit einem dieser durch Komma getrennten internen Tags beschränken.
Antwort
dataobjectoptional
totalnumberoptional
Gesamtzahl der passenden Standorte.
byStatusobjectoptional
Standortzahlen gruppiert nach Status.
byVerificationobjectoptional
Standortzahlen gruppiert nach Verifizierungsstatus.
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.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
get/api/v1/locations/summary
Ihr API-Schlüssel
clientId
tags
{
  "data": {
    "total": 12,
    "byStatus": {
      "approved": 10,
      "pending_verification": 1,
      "archival_pending": 1
    },
    "byVerification": {
      "verified": 9,
      "pending": 1,
      "unknown": 2
    }
  }
}
v1Ressourcen/Locations/postEin Tag erstellen

Erstellt ein neues internes Tag, das einem Kunden zugeordnet ist.

Ein Tag erstellen

post/api/v1/locations/tags
locations:write
Anfragetext
clientIdstringerforderlich
Der Kunde, zu dem dieses Tag gehört. Nachschlagen mit GET /api/v1/clients.
namestringerforderlich
Der Name des Tags.
Antwort
dataobjectoptional
idstringoptional
Eindeutige Kennung für das neu erstellte Tag.
namestringoptional
Der Name des Tags.
clientIdstringoptional
Der Kunde, zu dem dieses Tag gehört. Nachschlagen mit GET /api/v1/clients.
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.
post/api/v1/locations/tags
Ihr API-Schlüssel
Anfragetext*
{
  "data": {
    "id": "tag_789",
    "name": "VIP",
    "clientId": "cli_123"
  }
}
v1Ressourcen/Locations/deleteEin Tag löschen

Löscht ein internes Tag. Die Standorte, denen es zugewiesen war, werden dabei nicht gelöscht. locationsUnassigned in der Antwort gibt an, wie viele Standorte diesen Tag verloren haben.

Ein Tag löschen

delete/api/v1/locations/tags/{id}
locations:write
Query-Parameter
idstringerforderlich
ID des zu löschenden Tags.
Antwort
dataobjectoptional
locationsUnassignednumberoptional
Anzahl der Standorte, die diesen Tag hatten — alle haben die Zuordnung verloren, als der Tag gelöscht 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/locations/tags/{id}
Ihr API-Schlüssel
id *
{
  "data": {
    "locationsUnassigned": 3
  }
}
v1Ressourcen/Locations/postStandorte zu einem Tag hinzufügen

Wendet ein bestehendes Tag auf einen oder mehrere Standorte an.

Standorte zu einem Tag hinzufügen

post/api/v1/locations/tags/{id}/locations
locations:write
Query-Parameter
idstringerforderlich
ID des Tags.
Anfragetext
locationIdsarray of stringerforderlich
IDs der zu taggenden Standorte.
Antwort
dataobjectoptional
addedarray of stringoptional
IDs der Standorte, denen das Tag tatsächlich hinzugefügt wurde.
skippedarray of stringoptional
IDs der übersprungenen Standorte, da sie dieses Tag bereits trugen.
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.
post/api/v1/locations/tags/{id}/locations
Ihr API-Schlüssel
id *
Anfragetext*
{
  "data": {
    "added": [
      "loc_456"
    ],
    "skipped": []
  }
}
v1Ressourcen/Locations/deleteEinen Standort von einem Tag entfernen

Entfernt einen einzelnen Standort, anhand seiner ID, von einem Tag.

Einen Standort von einem Tag entfernen

delete/api/v1/locations/tags/{id}/locations
locations:write
Query-Parameter
idstringerforderlich
ID des Tags.
locationIdstringerforderlich
ID des zu enttaggenden Standorts.
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.
delete/api/v1/locations/tags/{id}/locations
Ihr API-Schlüssel
id *
locationId *
{}
v1Ressourcen/Locations/getAllgemeine Kategorietaxonomie durchsuchen

Durchsucht die allgemeine Geschäftskategorie-Taxonomie (entspricht der von Google, Tausende Einträge) — globale Referenzdaten, nicht auf Ihre Agentur beschränkt. Die zurückgegebene ID ist eine Category-ID, die beim Erstellen oder Aktualisieren als categoryId eines Standorts gesetzt wird. Für den eigenen Katalog eines bestimmten Publishers verwenden Sie stattdessen GET /api/v1/locations/publisher-categories. Suche ganz weglassen, um die vollständige, unbegrenzte Taxonomie aufzulisten.

Allgemeine Kategorietaxonomie durchsuchen

get/api/v1/locations/categories
locations:read
Query-Parameter
searchstringoptional
Zu suchender Kategoriename-Teilstring. Weglassen, um die gesamte Taxonomie unbegrenzt aufzulisten (limit wird in diesem Fall ignoriert).
limitintegeroptional
Zurückzugebende Zeilen, 1–100. Standardmäßig 25.
Antwort
dataobjectoptional
categoriesarray of objectoptional
Die passenden allgemeinen Kategorien.
idstringoptional
Die Category-ID — übergeben Sie diese als categoryId bei create oder update.
namestringoptional
Der Anzeigename der Kategorie.
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.
429Zu viele Anfragen. Versuchen Sie es nach der im Retry-After-Header angegebenen Anzahl Sekunden erneut.
get/api/v1/locations/categories
Ihr API-Schlüssel
search
limit
{
  "data": {
    "categories": [
      {
        "id": "cat_dentist",
        "name": "Dentist"
      },
      {
        "id": "cat_orthodontist",
        "name": "Orthodontist"
      }
    ]
  }
}
v1Ressourcen/Locations/getEigenen Kategoriekatalog eines Publishers durchsuchen

Durchsucht den eigenen (GABF-)Kategorienkatalog eines Publishers — globale Referenzdaten, nicht auf Ihre Agentur beschränkt. Verwenden Sie die zurückgegebene ID beim Erstellen oder Aktualisieren für die publisherCategories eines Standorts. Query ganz weglassen, um den gesamten Katalog des Publishers unbegrenzt aufzulisten.

Eigenen Kategoriekatalog eines Publishers durchsuchen

get/api/v1/locations/publisher-categories
locations:read
Query-Parameter
publisherstring (google | facebook | apple | bing)erforderlich
Der zu durchsuchende Publisher-Katalog: google, apple, bing oder facebook.
querystringoptional
Zu suchender Kategoriename-Teilstring. Weglassen, um den gesamten Katalog des Publishers unbegrenzt aufzulisten.
countrystringoptional
Land als ISO-3166-1-Alpha-2-Code — empfohlen für apple, dessen Kategorien länderspezifisch sind.
Antwort
dataobjectoptional
categoriesarray of objectoptional
Die passenden Kategorien im eigenen Katalog des angeforderten Publishers.
idstringoptional
Die eigene Kategorie-ID des Publishers — übergeben Sie diese in publisherCategories bei create oder update. Null ist möglich bei einem Katalogeintrag ohne id.
displayNamestringoptional
Der Anzeigename der Kategorie im Katalog dieses Publishers.
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/locations/publisher-categories
Ihr API-Schlüssel
publisher *
query
country
{
  "data": {
    "categories": [
      {
        "id": "gcid:dentist",
        "displayName": "Dentist"
      }
    ]
  }
}
v1Ressourcen/Locations/getStandorte mit ihren Medien auflisten

Listet Standorte zusammen mit ihren Fotos auf, neueste zuerst — dieselben Filter wie GET /api/v1/locations. Nutzen Sie dies für Fragen wie „welche Standorte haben keine Fotos?“, statt GET /api/v1/media, das jeweils nur die Medien EINES Standorts zurückgibt.

Standorte mit ihren Medien auflisten

get/api/v1/locations/media
media:read
Query-Parameter
clientIdstringoptional
Auf die Standorte eines Kunden beschränken. Erforderlich, wenn Ihr Schlüssel auf bestimmte Kunden beschränkt ist — hier gibt es kein Kundenfeld je Zeile, gegen das ein zusammengeführtes, unbeschränktes Ergebnis geprüft werden könnte, daher wird ein fehlendes clientId abgelehnt, statt es zu erraten. Nachschlagen mit GET /api/v1/clients.
searchstringoptional
Freitextsuche über Name, Straßenadresse, Stadt oder Telefonnummer des Standorts (Groß-/Kleinschreibung wird ignoriert, Teiltreffer erlaubt).
statusstring (all | active | archived | archival_pending | verification_pending | unapproved | requires_action)optional
Ein einzelner Statusbereich: all, active (nicht archiviert), archived, archival_pending, verification_pending (Google-Freigabe ausstehend), unapproved oder requires_action. Standardmäßig all.
tagsarray of stringoptional
Interne Tags — trifft auf einen Standort zu, der mindestens eines davon hat.
categoriesarray of stringoptional
Anzeigenamen von Kategorien — trifft auf einen Standort zu, dessen allgemeine oder Google-Kategorie eine davon ist.
verificationarray of string (verified | pending | unverified | unknown)optional
Google-Verifizierungsstatus: verified, pending, unverified oder unknown.
createdAfterstringoptional
Nur Standorte, die an oder nach diesem Datum erstellt wurden.
createdBeforestringoptional
Nur Standorte, die an oder vor diesem Datum erstellt wurden.
cursorstringoptional
Paginierungs-Cursor aus dem nextCursor einer vorherigen Antwort. Für die erste Seite leer lassen.
limitintegeroptional
Standorte pro Seite, 1–100. Standardmäßig 100.
Antwort
dataobjectoptional
locationsarray of objectoptional
Die zu dieser Seite passenden Standorte.
idstringoptional
Eindeutige Kennung des Standorts.
namestringoptional
Der Firmenname des Standorts.
logoUrlstringoptional
URL des Logos des Standorts, oder null.
mediaByCategoryobjectoptional
Medienelemente gruppiert nach Kategorie (z. B. EXTERIOR, INTERIOR, FOOD_AND_DRINK, LOGO, TEAMS). Jedes Element hat eine url und optional ein label, ein kind (PHOTO oder VIDEO), eine source, ein starred-Flag und einen assetKey.
totalnumberoptional
Gesamtzahl der Fotos über alle Kategorien dieses Standorts hinweg.
nextCursorstringoptional
Paginierungs-Cursor für die nächste Seite, oder null, wenn keine weiteren Ergebnisse vorliegen.
totalnumberoptional
Gesamtzahl der Standorte, die den Filtern entsprechen, über alle Seiten hinweg.
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/locations/media
Ihr API-Schlüssel
clientId
search
status
tags
categories
verification
createdAfter
createdBefore
cursor
limit
{
  "data": {
    "locations": [
      {
        "id": "loc_456",
        "name": "Acme Dental — Downtown",
        "logoUrl": null,
        "mediaByCategory": {
          "EXTERIOR": [
            {
              "url": "https://cdn.synup.com/media/1.jpg"
            }
          ]
        },
        "total": 1
      }
    ],
    "nextCursor": null,
    "total": 1
  }
}
v1Ressourcen/Locations/postFotos zu einem Standort hochladen

Fügt einem Standort ein oder mehrere Fotos in einer bestimmten Kategorie hinzu. Geben Sie jedes Bild als öffentliche https-URL (wird abgerufen und neu gehostet) oder als Base64-Bytes an. Es werden nur Bilder unterstützt (jpeg, png, gif, webp), je maximal 5 MB. Die Kategorie LOGO enthält ein einziges Logo — ein Upload zu LOGO ersetzt das aktuelle. Jede andere Kategorie wird ergänzt. Gespeicherte Fotos werden automatisch zur Veröffentlichung auf Google eingereiht.

Fotos zu einem Standort hochladen

post/api/v1/locations/{id}/media
locations:write
Query-Parameter
idstringerforderlich
Der Standort, dem Fotos hinzugefügt werden sollen.
Anfragetext
categorystring (COVER | PROFILE | LOGO | EXTERIOR | INTERIOR | PRODUCT | FOOD_AND_DRINK | MENU | AT_WORK | TEAMS | ROOMS | COMMON_AREA | ADDITIONAL)erforderlich
Die Fotokategorie, zu der hinzugefügt werden soll. LOGO ersetzt das aktuelle Logo; jede andere Kategorie wird ergänzt.
imagesarray of objecterforderlich
Ein oder mehrere hinzuzufügende Bilder. Jedes benötigt eine url oder base64.
urlstringoptional
Eine öffentliche https-URL zum Bild — sie wird abgerufen und neu gehostet.
base64stringoptional
Die Bild-Bytes als Base64 (ein data:-URL-Präfix wird akzeptiert). Verwenden Sie dies statt url, wenn Sie die Bytes vorliegen haben.
labelstringoptional
Optionale Bildunterschrift/Beschriftung für das Foto.
Antwort
dataobjectoptional
mediaByCategoryobjectoptional
Medienelemente gruppiert nach Kategorie (z. B. EXTERIOR, INTERIOR, FOOD_AND_DRINK, LOGO, TEAMS). Jedes Element hat eine url und optional ein label, ein kind (PHOTO oder VIDEO), eine source, ein starred-Flag und einen assetKey.
addedarray of objectoptional
Die tatsächlich hinzugefügten Fotos, jeweils mit der Kategorie, in der es gelandet ist, und seiner gehosteten URL.
categorystringoptional
urlstringoptional
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/locations/{id}/media
Ihr API-Schlüssel
id *
Anfragetext*
{
  "data": {
    "mediaByCategory": {
      "EXTERIOR": [
        {
          "url": "https://cdn.synup.com/media/1.jpg",
          "source": "agent_upload"
        }
      ]
    },
    "added": [
      {
        "category": "EXTERIOR",
        "url": "https://cdn.synup.com/media/1.jpg"
      }
    ]
  }
}
v1Ressourcen/Locations/deleteFotos eines Standorts löschen

Entfernt Fotos von einem Standort. Übergeben Sie urls, um bestimmte Fotos zu löschen, oder category, um eine ganze Kategorie zu leeren. Das Logo kann über diesen Endpunkt niemals gelöscht werden — weder per url noch per category — laden Sie stattdessen ein neues LOGO-Bild hoch, um es zu ersetzen. Dies entfernt die Fotos in der App; es löscht sie nicht von Google.

Fotos eines Standorts löschen

delete/api/v1/locations/{id}/media
locations:write
Query-Parameter
idstringerforderlich
Der Standort, von dem Fotos entfernt werden sollen.
Anfragetext
urlsarray of stringoptional
Bestimmte zu entfernende Foto-URLs (aus dem mediaByCategory eines Standorts).
categorystring (COVER | PROFILE | EXTERIOR | INTERIOR | PRODUCT | FOOD_AND_DRINK | MENU | AT_WORK | TEAMS | ROOMS | COMMON_AREA | ADDITIONAL)optional
Jedes Foto in dieser Kategorie löschen. LOGO ist kein zulässiger Wert — das Logo kann nicht gelöscht werden.
Antwort
dataobjectoptional
mediaByCategoryobjectoptional
Medienelemente gruppiert nach Kategorie (z. B. EXTERIOR, INTERIOR, FOOD_AND_DRINK, LOGO, TEAMS). Jedes Element hat eine url und optional ein label, ein kind (PHOTO oder VIDEO), eine source, ein starred-Flag und einen assetKey.
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.
delete/api/v1/locations/{id}/media
Ihr API-Schlüssel
id *
Anfragetext
{
  "data": {
    "mediaByCategory": {
      "EXTERIOR": []
    },
    "removed": [
      "https://cdn.synup.com/media/1.jpg"
    ]
  }
}