---
title: "ChallengeMyAction — create, inspect, consume, or cancel a veto window"
method: POST
path: "/v1/challenges/manage"
---

# ChallengeMyAction — create, inspect, consume, or cancel a veto window

`POST /v1/challenges/manage`

## Request

- Base URL: `https://api.scrubmytext.com`
- URL: `https://api.scrubmytext.com/v1/challenges/manage`
- Auth: HTTP bearer

Creates a digest-bound cooling-off period during which a bearer challenger can veto. After the deadline, the paid owner may atomically consume one execution right within the bounded execution window. This is exception handling, not affirmative consent, legal approval, or proof that notice was delivered.

## Request body

- object
  - `operation` 'create' | 'check' | 'consume' | 'cancel', required
  - `control_id` string
  - `action_fingerprint` string: A lowercase SHA-256 digest, with an optional sha256: prefix.
  - `veto_window_seconds` integer
  - `execution_window_seconds` integer

## Response `200`

Challenge state or one-time execution-right decision

## Other responses

- `401`: Paid API key required
- `422`: Invalid operation-specific input

---

[API](https://skmtc.dev/scrubmytext/apis/scrubmytext-agent-infrastructure-api.md) · [All operations](https://skmtc.dev/scrubmytext/apis/scrubmytext-agent-infrastructure-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrubmytext/apis/scrubmytext-agent-infrastructure-api/revisions/54ace36baccf?raw)
