add_territory_postcodes
ChatGPTGrant (include) or carve out (exclude) postcodes for a territory. Not live until publish_territories.
apply_configuration
ChatGPTMake a prepared proposal live on the customer's website. Only call this after showing the person the differences from propose_configuration and getting their agreement. Refused if the locator changed since the proposal was prepared.
create_location
ChatGPTAdd one location, or many in a single call. A plain address is geocoded automatically, so lat and lng are only needed to override the result. Pass locations with an array to add a batch: adding ten showrooms is one call, not ten, and the reply says exactly which ones landed. Counts against the plan's location allowance.
create_spotlight_rule
ChatGPTAdd a rule with one trigger (when it applies) and one action (what the visitor sees), switched on immediately and applied after the existing rules. Location ids come from list_locations.
create_territory
ChatGPTCreate an empty territory owned by one location (dealer). It covers nothing until postcodes are added with add_territory_postcodes, and nothing reaches a visitor until publish_territories. Polygons and regions are drawn on the map in the dashboard.
delete_location
ChatGPTRemove a location from the locator. This is a soft delete: the row is retained so analytics history stays intact, and it can be restored from the dashboard. Pass ids instead of id to delete up to 200 in one call.
delete_spotlight_rule
ChatGPTDelete a rule. It stops applying at once and cannot be restored. Get the id from list_spotlight_rules.
delete_territory
ChatGPTDelete a territory and its rules. Visitors keep being routed by the published version until publish_territories runs again.
describe_configuration
ChatGPTThe current value of everything on the locator, with the schema beside it: behaviour settings, brand tokens, result-card layouts and visitor-facing wording. Use it to read what is set now. To write a change you do not need it: propose_configuration's own input schema lists every key and allowed value. Pass section to get one part instead of all 30KB.
explain_territory_owner
ChatGPTWhich dealer owns a point, and why, answered from the PUBLISHED territories, exactly as a visitor there would be routed.
find_nearest_locations
ChatGPTRank locations by distance from a point, the way the widget ranks them for a visitor. Also answers questions about the data when given tag or q without a point.
get_embed_code
ChatGPTThe HTML snippet that puts this locator on a website, plus the public site id it carries. Paste it where the map should appear.
get_location
ChatGPTFull details for one location, including hours and custom fields.
list_configuration_versions
ChatGPTThe locator's configuration history, newest first, with what caused each version. Use it to find a version number to roll back to.
list_locations
ChatGPTList the locations on this locator, newest first. Use search to find one by name or address before editing it.
list_spotlight_rules
ChatGPTSpotlight rules change what a visitor sees depending on where and when they search: a banner for a region or a date range, featured locations, only certain locations, or hidden ones. Lists every rule in the order they apply (after territories), with ids. Call this before changing a rule.
list_tags
ChatGPTThe tags (categories) on this locator, with how many locations carry each one. Tags are what visitors filter by on the map.
list_territories
ChatGPTWho OWNS an address, as distinct from who can reach it: a service radius says how far a location travels, a territory decides which dealer an enquiry belongs to. Lists every territory with its owner, rank, rules and id, the territory mode, and the published version. Nothing reaches a visitor until publish_territories.
propose_configuration
ChatGPTPrepare a change to how the locator looks or behaves, WITHOUT applying it. Returns the exact list of differences. Show that list to the person and get their agreement before calling apply_configuration. Call describe_configuration first so the keys are real.
publish_territories
ChatGPTMake the current territories live. Writes a new version and replaces what visitors are routed by once every file is written.
rollback_configuration
ChatGPTRestore a previous configuration version. This creates a new version rather than erasing history, so a rollback can itself be rolled back.
set_custom_field
ChatGPTPut the same extra field on many locations at once: a booking button, a social link, or a labelled fact like "Parking: street only". A value that is a URL becomes a clickable button; anything else shows as plain text. NOT for tags or categories, which are a different thing entirely: use tag_locations for those. Set remove to true to take the field off instead.
set_spotlight_rule_enabled
ChatGPTTurn a rule on or off without deleting it. Get the id from list_spotlight_rules.
set_tag_style
ChatGPTChange how an existing tag looks on the map's filters: its filter group, chip colour and icon. Only the fields you pass are changed. Tags in the same group show as one labelled filter dropdown. Use the exact tag name. The tag must already exist; to create a tag and style it at once, use tag_locations.
set_territory_mode
ChatGPTChoose how territories affect a visitor's results: off, preferred, exclusive or fallback. Applies to the live locator straight away.
tag_locations
ChatGPTAdd a tag to locations, or remove it from them with action "remove". Adding creates the tag if it does not exist yet. Tags appear as filter chips that visitors use on the map. When adding, you can also pass group, color or icon to style the tag in the same call. Use this for requests like "tag these as X" or "mark these as X"; tags are not custom fields. Get location ids from list_locations first.
update_location
ChatGPTChange one or more fields on an existing location. Only the fields you send are touched. Changing the address re-geocodes it. Pass ids instead of id to apply the same fields to many locations in one call, for example hiding a batch or setting priority across a region; address, coordinates and name stay one-at-a-time.
update_spotlight_rule
ChatGPTReplace a rule's name, trigger, action and dates. Send the whole rule, not only the changed part: the previous values are overwritten. Get the id from list_spotlight_rules.