---
title: "Revoke Promo Code"
method: DELETE
path: "/api/v1/playbooks/{playbook_id}/promo-codes/{promo_id}"
tags: ["playbook-pricing"]
---

# Revoke Promo Code

`DELETE /api/v1/playbooks/{playbook_id}/promo-codes/{promo_id}`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/playbooks/{playbook_id}/promo-codes/{promo_id}`
- Auth: none declared

Revoke a promo code (ADR-009 Q-06 — kill switch via revoked_at).

Idempotent: revoking an already-revoked code returns 204 silently rather
than 410, since the buyer-side validate endpoint is the one that returns
410 Gone for *use* of a revoked code.

## Path parameters

- `playbook_id` string, uuid, required
- `promo_id` string, uuid, required

## Response `204`

Successful Response

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
