---
title: "Update Badge Criteria"
method: PUT
path: "/v1/badge/criteria/{criteria_id}"
tags: ["Badge"]
---

# Update Badge Criteria

`PUT /v1/badge/criteria/{criteria_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/criteria/{criteria_id}`
- Auth: OAuth 2
  - Password
  - Token URL: `/v1/token`

Update a specific badge criteria

## Path parameters

- `criteria_id` integer, required

## Headers

- `X-Access-Token` string, nullable

## Request body

- BadgeCriteriaUpdate
  - `external_id` string, nullable
  - `description` string, nullable
  - `type` 'Application' | 'Assessment' | 'Award' | 'Badge' | 'Course' | 'Credential' | 'Education_Experience' | 'Leadership' | 'Member' | 'Participant' | 'Pathway' | 'Payment' | 'Portfolio' | 'Presenter' | 'Project' | 'Professional_Experience' | 'Schedule_Registration' | 'Volunteer' | 'Other'
  - `external_url` string, nullable
  - `badge_id` integer, nullable

## Response `200`

Successful Response

- BadgeCriteria
  - `external_id` string, nullable
  - `description` string, nullable
  - `type` 'Application' | 'Assessment' | 'Award' | 'Badge' | 'Course' | 'Credential' | 'Education_Experience' | 'Leadership' | 'Member' | 'Participant' | 'Pathway' | 'Payment' | 'Portfolio' | 'Presenter' | 'Project' | 'Professional_Experience' | 'Schedule_Registration' | 'Volunteer' | 'Other'
  - `external_url` string, nullable
  - `badge_id` integer, nullable
  - `id` integer, nullable

## Other responses

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

## Changes

- **2026-08-06** `4039d06e340b`: 1 warning, 6 info
  - added the new `Pathway` enum value to the `type/anyOf[subschema #1: Badge_Criteria_Type]/` response property for the response status `200`
  - api operation id `update_badge_criteria_v1_badge_criteria__criteria_id__put` removed and replaced with `badge_update_badge_criteria`
  - added the new optional `header` request parameter `X-Access-Token`
  - added the new `Pathway` enum value to the request property `type/anyOf[subschema #1: Badge_Criteria_Type]/`
  - …3 more
- **2025-11-20** `6eb631bcc695`: 25 breaking, 25 info
  - removed the enum value `Application` of the request property `type`
  - removed the enum value `Assessment` of the request property `type`
  - removed the enum value `Award` of the request property `type`
  - removed the enum value `Badge` of the request property `type`
  - …46 more

[Operation history](https://skmtc.dev/navigatr/apis/navigatr-api/changes/v1/badge/criteria/:criteria_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)
