---
title: "Withdraw Requirement Downvote Route"
method: DELETE
path: "/marketing/guidelines/requirements/{requirement_id}/downvote"
tags: ["marketing-guidelines"]
---

# Withdraw Requirement Downvote Route

`DELETE /marketing/guidelines/requirements/{requirement_id}/downvote`

Remove this reviewer's downvote.

A missing vote is still 200: un-filling twice must not 404.

Hard-deletes the vote row. That is the exception to A-6, not a second kind of requirement
removal: a downvote is a unique `(requirement, user)` signal, and withdrawing has to release
the unique slot. Findings and the requirement itself are untouched.

## Path parameters

- `requirement_id` string, uuid, required

## Response `200`

Successful Response

- RequirementDownvoteStatus — How this requirement currently stands for the calling reviewer. A vote changes nothing about the rule, so nothing here reports a state change: `live_state` is whatever the library says, and it only ever moves because a person moved it.
  - `requirement_id` string, uuid, required
  - `downvote_count` integer, required
  - `downvoted_by_me` boolean, required
  - `live_state` 'active' | 'disabled' | 'archived' | 'superseded' | 'proposed', required — Whether a requirement is in the working library, and if not, why not. All of them are recorded as revisions, so every one is reversible and readable. ARCHIVED and SUPERSEDED are deliberately distinct: ARCHIVED is a person deciding this obligation does not apply to them, SUPERSEDED is a newer decomposition of the same guideline taking over. A regeneration must never overwrite the first with the second — that would erase a human decision.

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-02** `425d5b8a3c17` — 1 warning
  - added the new `proposed` enum value to the `live_state` response property for the response status `200`

[Change history](https://skmtc.dev/kobaltlabs/apis/fastapi/changes/marketing/guidelines/requirements/:requirement_id/downvote/delete.md)

---

[API](https://skmtc.dev/kobaltlabs/apis/fastapi.md) · [All operations](https://skmtc.dev/kobaltlabs/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/kobaltlabs/apis/fastapi/revisions/8587332d5e43?raw)
