---
title: "Get Shelters By Structure Id"
method: GET
path: "/v1/structures/{structure_id}/shelters"
tags: ["structures"]
---

# Get Shelters By Structure Id

`GET /v1/structures/{structure_id}/shelters`

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

This endpoint retrieves the equipment shelters of a structure. Shelters
are ground buildings next to the tower and never contribute load to it.
Null x/y/rotation means the shelter is auto-positioned 3 m from the tower
base on the face-1 azimuth.

## Path parameters

- `structure_id` string, required

## Response `200`

Successful Response

- StructureShelterView[]
  - `id` integer, required
  - `structureId` integer, required
  - `shelterDefinitionId` integer, required
  - `name` string, required
  - `widthM` number, required
  - `depthM` number, required
  - `heightM` number, required
  - `roofHeightM` number, required
  - `xM` number, nullable
  - `yM` number, nullable
  - `rotationDEG` number, nullable
  - `doorWall` 'FRONT' | 'BACK' | 'LEFT' | 'RIGHT': Which shelter wall the door, or the feeder tray, sits in. Named from the shelter's own shape rather than the site: the duopitch ridge runs along the width axis, so FRONT and BACK are the gable ends and LEFT and RIGHT are the long eave walls. In shelter-local axes (x along the width, y along the depth), the wall each name refers to is: - FRONT: the +x gable end - BACK: the -x gable end - LEFT: the -y long wall - RIGHT: the +y long wall shelter_wall_axes in app/modules/geometry_definitions/shelter/position.py is the single source of these directions; keep the two in step. Alembic does not detect changes in enums, so the enum constraint has to be manually migrated when changing this enum
  - `doorOffsetM` number, nullable
  - `doorWidthM` number, nullable
  - `trayWall` 'FRONT' | 'BACK' | 'LEFT' | 'RIGHT': Which shelter wall the door, or the feeder tray, sits in. Named from the shelter's own shape rather than the site: the duopitch ridge runs along the width axis, so FRONT and BACK are the gable ends and LEFT and RIGHT are the long eave walls. In shelter-local axes (x along the width, y along the depth), the wall each name refers to is: - FRONT: the +x gable end - BACK: the -x gable end - LEFT: the -y long wall - RIGHT: the +y long wall shelter_wall_axes in app/modules/geometry_definitions/shelter/position.py is the single source of these directions; keep the two in step. Alembic does not detect changes in enums, so the enum constraint has to be manually migrated when changing this enum
  - `trayOffsetM` number, nullable
  - `partitionOffsetM` number, nullable
  - `partitionDoorWidthM` number, nullable
  - `partitionDoorOffsetM` number, nullable
  - `partitionHasDoor` boolean
  - `isPositionManual` boolean, required

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