---
title: "Export Approve Unapproved"
method: POST
path: "/api/asclepius/admin/export/approve"
tags: ["asclepius-admin"]
---

# Export Approve Unapproved

`POST /api/asclepius/admin/export/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/export/approve`
- Auth: none declared

Approve, for export, the submissions the preview said would not ship.

This is the "[ Approve all 4 ]" button (PRD §2.2). It calls the SAME policy
function the single-row Approve button calls — ``payments.approve_earning``
— once per submission, server-side. One round trip instead of N, one rate
limit instead of N, and exactly one definition of what approving means.

Two cases it handles that the per-row button never sees:

* a submission whose ledger row does not exist yet. The accrual sweep
  materialises rows lazily, so a freshly submitted case may have none.
  ``reconcile_task_accruals`` runs first, which is the same call the admin
  ledger makes on every page load.
* a submission whose author does not accrue payment at all (an advisor on
  the equity-only model). There is no money to approve, and the work is
  still real: the export gate moves on its own. "Approved money ⇔ exportable
  record" holds vacuously — there is no money either way.

## Headers

- `authorization` string, nullable

## Request body

- ApproveForExportRequest
  - `submission_ids` 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)
