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

# Create Zone Set

> Adds a zone set to a submission: its locations zoned by a zone scheme, which annotates each location with the zone set's zones. A small schedule is zoned while handling the request (201, `status` C or F); a larger one is zoned in the background (202, `status` P): poll the zone set (`GET .../zone-sets/{uuid}`) until its `status` is C (completed) or F (failed). Refresh the locations once it's C. The zone scheme must be one of the submission's policy terms config's `available_zone_schemes`, with zone sets enabled. Without a name, the zone set is named after its zone scheme. A number is added to a name the submission already has, unless that zone set's zoning failed: then it's taken over (keeping its uuid) with the new zone scheme and zoned again. If a zone set with the name is still being zoned with the same zone scheme, that zone set is returned (202) instead of zoning another; with a different zone scheme, it's a 400.



## OpenAPI

````yaml https://vision.pingintel.com/api/schema/?format=json post /api/v1/submission/{pingid}/cat/zone-sets
openapi: 3.0.3
info:
  title: Ping.Vision API
  version: v1.0
  description: >
    ### Ping.Vision API


    This API provides convenient, efficient access to Ping Intel's data and
    services. It is designed to be used by developers and data scientists to
    integrate Ping Intel's capabilities into their applications.


    Once SSO is set up with your organization, you can create an Organization or
    Personal API key at https://auth.pingintel.com/org.


    Please see the Python client library
    [pingintel-api](https://pypi.org/project/pingintel-api/) for commandline
    tools and programmatic access, and you

    can refer to the following documentation for details on interacting with the
    system via the HTTP API.
  contact:
    email: support@pingintel.com
    name: Ping Intel
    url: https://www.pingintel.com
servers:
  - url: https://vision.pingintel.com
    description: Ping.Vision API
  - url: https://vision.staging.pingintel.com
    description: Ping.Vision API (staging)
security: []
tags:
  - name: Create Submission
    description: The Create Submission API allows you to add new data into the system.
  - name: Get Submission Data
    description: >-
      The Get Submission Data API lets you list and look up submissions, track
      their events, download their documents, and generate or retrieve their
      outputs.
  - name: Update Submission
    description: >-
      The Update Submission API provides various endpoints to update, modify, or
      act upon existing submissions.
  - name: CAT Modeling
    description: >-
      The CAT Modeling API manages catastrophe modeling setup for a submission:
      coverage options, peril groups, layer structures, and modeling options. It
      also generates Acc/Loc files for CAT models.
  - name: User Memberships
    description: >-
      The User Memberships API allows you to add, remove, and change the role of
      users in different teams, divisions, or companies.
  - name: Reference Data
    description: >-
      The Reference Data API lists lookup values used by other endpoints, such
      as the submission statuses available to a division.
  - name: Account
    description: >-
      The Account API returns information about the authenticated user: their
      identity, permissions, and sitewide settings.
paths:
  /api/v1/submission/{pingid}/cat/zone-sets:
    post:
      tags:
        - CAT Modeling
      summary: Create Zone Set
      description: >-
        Adds a zone set to a submission: its locations zoned by a zone scheme,
        which annotates each location with the zone set's zones. A small
        schedule is zoned while handling the request (201, `status` C or F); a
        larger one is zoned in the background (202, `status` P): poll the zone
        set (`GET .../zone-sets/{uuid}`) until its `status` is C (completed) or
        F (failed). Refresh the locations once it's C. The zone scheme must be
        one of the submission's policy terms config's `available_zone_schemes`,
        with zone sets enabled. Without a name, the zone set is named after its
        zone scheme. A number is added to a name the submission already has,
        unless that zone set's zoning failed: then it's taken over (keeping its
        uuid) with the new zone scheme and zoned again. If a zone set with the
        name is still being zoned with the same zone scheme, that zone set is
        returned (202) instead of zoning another; with a different zone scheme,
        it's a 400.
      operationId: api_v1_submission_cat_zone_sets_create
      parameters:
        - in: path
          name: pingid
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ZoneSetCreate'
            examples:
              CreateRequest:
                value:
                  zone_scheme: zone_scheme:zurich:v1
                  name: Zurich
                summary: Create request
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ZoneSetCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ZoneSetCreate'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneSetList'
              examples:
                CreatedAndZoned:
                  value:
                    uuid: 019dd58e-eb2a-7958-8070-570003e4ee44
                    name: Zurich
                    zone_scheme: zone_scheme:zurich:v1
                    status: C
                    status_message: null
                    location_count: 120
                    modified_time: '2026-04-29T02:10:01.000000Z'
                    created_time: '2026-04-29T02:10:00.000000Z'
                  summary: Created and zoned
          description: ''
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneSetList'
              examples:
                Created,ZoningInTheBackground:
                  value:
                    uuid: 019dd58e-eb2a-7958-8070-570003e4ee44
                    name: Zurich
                    zone_scheme: zone_scheme:zurich:v1
                    status: P
                    status_message: null
                    location_count: null
                    modified_time: '2026-04-29T02:10:00.000000Z'
                    created_time: '2026-04-29T02:10:00.000000Z'
                  summary: Created, zoning in the background
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
              examples:
                NameStillBeingZonedWithAnotherZoneScheme:
                  value:
                    name:
                      - A zone set with this name is still being zoned.
                  summary: Name still being zoned with another zone scheme
                ZoneSchemeNotAvailable:
                  value:
                    zone_scheme:
                      - >-
                        Zone scheme 'zone_scheme:zurich:v1' isn't available for
                        this submission.
                  summary: Zone scheme not available
          description: ''
      security:
        - authorization_header: []
components:
  schemas:
    ZoneSetCreate:
      type: object
      properties:
        zone_scheme:
          type: string
          description: >-
            Name of the zone scheme the zone set uses, e.g.
            'zone_scheme:zurich:v1'; one of the policy terms config's
            `available_zone_schemes`.
        name:
          type: string
          description: >-
            Defaults to the zone scheme's label. A number is added if the
            submission already has the name, unless that zone set's zoning
            failed: then it's taken over.
          maxLength: 100
      required:
        - zone_scheme
    ZoneSetList:
      type: object
      properties:
        created_time:
          type: string
          format: date-time
          readOnly: true
        modified_time:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        name:
          type: string
          maxLength: 100
        status:
          enum:
            - P
            - I
            - C
            - F
          type: string
          x-spec-enum-id: 872b66d61dcde43a
          readOnly: true
          description: >-
            Whether the zone set's zones have been assigned to the submission's
            locations: P (pending), I (in progress), C (completed; refresh the
            locations to see them) or F (failed, see `status_message`).


            * `P` - Pending

            * `I` - In Progress

            * `C` - Completed

            * `F` - Failed
        uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
          description: UUID of the zone set
        zone_scheme:
          type: string
          description: >-
            Name of the zone scheme the zone set uses, e.g.
            'zone_scheme:zurich:v1'.
          maxLength: 100
        location_count:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
          description: How many locations were zoned.
        status_message:
          type: string
          nullable: true
          description: Why zoning the locations failed.
      required:
        - created_time
        - modified_time
        - name
        - status
        - uuid
        - zone_scheme
  securitySchemes:
    authorization_header:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Supports `Token `-prefixed API keys and `Bearer `-prefixed JWT-based
        authentication.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.