v1Resources/Locations/postCreate a location
Create a location
Creates a new location for an existing client and submits it for publishing.
post
locations:write/api/v1/locationsRequest body
clientIdstringrequired
ID of the client to create this location under. Look it up with GET /api/v1/clients.
namestringrequired
The location's business name.
countryIsostringrequired
ISO country code, e.g. US.
streetstringoptional
Street address.
street1stringoptional
Street address, line 2.
citystringoptional
City.
stateIsostringoptional
State or region code.
postalCodestringoptional
Postal or ZIP code.
phonestringoptional
Phone number.
additionalPhonesarray of stringoptional
Any additional phone numbers beyond the primary one.
websitestringoptional
Website URL.
categoryIdstringoptional
General category id — look it up with GET /api/v1/locations/categories.
categoryNamestringoptional
General category display name.
publisherCategoriesobjectoptional
Per-publisher categories, one per publisher, each an { id, name } looked up via GET /api/v1/locations/publisher-categories.
googleobjectoptional
idstringoptional
namestringoptional
facebookobjectoptional
idstringoptional
namestringoptional
appleobjectoptional
idstringoptional
namestringoptional
bingobjectoptional
idstringoptional
namestringoptional
additionalCategoriesarray of objectoptional
Up to 9 extra categories, each an { id?, name }. A bare name is accepted and its id is resolved from the category catalog where one matches. Look up ids yourself with GET /api/v1/locations/categories.
idstringoptional
namestringoptional
descriptionstringoptional
A short description of the business.
tagsarray of stringoptional
Internal tags for your own organization — not shown publicly.
latitudenumberoptional
Latitude, in decimal degrees. Derived automatically from the address if omitted.
longitudenumberoptional
Longitude, in decimal degrees. Derived automatically from the address if omitted.
customFieldsobjectoptional
Custom field values to set on this location, keyed by field id.
Response
dataobjectoptional
locationIdstringoptional
ID of the newly created location.
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
404The resource wasn't found, or doesn't belong to your agency.
422The request is missing a required parameter or is otherwise malformed.
429Too many requests. Retry after the number of seconds in the Retry-After header.
post/api/v1/locations
Your API key
Request body*
{
"data": {
"locationId": "loc_456"
}
}Guides that use this endpoint
- What Is a Business Listings API?A business listings API manages a business's name, address, hours and more across many publishers at once, with sync status and duplicate detection built in.
- Business Listings API: Complete Developer GuideHow a business listings API works and how to create, update, sync and monitor locations across Google, Apple, Bing and directories with the Synup API.
- Create a Location with the Synup APICreate a business location under a client in one POST, get back a locationId, and know which fields matter and which can wait.
- How to Build a Reputation Management PlatformArchitecture and API calls for a multi-client reputation management platform on Synup: review ingestion, reply workflows, invites, widgets and reporting.
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- How to Manage Thousands of Business Locations via APIDesign a sync job for thousands of locations on the Synup API with cursor pagination, tags, rate-limit handling, an id map and rollup health checks.
- How to Add Local Marketing Functionality to Vertical SaaSAdd local marketing to a vertical SaaS by mapping existing customers to clients and locations, and shipping only the features your niche needs.