---
title: "Update Badge Alignment"
method: PUT
path: "/v1/badge/alignment/{alignment_id}"
tags: ["Badge"]
---

# Update Badge Alignment

`PUT /v1/badge/alignment/{alignment_id}`

## Request

- Base URL: `https://api.navigatr.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.navigatr.app/v1/badge/alignment/{alignment_id}`
- Auth: OAuth 2
  - Password
  - Token URL: `/v1/token`
- TypeScript: <https://skmtc.dev/navigatr/apis/navigatr-api/docs/v1/badge/alignment/:alignment_id/put.ts> (a function with typed inputs; its response is checked against the schema)

Update a specific badge alignment

Refused with a 422 when the alignment is the one the badge's qualification level manages: change the qualification level instead.

## Path parameters

- `alignment_id` integer, required

## Headers

- `X-Access-Token` string, nullable

## Request body

- BadgeAlignmentUpdate
  - `external_id` string, nullable
  - `name` string, nullable
  - `description` string, nullable
  - `url` string, required
  - `framework` string, nullable
  - `code` string, nullable

## Response `200`

Successful Response

- BadgeAlignment
  - `external_id` string, nullable
  - `name` string, nullable
  - `description` string, nullable
  - `url` string, nullable
  - `framework` string, nullable
  - `code` string, nullable
  - `id` integer, nullable
  - `badge_id` integer, nullable

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `410`: Gone
- `422`: Unprocessable Content

## Changes

- **2026-10-22** `5b575d75af2b`: 1 breaking, 1 info
  - the `detail` response's property type changed from `array` to `string` for status `422`
  - the `detail` response's property default value `Unprocessable data` was added for the status `422`
- **2026-08-06** `4039d06e340b`: 5 info
  - api operation id `update_badge_alignment_v1_badge_alignment__alignment_id__put` removed and replaced with `badge_update_badge_alignment`
  - added the new optional `header` request parameter `X-Access-Token`
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
  - …1 more
- **2025-11-20** `6eb631bcc695`: 8 breaking, 7 info
  - response property `badge_id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `code` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `description` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `external_id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …11 more

[Operation history](https://skmtc.dev/navigatr/apis/navigatr-api/changes/v1/badge/alignment/:alignment_id/put.md)

---

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