---
title: "Delete an option from a placement custom attribute"
method: DELETE
path: "/api/v1/placements/custom-attributes/{attributeId}/options/{optionId}"
tags: ["Custom Attributes"]
---

# Delete an option from a placement custom attribute

`DELETE /api/v1/placements/custom-attributes/{attributeId}/options/{optionId}`

## Request

- Base URL: `https://api.recruitwithatlas.com`
- URL: `https://api.recruitwithatlas.com/api/v1/placements/custom-attributes/{attributeId}/options/{optionId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/recruitwithatlas/apis/atlas-api/docs/api/v1/placements/custom-attributes/:attributeId/options/:optionId/delete.ts> (a function with typed inputs; its response is checked against the schema)

Removes one selectable option from an `options`-type custom attribute definition for placement records.

**In-use options cascade**: if the option is currently selected on any records, those stored values are deleted in the same transaction — across **all** record types (people, companies, projects, meetings, candidates, placements), not just placement records. This matches the behaviour of deleting an option in the Atlas app. The attribute definition itself and its other options are not affected.

Returns `404` if the attribute does not exist for this agency under this entity type, or if the option does not belong to the attribute.

## Path parameters

- `attributeId` string, uuid, required: Custom attribute ID
- `optionId` string, uuid, required: Custom attribute option ID

## Response `200`

Option deleted

- object
  - `status` 'ok', required
  - `data` object, required
    - `id` string, uuid, required: ID of the deleted option

## Other responses

- `401`: Unauthorized - missing or invalid API key
- `404`: Resource not found
- `422`: Validation error - the request failed schema validation (`errors.fieldErrors`) or a business rule (`errors.formErrors`)
- `429`: Too many requests - the caller has exceeded the per-agency rate limit for the tier this endpoint counts against (default per minute: 1200 read / 400 write / 60 upload). Inspect the `RateLimit-*` headers — returned on every response, not only on 429s — and back off until the window resets. See the "Rate limits" section of the introduction for details.
- `500`: Internal server error

## Changes

- **2026-10-03** `cd4bc8bbd95e`: 1 info
  - added the optional property `error` to the response with the `422` status

[Operation history](https://skmtc.dev/recruitwithatlas/apis/atlas-api/changes/api/v1/placements/custom-attributes/:attributeId/options/:optionId/delete.md)

---

[API](https://skmtc.dev/recruitwithatlas/apis/atlas-api.md) - [All operations](https://skmtc.dev/recruitwithatlas/apis/atlas-api/llms.txt) - [OpenAPI document](https://skmtc.dev/recruitwithatlas/apis/atlas-api/revisions/158ee454751c?raw)
