---
title: "Admin Approve Earning"
method: POST
path: "/api/asclepius/admin/earnings/{earning_id}/approve"
tags: ["asclepius-payments"]
---

# Admin Approve Earning

`POST /api/asclepius/admin/earnings/{earning_id}/approve`

## Request

- Base URL: `https://app.archangelhealth.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.archangelhealth.ai/api/asclepius/admin/earnings/{earning_id}/approve`
- Auth: none declared

Approve one case — the ledger AND the export gate, in one action.

THE POINT OF THIS ENDPOINT (PRD §1.1): before it existed there was no admin
action that moved a labeler's earning at all. `/release` decides a proposed
pay cut and `/void` declines to pay; neither approves. So an accrued row sat
reading "Pending review" with no button under it, waiting on a reviewer who
might never come, and even when one did the case still could not ship —
because approving the MONEY never touched `records.status`, which is the
only thing export reads.

Three writes, one meaning:

1. the ledger row moves ``accrued`` → ``approved`` (compare-and-set, so a
   double-click cannot double-approve),
2. the submission and its records move to ``export_ready`` — but only from a
   non-terminal state: an already-``exported`` case is never downgraded and a
   ``rejected`` one is Void's business, not this route's,
3. an audit event, because this deliberately BYPASSES QA sampling and an
   audit that does not say so is not an audit.

A row the payout algorithm has HELD is refused with a 409 pointing at
`/release`. That hold is the promise that an automated pay cut never applies
without a person deciding it, and approving through this route would apply
the reduced amount while looking like a plain approval.

## Path parameters

- `earning_id` string, required

## Headers

- `authorization` string, nullable

## Request body

- ApproveEarningBody
  - `note` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform.md) - [All operations](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform/llms.txt) - [OpenAPI document](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform/revisions/3514f4e119da?raw)
