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

# Duplicate Layer Structure

> Creates a full copy of a layer structure, including all of its layers. If `name` is omitted, the source's name is reused; if that name is already in use on this submission, a numeric suffix is appended (e.g. `Structure 1 2`).



## OpenAPI

````yaml https://vision.dev.pingintel.com/api/schema/?format=json post /api/v1/submission/{pingid}/cat/layer-structures/{uuid}/duplicate
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: Update Submission
    description: >-
      The Update Submission API provides various endpoints to update, modify, or
      act upon existing submissions.
  - name: Get Submission Data
    description: ''
  - 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: Miscellaneous
    description: ''
paths:
  /api/v1/submission/{pingid}/cat/layer-structures/{uuid}/duplicate:
    post:
      tags:
        - CAT Modeling
      summary: Duplicate Layer Structure
      description: >-
        Creates a full copy of a layer structure, including all of its layers.
        If `name` is omitted, the source's name is reused; if that name is
        already in use on this submission, a numeric suffix is appended (e.g.
        `Structure 1 2`).
      operationId: api_v1_submission_cat_layer_structures_duplicate_create
      parameters:
        - in: path
          name: pingid
          schema:
            type: string
          required: true
        - in: path
          name: uuid
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LayerStructureDuplicateRequest'
            examples:
              DuplicateRequest:
                value:
                  name: Structure 1 (copy)
                summary: Duplicate request
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LayerStructureDuplicateRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LayerStructureDuplicateRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LayerStructureDetail'
              examples:
                Duplicated:
                  value:
                    uuid: 019def23-4b85-7ecb-a65c-98a92cf67f70
                    name: Structure 1 2
                    modified_time: '2026-04-29T03:10:00.000000Z'
                    created_time: '2026-04-29T03:10:00.000000Z'
                    layers:
                      - uuid: 019def23-4b85-7ecb-a65c-98a92cf67f71
                        name: Primary 25
                        included: true
                        attachment: null
                        limit: 25000000
                        participation_amount: null
                        participation_percent: null
                        premium: null
          description: ''
      security:
        - authorization_header: []
components:
  schemas:
    LayerStructureDuplicateRequest:
      type: object
      properties:
        name:
          type: string
          description: Name for the new layer structure. Defaults to the source name.
    LayerStructureDetail:
      type: object
      properties:
        created_time:
          type: string
          format: date-time
          readOnly: true
        layers:
          type: array
          items:
            $ref: '#/components/schemas/Layer'
        modified_time:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        name:
          type: string
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
          description: UUID of the policy terms layer structure
      required:
        - created_time
        - layers
        - modified_time
        - name
        - uuid
    Layer:
      type: object
      properties:
        attachment:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          readOnly: true
          nullable: true
        included:
          type: boolean
          readOnly: true
        limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          readOnly: true
          nullable: true
        name:
          type: string
          readOnly: true
        participation_amount:
          type: integer
        participation_percent:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
          readOnly: true
          nullable: true
        premium:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          readOnly: true
          nullable: true
        uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
          description: UUID of the layer
      required:
        - attachment
        - included
        - limit
        - name
        - participation_amount
        - participation_percent
        - premium
        - uuid
  securitySchemes:
    authorization_header:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Supports `Token `-prefixed API keys and `Bearer `-prefixed JWT-based
        authentication.

````