---
title: "Update Discrete Ancillary"
method: PUT
path: "/v1/ancillaries/discrete/{discrete_ancillary_id}"
tags: ["ancillaries"]
---

# Update Discrete Ancillary

`PUT /v1/ancillaries/discrete/{discrete_ancillary_id}`

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

This endpoint updates a discrete ancillary by its ID.
The discrete ancillary ID and the data to update should be provided in the request.

If the user does not have permission to access the discrete ancillary, the endpoint returns a 401 error.
Geometry, weight and power values follow the same rules as creating a discrete ancillary.
When both ancillaryType and geometries are given, geometries must match the type exactly.

## Path parameters

- `discrete_ancillary_id` integer, required

## Request body

- DiscreteAncillaryUpdateInput
  - `name` string, nullable, required
  - `ancillaryType` 'PANEL' | 'MW_SHROUD' | 'MW_NO_SHROUD' | 'MW_GRID' | 'MW_RADOME' | 'OMNI' | 'GPS' | 'YAGI' | 'DIPOLE' | 'RRU' | 'ODU' | 'FTTA' | 'PTTA' | 'TMA' | 'MHA' | 'OBSTRUCTION_LIGHT' | 'LIGHTNING_ROD' | 'PLATFORM' | 'CUSTOM_BOX' | 'CUSTOM_CYLINDER' | 'HELIX' | 'ICE_SHIELD' | 'COMBINER' | 'GRID' | 'HEADFRAME' | 'SHELTER_EQUIPMENT', required
  - `weightKG` number, nullable, required
  - `defaultMountOption` 'TOP' | 'MIDDLE' | 'BOTTOM', required
  - `forceCoefficients` ForceCoefficientsInput
    - `front` number, nullable, required
    - `side` number, nullable, required
    - `rear` number, nullable, required
  - `geometries` DiscreteAncillaryGeometryUpdateInput[], nullable, required: Exactly the geometry types listed for ancillaryType by GET /v1/ancillaries/discrete/config/v2, each given once. Checked against ancillaryType only when both are given.
    - `geometryType` 'HEIGHT_MM' | 'WIDTH_MM' | 'DEPTH_MM' | 'RADIUS_MM' | 'DIAMETER_MM' | 'FRONT_PROJECTED_AREA_MM2' | 'SIDE_PROJECTED_AREA_MM2', required
    - `geometryValue` number, required: Must be greater than zero, except RADIUS_MM (the corner radius of box-shaped types), which may be zero.
  - `powerDetails` DefaultPowerDetailsInput
    - `powerConsumptionKW` number, required

## Response `204`

Successful Response

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `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)
