> ## 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.

# Create a zone

> Create a geographic zone defined by a polygon boundary. Zones are used to define delivery areas for store locations and apply zone-based restrictions.



## OpenAPI

````yaml post /v1/zones
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: Fleet Simulator
    description: Simulate delivery status transitions in dev and sandbox environments.
    x-nash-topic: testing
  - 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:
    post:
      tags:
        - Zones
      summary: Create a zone
      description: >-
        Create a geographic zone defined by a polygon boundary. Zones are used
        to define delivery areas for store locations and apply zone-based
        restrictions.
      operationId: create_zone_v1_zones_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateZoneInputSerializer'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResponse'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NashValidationError'
components:
  schemas:
    CreateZoneInputSerializer:
      title: CreateZoneInputSerializer
      type: object
      properties:
        externalId:
          title: Externalid
          anyOf:
            - type: string
            - type: 'null'
          description: Zone unique identifier from an external system.
          default: null
        name:
          title: Name
          anyOf:
            - type: string
            - type: 'null'
          description: The name of the zone.
          default: null
          example: Zone 1
        coverageAreaId:
          title: Coverageareaid
          anyOf:
            - type: string
            - type: 'null'
          description: The coverage area id to associate with the zone.
          default: null
        storeLocationIds:
          title: Storelocationids
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: The store location ids to associate with the zone.
          default: null
          example:
            - stl_01234567890123456789
            - stl_01234567890123456789
        storeLocationAssociations:
          title: Storelocationassociations
          anyOf:
            - type: array
              items:
                type: object
                additionalProperties: true
            - type: 'null'
          description: The store location associations to associate with the zone.
          default: null
          example:
            - end_date: '2025-01-01'
              start_date: '2024-01-01'
              store_location_id: stl_01234567890123456789
        tags:
          title: Tags
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: Free form tags specific to the location.
          default: null
          example: '[''service:rapid'', ''service:express'', ''franchise_location'']'
        zoneMetadata:
          title: Zonemetadata
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: The metadata of the zone.
          default: null
          example:
            key: value
      description: Expected payload for creating a zone.
    ZoneResponse:
      title: ZoneResponse
      required:
        - id
        - name
        - externalId
        - portalUrl
        - coverageArea
        - storeLocations
        - storeLocationAssociations
        - zoneRestrictions
        - tags
        - zoneMetadata
        - isDeleted
      type: object
      properties:
        id:
          title: Id
          type: string
          description: The ID of the zone.
          example: zone_01234567890123456789
        name:
          title: Name
          anyOf:
            - type: string
            - type: 'null'
          description: The name of the zone.
          example: Zone 1
        externalId:
          title: Externalid
          anyOf:
            - type: string
            - type: 'null'
          description: The external ID of the zone.
          example: ext_01234567890123456789
        portalUrl:
          title: Portalurl
          anyOf:
            - type: string
            - type: 'null'
          description: The portal URL of the zone.
          example: https://portal.usenash.com/settings/zones/zone_01234567890123456789
        coverageArea:
          title: Coveragearea
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: The coverage area of the zone.
          example:
            cities:
              - San Francisco
            cityZipcodes: []
            countries: []
            id: coa_01234567890123456789
            states: []
            zipCodes:
              - '94114'
        storeLocations:
          title: Storelocations
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/StoreLocationResponse'
            - type: 'null'
          description: The store locations of the zone.
          example:
            - blackoutDates: []
              email: ''
              externalId: ext_01234567890123456789
              firstName: Steve
              id: stl_01234567890123456789
              lastName: Kerr
              location:
                address: 120 E 34th St, New York, NY 10016, USA
                addressCity: New York
                addressCountry: US
                addressFirstLine: 120 E 34th St
                addressSecondarynumber: null
                addressState: NY
                addressZip: '10016'
                lat: 40.7463656
                lng: -73.9803215
              name: '10392'
              operatingHours:
                friday:
                  active: true
                  shifts: []
                monday:
                  active: true
                  shifts: []
                saturday:
                  active: true
                  shifts: []
                sunday:
                  active: true
                  shifts: []
                thursday:
                  active: true
                  shifts: []
                tuesday:
                  active: true
                  shifts: []
                wednesday:
                  active: true
                  shifts: []
              phoneNumber: '+16132525710'
              pickupInstructions: ''
              prepTimeMinutes: null
              tags: []
        storeLocationAssociations:
          title: Storelocationassociations
          anyOf:
            - type: array
              items:
                type: object
                additionalProperties: true
            - type: 'null'
          description: The store location associations of the zone.
          example:
            - endDate: '2025-01-01'
              startDate: '2024-01-01'
              storeLocationId: stl_01234567890123456789
        zoneRestrictions:
          title: Zonerestrictions
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/ZoneRestrictionResponse'
            - type: 'null'
          description: The zone restrictions of the zone.
          example:
            - id: res_01234567890123456789
              name: Zone Restriction 1
        tags:
          title: Tags
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: The tags of the zone.
          example:
            - service:rapid
            - franchise_location
        zoneMetadata:
          title: Zonemetadata
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: The metadata of the zone.
          example:
            key: value
        isDeleted:
          title: Isdeleted
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the zone is deleted.
          example: false
      description: Response for zone.
    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
    StoreLocationResponse:
      title: StoreLocationResponse
      required:
        - id
        - name
        - phoneNumber
        - location
        - zoneIds
        - zoneAssociations
        - tags
        - integrationMetadata
      type: object
      properties:
        externalId:
          title: Externalid
          anyOf:
            - type: string
            - type: 'null'
          description: Store location unique identifier from an external system.
          default: null
          example: '40123'
        operatingHours:
          title: Operatinghours
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            [Integration Specific]: An object with keys that correspond to days
            of week (monday, tuesday, etc) and their corresponding operating
            hours / delivery windows.
          default: null
          example:
            friday:
              active: true
              shifts:
                - - '10:00'
                  - '19:00'
            monday:
              active: true
              shifts:
                - - '10:00'
                  - '19:00'
            saturday:
              active: true
              shifts:
                - - '10:00'
                  - '19:00'
            sunday:
              active: true
              shifts:
                - - '11:00'
                  - '18:00'
            thursday:
              active: true
              shifts:
                - - '10:00'
                  - '19:00'
            tuesday:
              active: true
              shifts:
                - - '10:00'
                  - '19:00'
            wednesday:
              active: true
              shifts:
                - - '10:00'
                  - '19:00'
        prepTimeMinutes:
          title: Preptimeminutes
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            [Integration Specific]: the preparation time to apply for orders, if
            relying on Nash to compute the delivery windows. This only applies
            to specific integrations.
          default: null
        blackoutDates:
          title: Blackoutdates
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: The blackout dates of the store location.
          default: null
          example:
            - '2024-01-01'
            - '2024-01-02'
        firstName:
          title: Firstname
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            First name of the person at the store location. If unknown, pass
            'Manager'. Limited to 80 characters.
          default: null
          example: Taylor
        lastName:
          title: Lastname
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Last name of the person at the store location. If unknown, pass
            'Manager'. Limited to 80 characters.
          default: null
          example: Swift
        email:
          title: Email
          anyOf:
            - type: string
            - type: 'null'
          description: The email of the person at the store location.
          default: null
          example: taylor@swift.com
        pickupInstructions:
          title: Pickupinstructions
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The pickup instructions of the store location. Limited to 280
            characters. Nash Recommended Input: Order [insert order number] for
            [insert customer name] from [business name]
          default: null
          example: >-
            Once you arrive at the store, please click above to let us know you
            are here. Then, go ahead and find a sales associate inside - they'll
            be happy to help you!
        id:
          title: Id
          type: string
          description: The ID of the store location.
          example: stl_01234567890123456789
        name:
          title: Name
          type: string
          description: The name of the store location.
          example: White House
        phoneNumber:
          title: Phonenumber
          type: string
          description: The phone number of the person at the store location.
          example: '+1234567890'
        location:
          $ref: '#/components/schemas/ParsedAddressInputSerializer'
          description: The location of the store location.
        zoneIds:
          title: Zoneids
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: The zone ids of the store location.
          example:
            - zone_01234567890123456789
            - zone_01234567890123456789
        zoneAssociations:
          title: Zoneassociations
          anyOf:
            - type: array
              items:
                type: object
                additionalProperties: true
            - type: 'null'
          description: The zone associations of the store location.
          example:
            - end_date: '2025-01-01'
              start_date: '2024-01-01'
              store_location_id: stl_01234567890123456789
              zone_id: zone_01234567890123456789
        tags:
          title: Tags
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: The tags of the store location.
          example: '[''service:rapid'', ''franchise_location'']'
        integrationMetadata:
          title: Integrationmetadata
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: The integration metadata of the store location.
          example:
            integration_name: ABC
      description: Response for store location.
    ZoneRestrictionResponse:
      title: ZoneRestrictionResponse
      required:
        - id
        - externalId
        - name
        - isActive
        - restrictionMetadata
      type: object
      properties:
        id:
          title: Id
          type: string
          description: The ID of the zone restriction.
          example: res_01234567890123456789
        externalId:
          title: Externalid
          type: string
          description: The external ID of the zone restriction.
          example: ext_01234567890123456789
        name:
          title: Name
          type: string
          description: The name of the zone restriction.
          example: Zone Restriction 1
        isActive:
          title: Isactive
          type: boolean
          description: Whether the zone restriction is active.
          example: true
        restrictionMetadata:
          title: Restrictionmetadata
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: The metadata of the zone restriction.
          example:
            restriction_metadata:
              key: value
      description: Response for zone restriction.
    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
    ParsedAddressInputSerializer:
      title: ParsedAddressInputSerializer
      required:
        - street
        - city
        - country
      type: object
      properties:
        number:
          title: Number
          anyOf:
            - type: string
            - type: 'null'
          description: The number of the address.
          default: null
          example: '1600'
        secondaryNumber:
          title: Secondarynumber
          anyOf:
            - type: string
            - type: 'null'
          description: The secondary number of the address.
          default: null
          example: null
        street:
          title: Street
          type: string
          description: >-
            The street of the address. If your geocoding service does not split
            numbers from street names, you can pass the street name with the
            number in this field. Example: 1600 Pennsylvania Avenue NW.
          example: Pennsylvania Avenue NW
        county:
          title: County
          anyOf:
            - type: string
            - type: 'null'
          description: The county of the address.
          default: null
          example: Washington
        city:
          title: City
          type: string
          description: The city of the address.
          example: Washington
        state:
          title: State
          anyOf:
            - type: string
            - type: 'null'
          description: The state of the address.
          default: null
          example: DC
        postalCode:
          title: Postalcode
          anyOf:
            - type: string
            - type: 'null'
          description: The postal code of the address.
          default: null
          example: '20500'
        country:
          title: Country
          type: string
          description: The country of the address.
          example: US
        latitude:
          title: Latitude
          anyOf:
            - type: number
            - type: 'null'
          description: The latitude of the address.
          default: null
          example: 38.8948949
        longitude:
          title: Longitude
          anyOf:
            - type: number
            - type: 'null'
          description: The longitude of the address.
          default: null
          example: -77.0371581
      description: Parsed address input serializer for creating a job.

````