> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usenash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Query zones

> Return full zone details for many zones in a single call. Filter by `ids` and/or `externalIds` (combined with OR); omit both to page through all of the organization's zones. Results come back under `data` with pagination under `meta`; each `data` item matches the shape of `GET /v1/zones/<id>`.



## OpenAPI

````yaml post /v1/zones/query
openapi: 3.1.0
info:
  title: Nash API
  version: 1.0.0
servers:
  - url: https://api.sandbox.usenash.com
    description: Sandbox API
  - url: https://api.sandbox.ap-southeast-2.usenash.com
    description: Sandbox API (Australia)
  - url: https://api.usenash.com
    description: Production API
  - url: https://api.ap-southeast-2.usenash.com
    description: Production API (Australia)
security: []
tags:
  - name: Notifications
    description: Notifications
    x-nash-topic: config
  - name: Annotate
    description: Annotate
    x-nash-topic: wismo
  - name: Notifications — Send
    description: One-off notification send without a NotificationTrigger.
    x-nash-topic: notifications
  - name: Shipping
    description: Shipping operations
    x-nash-topic: shipping
  - name: Workflow
    description: Workflow automation management
    x-nash-topic: scheduling
  - name: Workflow Execution
    description: Workflow execution history and monitoring
    x-nash-topic: scheduling
  - name: Optimization Strategies
    description: Create, read, update, and delete route optimization strategies.
    x-nash-topic: scheduling
  - name: AI Agents
    description: AI agent management — create, read, update, and delete agents
    x-nash-topic: config
  - name: AI Functions
    description: LLM-backed domain tools
    x-nash-topic: ai
  - name: Webhooks
    description: Webhook delivery inspection
    x-nash-topic: webhooks
  - name: Miscellaneous
    description: Miscellaneous
  - name: Job
    description: Job
    x-nash-topic: wismo
  - name: Batch Job
    description: Batch Job
    x-nash-topic: wismo
  - name: Order
    description: Order
    x-nash-topic: wismo
  - name: Route
    description: Route
    x-nash-topic: scheduling
  - name: Provider
    description: Provider
    x-nash-topic: provider
  - name: Dispatch Strategies
    description: Dispatch Strategies
    x-nash-topic: scheduling
  - name: Store Locations
    description: Store Locations
    x-nash-topic: config
  - name: Vehicles
    description: Vehicles
    x-nash-topic: provider
  - name: Couriers
    description: Couriers
    x-nash-topic: provider
  - name: Shifts
    description: Shifts
    x-nash-topic: provider
  - name: Delivery Windows
    description: Delivery Windows
    x-nash-topic: config
  - name: Templates
    description: Templates
    x-nash-topic: config
  - name: Zones
    description: Zones
    x-nash-topic: config
  - name: Feedback
    description: Feedback
    x-nash-topic: reporting
  - name: Organizations
    description: Organizations
    x-nash-topic: config
  - name: Store Catalog
    description: Store Catalog
    x-nash-topic: config
  - name: Messaging
    description: Messaging
    x-nash-topic: config
  - name: Contracts
    description: Provider contract pricing and version listings
    x-nash-topic: provider
  - name: Event Timeline
    description: Entity-scoped event timeline + outbound provider traffic for one entity.
    x-nash-topic: internal
  - name: Fleet
    description: Inbound endpoints fleets call to update in-flight deliveries.
    x-nash-topic: delivery
  - name: Route Restrictions
    description: Org-scoped geographic areas the route optimizer must avoid traversing.
    x-nash-topic: config
  - name: Users
    description: User, role, and organization-membership management.
    x-nash-topic: config
paths:
  /v1/zones/query:
    post:
      tags:
        - Zones
      summary: Query zones
      description: >-
        Return full zone details for many zones in a single call. Filter by
        `ids` and/or `externalIds` (combined with OR); omit both to page through
        all of the organization's zones. Results come back under `data` with
        pagination under `meta`; each `data` item matches the shape of `GET
        /v1/zones/<id>`.
      operationId: zones_v1_query_zones_route_query_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ZonesQueryRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZonesQueryResponse'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NashValidationError'
components:
  schemas:
    ZonesQueryRequest:
      title: ZonesQueryRequest
      type: object
      properties:
        ids:
          title: Ids
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Nash zone ids to fetch (max 500). Combined with `externalIds` using
            OR. Omit to not filter by id; an empty list matches nothing.
          default: null
          example:
            - zone_BBVtiSryYx34xCskjb2WmA
        externalIds:
          title: Externalids
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Your external zone ids to fetch (max 500). Combined with `ids` using
            OR. Omit to not filter by external id; an empty list matches
            nothing.
          default: null
          example:
            - 7810BBTORQ
        isDeleted:
          title: Isdeleted
          type: boolean
          description: When true, return soft-deleted zones instead of active ones.
          default: false
        size:
          title: Size
          type: integer
          description: >-
            Page size, 1 to 500. Requests above 500 return a
            ZONE_BULK_LIMIT_EXCEEDED error.
          default: 100
        offset:
          title: Offset
          type: integer
          description: Number of zones to skip, for paging through the full result set.
          default: 0
      description: |-
        Body for `POST /v1/zones/query`.

        `ids` and `externalIds` are optional and combined with OR. Omit both to
        page through every zone in the organization; a provided but empty list
        matches nothing.
      example:
        externalIds:
          - 7810BBTORQ
          - 7810BBWAUR
        isDeleted: false
        offset: 0
        size: 100
    ZonesQueryResponse:
      title: ZonesQueryResponse
      required:
        - data
        - meta
      type: object
      properties:
        data:
          title: Data
          type: array
          items:
            $ref: '#/components/schemas/ZoneDetailRead'
          description: Rows for this page, in a deterministic order.
        meta:
          $ref: '#/components/schemas/PageMeta'
          description: Pagination metadata.
      description: >-
        Paginated zones, in created-at order. `data` items match `GET
        /v1/zones/<id>`.
    NashValidationError:
      title: NashValidationError
      required:
        - error
        - response_status
        - RequestID
      type: object
      properties:
        error:
          $ref: '#/components/schemas/NashErrorDetails'
        response_status:
          title: Response Status
          type: string
        RequestID:
          title: Requestid
          type: string
    ZoneDetailRead:
      title: ZoneDetailRead
      required:
        - id
      type: object
      properties:
        id:
          title: Id
          type: string
          description: Nash zone id.
        name:
          title: Name
          anyOf:
            - type: string
            - type: 'null'
          description: Zone name.
          default: null
        externalId:
          title: Externalid
          anyOf:
            - type: string
            - type: 'null'
          description: Your external id for the zone.
          default: null
        portalUrl:
          title: Portalurl
          anyOf:
            - type: string
            - type: 'null'
          description: Nash portal URL for the zone.
          default: null
        coverageArea:
          anyOf:
            - $ref: '#/components/schemas/ZoneCoverageAreaRead'
            - type: 'null'
          description: Geographic area the zone covers.
          default: null
        storeLocations:
          title: Storelocations
          type: array
          items:
            $ref: '#/components/schemas/ZoneStoreLocationRead'
          description: Store locations associated with the zone.
        storeLocationAssociations:
          title: Storelocationassociations
          type: array
          items:
            $ref: '#/components/schemas/ZoneStoreLocationAssociationRead'
          description: Store-location links with optional active date ranges.
        tags:
          title: Tags
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: Free-form tags on the zone.
          default: null
        zoneMetadata:
          title: Zonemetadata
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: Arbitrary key-value metadata stored on the zone.
          default: null
        isDeleted:
          title: Isdeleted
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the zone is soft-deleted.
          default: null
      description: Full detail for a single zone. Same shape as `GET /v1/zones/<id>`.
    PageMeta:
      title: PageMeta
      required:
        - total
        - size
        - offset
      type: object
      properties:
        total:
          title: Total
          type: integer
          description: >-
            Total rows matching the filter across all pages, ignoring size and
            offset.
          example: 137
        size:
          title: Size
          type: integer
          description: Page size used for this response.
          example: 100
        offset:
          title: Offset
          type: integer
          description: Offset used for this response.
          example: 0
      description: Offset-pagination metadata for a single page of a query response.
    NashErrorDetails:
      title: NashErrorDetails
      required:
        - code
        - message
      type: object
      properties:
        code:
          title: Code
          type: string
        message:
          title: Message
          type: string
        details:
          title: Details
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          default: null
    ZoneCoverageAreaRead:
      title: ZoneCoverageAreaRead
      required:
        - id
      type: object
      properties:
        id:
          title: Id
          type: string
          description: Nash coverage area id.
        cityZipcodes:
          title: Cityzipcodes
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: City and zip code pairs covered.
          default: null
        zipCodes:
          title: Zipcodes
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: Zip codes covered.
          default: null
        cities:
          title: Cities
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: Cities covered.
          default: null
        states:
          title: States
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: States or regions covered.
          default: null
        countries:
          title: Countries
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: Two-letter ISO country codes covered.
          default: null
        polygons:
          title: Polygons
          type: array
          items:
            $ref: '#/components/schemas/ZonePolygonRead'
          description: Geometry boundaries attached to this coverage area.
    ZoneStoreLocationRead:
      title: ZoneStoreLocationRead
      required:
        - id
      type: object
      properties:
        id:
          title: Id
          type: string
          description: Nash store location id.
        externalId:
          title: Externalid
          anyOf:
            - type: string
            - type: 'null'
          description: Your external id for the store location.
          default: null
        name:
          title: Name
          anyOf:
            - type: string
            - type: 'null'
          description: Store location name.
          default: null
        firstName:
          title: Firstname
          anyOf:
            - type: string
            - type: 'null'
          description: Contact first name.
          default: null
        lastName:
          title: Lastname
          anyOf:
            - type: string
            - type: 'null'
          description: Contact last name.
          default: null
        phoneNumber:
          title: Phonenumber
          anyOf:
            - type: string
            - type: 'null'
          description: Contact phone number.
          default: null
        email:
          title: Email
          anyOf:
            - type: string
            - type: 'null'
          description: Contact email.
          default: null
        pickupInstructions:
          title: Pickupinstructions
          anyOf:
            - type: string
            - type: 'null'
          description: Pickup instructions for couriers.
          default: null
        prepTimeMinutes:
          title: Preptimeminutes
          anyOf:
            - type: integer
            - type: 'null'
          description: Order preparation time in minutes.
          default: null
        blackoutDates:
          title: Blackoutdates
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: Dates (YYYY-MM-DD) the store is closed.
          default: null
        operatingHours:
          title: Operatinghours
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: Per-weekday opening hours, keyed by day name.
          default: null
        tags:
          title: Tags
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: Free-form tags on the store location.
          default: null
        location:
          anyOf:
            - $ref: '#/components/schemas/ZoneLocationRead'
            - type: 'null'
          description: Address and coordinates of the store.
          default: null
    ZoneStoreLocationAssociationRead:
      title: ZoneStoreLocationAssociationRead
      required:
        - storeLocationId
      type: object
      properties:
        storeLocationId:
          title: Storelocationid
          type: string
          description: Nash id of the associated store location.
        startDate:
          title: Startdate
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Start of the window during which the association is active (null =
            always).
          default: null
        endDate:
          title: Enddate
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            End of the window during which the association is active (null =
            open-ended).
          default: null
    ZonePolygonRead:
      title: ZonePolygonRead
      required:
        - id
      type: object
      properties:
        id:
          title: Id
          type: string
          description: Nash polygon id.
        polygonData:
          title: Polygondata
          anyOf:
            - type: array
              items:
                type: array
                items:
                  type: number
            - type: 'null'
          description: >-
            Closed ring of [latitude, longitude] coordinate pairs defining the
            boundary.
          default: null
    ZoneLocationRead:
      title: ZoneLocationRead
      type: object
      properties:
        address:
          title: Address
          anyOf:
            - type: string
            - type: 'null'
          description: Single-line formatted address of the store location.
          default: null
        addressFirstLine:
          title: Addressfirstline
          anyOf:
            - type: string
            - type: 'null'
          description: Street line of the address.
          default: null
        addressSecondarynumber:
          title: Addresssecondarynumber
          anyOf:
            - type: string
            - type: 'null'
          description: Secondary number (unit, suite) if any.
          default: null
        addressCity:
          title: Addresscity
          anyOf:
            - type: string
            - type: 'null'
          description: City.
          default: null
        addressCountry:
          title: Addresscountry
          anyOf:
            - type: string
            - type: 'null'
          description: Two-letter ISO country code.
          default: null
        addressState:
          title: Addressstate
          anyOf:
            - type: string
            - type: 'null'
          description: State or region.
          default: null
        addressZip:
          title: Addresszip
          anyOf:
            - type: string
            - type: 'null'
          description: Postal code.
          default: null
        lat:
          title: Lat
          anyOf:
            - type: number
            - type: 'null'
          description: Latitude.
          default: null
        lng:
          title: Lng
          anyOf:
            - type: number
            - type: 'null'
          description: Longitude.
          default: null

````