What a zone is
A zone is created from a coverage area and can be associated with one or more store locations. Each zone can carry:- A name and an optional external ID for mapping to your own systems
- One or more store location associations, optionally with start and end dates
- A coverage area that defines the zone’s extent — a polygon boundary or a list of cities, zip codes, states, or countries
- Free-form tags and metadata for your own classification
POST /v1/zones) and retrieve one — including its coverage area and associated store locations — with Get zone (GET /v1/zones/{id}). You can also list zones with pagination (GET /v1/zones) or look one up by your own identifier with Get zone by external identifier.
Zone restrictions are a separate concept layered on top of zones. A zone restriction defines a rule that controls delivery behavior within a specific zone — for example, provider restrictions or time-based rules. List them with
GET /v1/zone-restrictions.Set a polygon boundary
Create a zone (POST /v1/zones) and Update a zone (PATCH /v1/zones/{id}) accept a polygon field. Send one closed ring of coordinate pairs to define the zone’s geographic boundary.
A valid polygon has:
- At least four coordinate pairs, including the repeated closing point
- Coordinates in
[latitude, longitude]order - An identical first and last pair, which closes the ring
- A boundary that does not cross itself
coverageAreaId. Updating polygon replaces the zone’s current boundary. If the coverage area is shared with another resource, Nash gives the zone a dedicated coverage area before changing the boundary, so the other resource keeps its geometry.
Zone responses return the boundary under coverageArea.polygons[].polygonData.
Read zones in bulk
Query zones (POST /v1/zones/query) returns full details for several zones in one request. Filter by Nash zone IDs in ids, your identifiers in externalIds, or both. The filters use OR, and each list accepts up to 500 values.
Omit both filters to page through every zone in your organization. Set size from 1 to 500 and use offset to advance through the result. The response places zone records under data and pagination details under meta.
Coverage lookups
Coverage lookups answer the question “which zones contain this location?” by testing a location against your zones’ coverage areas. Use Get zones that cover a specified location (GET /v1/zones/coverage). You can query by:
- Latitude & longitude
- City & zip code
Provide both
latitude and longitude to find zones whose coverage contains that exact point.If you query by
latitude, you must also provide longitude (and vice versa) — coordinate lookups require both values.Zones vs. store locations
Zones and store locations are distinct but related:- A store location is a physical origin — a restaurant, warehouse, or store — that deliveries depart from.
- A zone is a geographic area, defined by its coverage area, where delivery is available. A zone can be associated with one or more store locations.
Next steps
Create a zone
Define where delivery is available with a coverage area.
Coverage lookup
Find zones covering a latitude/longitude or city/zip.
Get zone
Retrieve a zone’s boundary and store locations.
Query zones
Fetch full zone details in bulk by Nash ID or external ID.
Store locations
Manage the origins that zones serve.