---
title: "Add Discrete Ancillaries From Group"
method: POST
path: "/v1/structures/{structure_id}/discrete_ancillaries/from-group"
tags: ["structures"]
---

# Add Discrete Ancillaries From Group

`POST /v1/structures/{structure_id}/discrete_ancillaries/from-group`

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

Applies a saved sector or elevation band group to the structure: one
discrete ancillary is created per group member, placed at the entered base
azimuth and height plus the member's stored offsets. The created rows are
plain ancillaries; later edits to the group do not affect them.

## Path parameters

- `structure_id` string, required

## Request body

- StructureDiscreteAncillariesFromGroupInput
  - `groupId` integer, required
  - `baseAzimuthDEG` number, required
  - `baseHeightM` number, required
  - `tenantId` integer, nullable
  - `status` 'INSTALLED' | 'PLANNED' | 'REMOVED' | 'UNKNOWN' | 'MARKED FOR REMOVAL'
  - `shouldAnalyse` boolean

## Response `200`

Successful Response

- StructureDiscreteAncillaryView[]
  - `id` integer, required
  - `structureId` integer, required
  - `discreteAncillaryId` integer, required
  - `tenantId` integer, nullable
  - `mountHeightM` number, required: Height of the mounting point above ground level (in meters).
  - `azimuthDEG` number, required
  - `mountOption` 'TOP' | 'MIDDLE' | 'BOTTOM', required
  - `shieldingFactor` number, required
  - `mountBracketWeightKG` number, required
  - `shouldAnalyse` boolean, required
  - `discreteAncillary` DiscreteAncillaryView, required
    - `id` integer, required
    - `name` string, required
    - `ancillaryType` string, required
    - `weightKG` number, required
    - `defaultMountOption` string, required
    - `geometries` DiscreteAncillaryGeometryView[], required
      - `geometryType` string, required
      - `geometryValue` number, required
    - `organizationId` integer, required
    - `powerDetails` DefaultPowerDetailsView
      - `powerConsumptionKW` number, required
    - `forceCoefficients` ForceCoefficientsView, required
      - `front` number, nullable, required
      - `side` number, nullable, required
      - `rear` number, nullable, required
    - `epa` EpaView
      - `frontM2` number, required
      - `sideM2` number, required
      - `rearM2` number, required
      - `governingM2` number, nullable: The EPA (m²) in the governing wind direction, if available.
  - `xM` number, nullable
  - `yM` number, nullable
  - `status` 'INSTALLED' | 'PLANNED' | 'REMOVED' | 'UNKNOWN' | 'MARKED FOR REMOVAL', required
  - `shelterId` integer, nullable
  - `shelterXM` number, nullable
  - `shelterYM` number, nullable
  - `shelterZM` number, nullable
  - `shelterAzimuthDEG` number, nullable
  - `shelterIsExterior` boolean
  - `isPositionManual` boolean, required

## Other responses

- `400`: Bad request
- `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)
