Skip to main content
These endpoints use V1 authentication and project scope. Replace YOUR_LEGACY_TOKEN with the token from your existing V1 integration. V1 has no PATCH location endpoint. For partial updates with explicit clearing of hours and other attached information, see V2 PATCH.

List locations

The response contains a data array, pagination links, and pagination meta. Each item in data uses the location format. V1 includes opening hours, filters, custom fields, and buttons automatically; it does not use V2 include flags or V2 list filters. Use the next page number with the same limit. Pagination links may omit your custom limit, so preserve it in each request. This abbreviated example shows an empty result:

Get a location

Use the numeric id returned by V1. 12345 below is an example ID.
Returns 200 and the location object directly, without a data wrapper. An ID outside the token owner’s personal project returns 404.

Create a location

name is required. Supply an address and coordinates that describe the location.
Returns 201 with the created location object, without a data wrapper. When either coordinate is missing or zero, V1 creation attempts geocoding during the request. Supplying both nonzero coordinates avoids that lookup.

Update a location

PUT requires name, even when you are changing only its phone number.
Use the location’s current name and location-type name. The Standard value above is illustrative; use a type configured in your project. Returns 200 with the updated location object, without a data wrapper. Omitted basic fields keep their saved values. location_type is an exception: omitting it, setting it to null, or sending an unmatched name selects the project default. Include its current name to preserve a nondefault type. Send null to clear an optional contact or social field, such as phone, email, or twitter. An empty string is treated as null. Clearing address or display_address regenerates it from the available address information. Updating address components also refreshes an address previously generated from those components. A separately supplied custom address stays in place unless you explicitly replace or clear it. When either coordinate is missing or zero after an update, V1 queues geocoding. Changing an address alone does not replace existing nonzero coordinates; provide the new coordinates when moving a location.

Writable fields

POST and PUT accept these fields: Use the public key twitter, rather than x_twitter, and yelp, rather than yelp_id.
filters, fields, buttons, hours, marker, cover, and slug are not writable through the current V1 POST and PUT endpoints. Sending them does not update those values.They can still appear in read responses. To manage attached location information, use the dashboard or the documented V2 location endpoints.

Delete a location

Deletes the location and returns 200:

Location response

GET one, POST, and PUT return the location directly. In a list response, each data item has the same format. This example shows selected fields:
  • id is a numeric ID encoded as a string. Coordinates are numbers or null; visible is a boolean.
  • location_type is an object or null, rather than the name-only V2 response.
  • hours is null or an object with name, location_id, and mon through sun.
  • fields is an array of {id, name, value} objects; filters is an array of {id, name} objects.
  • buttons is an array of {id, title, value} objects. V1 uses buttons, not V2’s callsToAction response key.
  • cover_image is null or an object with url and name. V1 does not use V2’s cover_image_url key.
  • socials contains the configured profiles as {key, label, handle, url, icon} objects.
V1 locations do not include created_at or updated_at. See V1 errors for failed requests.