Skip to main content
A zone is a geographic area defined by a coverage area — a polygon boundary or a list of cities, zip codes, states, or countries. Zones model where delivery is available and let you apply zone-based rules and associate areas with the store locations that serve them.

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
Create a zone with Create a zone (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
When you create a zone with a polygon, Nash creates a coverage area unless you also pass an existing 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:
Provide both latitude and longitude to find zones whose coverage contains that exact point.
The endpoint returns the list of zones that cover the requested location.
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.
Together they let you describe which store serves which area: associate a zone with a store location, and a coverage lookup tells you whether a given dropoff point falls inside that store’s delivery area. Store locations have their own coverage lookup, Get store locations that cover a specified latitude and longitude, which returns the store locations serving a point rather than the zones containing it.

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.