---
title: "Put Linear Placements"
method: PUT
path: "/v1/structures/{structure_id}/linear_placements"
tags: ["structures"]
---

# Put Linear Placements

`PUT /v1/structures/{structure_id}/linear_placements`

## 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/structures/{structure_id}/linear_placements`
- Auth: OAuth 2
  - Password
  - Token URL: `/v1/auth`

This endpoint makes the site's detailed linear ancillaries the ones in the
request body, matched by id: missing ones are removed and unknown ids are
added. Contents name their route by its id, which may be a new one. Each
placement's equivalent rows (a route split by height where its contents
change) replace the previous ones in the site's linear ancillaries.

## Path parameters

- `structure_id` string, required

## Request body

- StructureLinearPlacementInput[]
  - `id` string, required
  - `linearAncillaryId` integer, required
  - `parentId` string, nullable
  - `tenantId` integer, nullable
  - `startAtM` number, required
  - `endAtM` number, required
  - `azimuthDeg` number, nullable
  - `shieldingFactor` number, nullable
  - `latticeMountingLegsIndices` integer[], nullable
  - `fromLeftMm` number, nullable
  - `fromFloorMm` number, nullable
  - `status` 'INSTALLED' | 'PLANNED' | 'REMOVED' | 'UNKNOWN' | 'MARKED FOR REMOVAL'
  - `clampWeightKgPerM` number
  - `cover` LadderCover: A flat steel sheet over an access ladder's face from start to end, usually at its foot to stop people climbing.
    - `startAtM` number, required
    - `endAtM` number, required
    - `thicknessMm` number, required
    - `customWeightKgPerM` number, nullable
  - `shouldAnalyse` boolean
  - `name` string, nullable

## Response `200`

Successful Response

- StructureLinearPlacementView[]
  - `id` string, required
  - `linearAncillaryId` integer, required
  - `parentId` string, nullable, required
  - `tenantId` integer, nullable, required
  - `tenantName` string, nullable, required
  - `startAtM` number, required
  - `endAtM` number, required
  - `azimuthDeg` number, nullable, required
  - `shieldingFactor` number, nullable, required
  - `latticeMountingLegsIndices` integer[], nullable, required
  - `fromLeftMm` number, nullable, required
  - `fromFloorMm` number, nullable, required
  - `status` 'INSTALLED' | 'PLANNED' | 'REMOVED' | 'UNKNOWN' | 'MARKED FOR REMOVAL', required
  - `clampWeightKgPerM` number, required
  - `cover` LadderCover, required: A flat steel sheet over an access ladder's face from start to end, usually at its foot to stop people climbing.
    - `startAtM` number, required
    - `endAtM` number, required
    - `thicknessMm` number, required
    - `customWeightKgPerM` number, nullable
  - `shouldAnalyse` boolean, required
  - `name` string, nullable

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