---
title: "Duplicate Linear Ancillary"
method: POST
path: "/v1/ancillaries/linear/{item_id}/duplicate"
tags: ["ancillaries"]
---

# Duplicate Linear Ancillary

`POST /v1/ancillaries/linear/{item_id}/duplicate`

## Request

- Base URL: `https://api.shapemaker.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.shapemaker.io/v1/ancillaries/linear/{item_id}/duplicate`
- Auth: OAuth 2
  - Password
  - Token URL: `/v1/auth`

This endpoint copies a library item under the name "<name> (copy)", with
its values and geometry as they are.

## Path parameters

- `item_id` integer, required

## Response `201`

Successful Response

- LinearAncillaryView
  - `id` integer, required
  - `name` string, required
  - `type` 'single_feeder' | 'feeder_cluster' | 'route' | 'ladder', required
  - `createdBy` string, required
  - `widthMm` number, required
  - `depthMm` number, required
  - `weightKgPerM` number, required
  - `geometry` union, required
    - SingleFeederGeometry
      - `kind` 'single_feeder'
      - `diameterMm` number, required
      - `weightKgPerM` number, required
      - `customForceCoefficient` number, nullable
    - FeederClusterGeometry: A bundle of one single feeder from the library, defined with the ancillary groups.
      - `kind` 'feeder_cluster'
      - `feederId` integer, required
      - `gapMm` number
      - `arrangement` union, required
        - RectangularArrangement
          - `shape` 'rectangular'
          - `rows` integer, required
          - `cols` integer, required
          - `cells` array[], required
            - unknown[]
              - …
        - CircularArrangement
          - `shape` 'circular'
          - `count` integer, required
      - `customForceCoefficient` number, nullable
    - FeederLayoutGeometry: A feeder group: a feeder cluster put together from single feeders and other clusters in the library, each placed across the group's section.
      - `kind` 'feeder_layout'
      - `members` ClusterMember[], required
        - `itemId` integer, required
        - `fromLeftMm` number
        - `fromFloorMm` number
        - `clampWeightKgPerM` number
      - `customForceCoefficients` CustomForceCoefficients: Custom force coefficients on a member's width (W, front wind) and depth (D, side wind). Blank ones follow the site's design standard.
        - `front` number, nullable
        - `side` number, nullable
    - CableTrayGeometry: A route kind: the empty tray. What it holds is placed on each site.
      - `kind` 'cable_tray'
      - `trayWidthMm` number, required
      - `trayDepthMm` number
      - `trayWeightKgPerM` number
      - `solidityRatio` number
      - `sideSolidityRatio` number
      - `customForceCoefficients` CustomForceCoefficients: Custom force coefficients on a member's width (W, front wind) and depth (D, side wind). Blank ones follow the site's design standard.
        - `front` number, nullable
        - `side` number, nullable
    - RungsOnlyGeometry: A route kind: rungs on equally spaced brackets, the feeders clamped to them.
      - `kind` 'rungs_only'
      - `rungLengthMm` number, required
      - `rung` union, required
        - RoundBarSection
          - `shape` 'round_bar'
          - `diameterMm` number, required
        - FlatBarSection: width_mm faces the front wind, depth_mm the side wind.
          - `shape` 'flat_bar'
          - `widthMm` number, required
          - `depthMm` number, required
        - AngleSection
          - `shape` 'angle'
          - `widthMm` number, required
          - `depthMm` number, required
          - `thicknessMm` number, required
      - `rungSpacingMm` number, required
      - `rungForceCoefficients` CustomForceCoefficients: Custom force coefficients on a member's width (W, front wind) and depth (D, side wind). Blank ones follow the site's design standard.
        - `front` number, nullable
        - `side` number, nullable
      - `customWeightKgPerM` number, nullable
    - CableLadderGeometry: A route kind: a ladder the feeders run on, its stiles outside the rungs.
      - `kind` 'cable_ladder'
      - `rungLengthMm` number, required
      - `rungSpacingMm` number, required
      - `stile` union, required
        - RoundBarSection
          - `shape` 'round_bar'
          - `diameterMm` number, required
        - FlatBarSection: width_mm faces the front wind, depth_mm the side wind.
          - `shape` 'flat_bar'
          - `widthMm` number, required
          - `depthMm` number, required
        - AngleSection
          - `shape` 'angle'
          - `widthMm` number, required
          - `depthMm` number, required
          - `thicknessMm` number, required
      - `rung` union, required
        - RoundBarSection
          - `shape` 'round_bar'
          - `diameterMm` number, required
        - FlatBarSection: width_mm faces the front wind, depth_mm the side wind.
          - `shape` 'flat_bar'
          - `widthMm` number, required
          - `depthMm` number, required
        - AngleSection
          - `shape` 'angle'
          - `widthMm` number, required
          - `depthMm` number, required
          - `thicknessMm` number, required
      - `stileForceCoefficients` CustomForceCoefficients: Custom force coefficients on a member's width (W, front wind) and depth (D, side wind). Blank ones follow the site's design standard.
        - `front` number, nullable
        - `side` number, nullable
      - `rungForceCoefficients` CustomForceCoefficients: Custom force coefficients on a member's width (W, front wind) and depth (D, side wind). Blank ones follow the site's design standard.
        - `front` number, nullable
        - `side` number, nullable
      - `customWeightKgPerM` number, nullable
    - LadderGeometryOutput: An access ladder: stiles outside the rungs, or rungs alone fixed to the structure, with an optional cage and fall arrest.
      - `kind` 'ladder'
      - `ladderType` 'standard' | 'rungs_only' | 'cage', required
      - `rungLengthMm` number, required
      - `stile` union
        - RoundBarSection
          - `shape` 'round_bar'
          - `diameterMm` number, required
        - FlatBarSection: width_mm faces the front wind, depth_mm the side wind.
          - `shape` 'flat_bar'
          - `widthMm` number, required
          - `depthMm` number, required
        - AngleSection
          - `shape` 'angle'
          - `widthMm` number, required
          - `depthMm` number, required
          - `thicknessMm` number, required
      - `rung` union, required
        - RoundBarSection
          - `shape` 'round_bar'
          - `diameterMm` number, required
        - FlatBarSection: width_mm faces the front wind, depth_mm the side wind.
          - `shape` 'flat_bar'
          - `widthMm` number, required
          - `depthMm` number, required
        - AngleSection
          - `shape` 'angle'
          - `widthMm` number, required
          - `depthMm` number, required
          - `thicknessMm` number, required
      - `rungSpacingMm` number, required
      - `stileForceCoefficients` CustomForceCoefficients: Custom force coefficients on a member's width (W, front wind) and depth (D, side wind). Blank ones follow the site's design standard.
        - `front` number, nullable
        - `side` number, nullable
      - `rungForceCoefficients` CustomForceCoefficients: Custom force coefficients on a member's width (W, front wind) and depth (D, side wind). Blank ones follow the site's design standard.
        - `front` number, nullable
        - `side` number, nullable
      - `cage` LadderCage: Each hoop leaves the outside of a stile, runs straight out to the cage width (diameter_mm), rounds the back in a semicircle and returns to the other stile. depth_mm runs from the rungs to the back of the cage, at least half the width.
        - `diameterMm` number, required
        - `depthMm` number, required
        - `hoopSpacingMm` number, required
        - `hoopWidthMm` number, required
        - `hoopThicknessMm` number, required
        - `verticalBarCount` integer, required
        - `verticalBarWidthMm` number, required
        - `verticalBarThicknessMm` number, required
      - `fallArrest` LadderFallArrest
        - `section` union, required
          - WireRopeSection
            - `shape` 'wire_rope'
            - `diameterMm` number, required
          - ChannelSection: A fall arrest rail: its web lies against the rungs, its flanges point at the climber.
            - `shape` 'channel'
            - `webMm` number, required
            - `flangeMm` number, required
            - `thicknessMm` number, required
        - `forceCoefficients` CustomForceCoefficients: Custom force coefficients on a member's width (W, front wind) and depth (D, side wind). Blank ones follow the site's design standard.
          - `front` number, nullable
          - `side` number, nullable
      - `customWeightKgPerM` number, nullable
  - `calculation` LinearAncillaryCalculationResult, required
    - `widthMm` number, required
    - `depthMm` number, required
    - `weightKgPerM` number, required
    - `iceProfile` IceProfile, required: Iced projections and ice volume of one metre of the ancillary, as polynomials of the ice thickness so each analysis evaluates them at its own local thickness. The ice volume is the smallest of the candidates.
      - `frontMm` IcePolynomial, required: c0 + c1·t + c2·t², t being the radial ice thickness in mm.
        - `c0` number
        - `c1` number
        - `c2` number
      - `sideMm` IcePolynomial, required: c0 + c1·t + c2·t², t being the radial ice thickness in mm.
        - `c0` number
        - `c1` number
        - `c2` number
      - `iceVolumeMm3PerM` IcePolynomial[], required
        - `c0` number
        - `c1` number
        - `c2` number
    - `feeders` FeederPoint[]
      - `xMm` number, required
      - `yMm` number, required
      - `diameterMm` number, required
    - `extentWidthMm` number
    - `extentDepthMm` number
    - `pitchMm` number, nullable
    - `rungsPerM` number, nullable
    - `solidityRatio` number, nullable
    - `calculatedWeightKgPerM` number, nullable
    - `drawing` LinearDrawing
      - `widthMm` number, required
      - `heightMm` number, required
      - `shapes` LinearDrawingShape[], required
        - `kind` 'circle' | 'rect' | 'polygon' | 'polyline', required
        - `tone` 'stile' | 'rung' | 'cage' | 'cage_bar' | 'fall_arrest', required
        - `xMm` number, required
        - `yMm` number, required
        - `widthMm` number, required
        - `heightMm` number, required
        - `rotationDeg` number
        - `strokeMm` number, nullable
        - `ringsMm` array[]
          - array[]
            - unknown[]
              - …
      - `dimensions` LinearDrawingDimension[]
        - `side` 'bottom' | 'left' | 'right', required
        - `tier` integer
        - `startXMm` number, required
        - `startYMm` number, required
        - `endXMm` number, required
        - `endYMm` number, required
      - `notes` LinearDrawingNote[]
        - `xMm` number, required
        - `yMm` number, required
        - `text` string, required
    - `frontView` LinearDrawing
      - `widthMm` number, required
      - `heightMm` number, required
      - `shapes` LinearDrawingShape[], required
        - `kind` 'circle' | 'rect' | 'polygon' | 'polyline', required
        - `tone` 'stile' | 'rung' | 'cage' | 'cage_bar' | 'fall_arrest', required
        - `xMm` number, required
        - `yMm` number, required
        - `widthMm` number, required
        - `heightMm` number, required
        - `rotationDeg` number
        - `strokeMm` number, nullable
        - `ringsMm` array[]
          - array[]
            - unknown[]
              - …
      - `dimensions` LinearDrawingDimension[]
        - `side` 'bottom' | 'left' | 'right', required
        - `tier` integer
        - `startXMm` number, required
        - `startYMm` number, required
        - `endXMm` number, required
        - `endYMm` number, required
      - `notes` LinearDrawingNote[]
        - `xMm` number, required
        - `yMm` number, required
        - `text` string, required
  - `usedByIds` integer[], required
  - `isSiteCopy` boolean, required

## Other responses

- `400`: Bad Request
- `422`: Validation Error

---

[API](https://skmtc.dev/shapemaker/apis/shapemaker-api.md) - [All operations](https://skmtc.dev/shapemaker/apis/shapemaker-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shapemaker/apis/shapemaker-api/revisions/b8461cf1236c?raw)
