---
title: "Calculate Linear Placements"
method: POST
path: "/v1/structures/{structure_id}/linear_placements/calculate"
tags: ["structures"]
---

# Calculate Linear Placements

`POST /v1/structures/{structure_id}/linear_placements/calculate`

## 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/calculate`
- Auth: OAuth 2
  - Password
  - Token URL: `/v1/auth`

This endpoint previews the equivalent rows of placements before they are
saved, or lists why they can't be analysed.

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

- LinearPlacementCalculationView
  - `issues` string[], required
  - `coverWeightsKgPerM` object
  - `misplacedIds` string[]
  - `rows` LinearEquivalentRowView[], required
    - `placementId` string, required
    - `name` string, required
    - `startAtM` number, required
    - `endAtM` number, required
    - `widthMm` number, required
    - `depthMm` number, required
    - `weightKgPerM` number, required
    - `forceCoefficientFront` number, required
    - `forceCoefficientSide` number, required
  - `tenantColors` object

## Other responses

- `404`: Not Found
- `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)
