---
title: "Payout Cycle Clear"
method: POST
path: "/billing/payouts/cycle/clear"
---

# Payout Cycle Clear

`POST /billing/payouts/cycle/clear`

## Request

- Base URL: `https://api-docs.session-exchange.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api-docs.session-exchange.com/billing/payouts/cycle/clear`
- Auth: none declared

#1365: lift the HOLD of a scheduled monthly cycle (global admin). Body: {month "YYYY-MM",
reason, mode? ("on", default | "dry")}. A scheduled real cycle that started but did not finish
(an idempotency conflict, an exception, a crash mid-run) holds its month: the scheduler runs
nothing more that month — no hourly re-run that would pay sellers who newly reach the minimum —
until this clears it. After the clear the NEXT tick runs that month's cycle again (a full run).
Clear only once the cause is fixed; the alternative is to leave the hold and run
`POST /billing/payouts/run` by hand (which never counts as the month's cycle). Emits
`marketplace.seller.payout_cycle_cleared` {month, mode, reason, by}. 404 `no_cycle_hold` when
the month has none; 409 `cycle_already_done` when the month's cycle finished; 409
`payout_run_in_progress` while a payout run holds the run lock — the clear itself runs under that
lock, so it can never drop the `started` hold of a run that is still in flight.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/session-exchange/apis/a4sx.md) · [All operations](https://skmtc.dev/session-exchange/apis/a4sx/llms.txt) · [OpenAPI document](https://skmtc.dev/session-exchange/apis/a4sx/revisions/abaefc33dfc7?raw)
