---
title: "Asclepius Cv Upload"
method: POST
path: "/api/onboarding/asclepius/cv"
tags: ["onboarding"]
---

# Asclepius Cv Upload

`POST /api/onboarding/asclepius/cv`

## 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/onboarding/asclepius/cv`
- Auth: none declared

Optional CV upload during signup (PRD-B Phase 2/4).

Accepts either the director onboarding token or an invited-member token,
stores the raw document content-addressed, and records the sha **on the
person's own row, server-side** (B-5.7). The sha is never round-tripped
through the client: ``credentials`` is a free-form dict, so a client-set
``cvAssetSha`` would be an unvalidated reference into the shared asset
store — which also holds de-identified clinical images.

Parsing happens AFTER the response is sent (B-1.1): pdfminer/pypdf and
especially the OCR fallback are tens of CPU-seconds, and nothing about the
CV needs to be parsed before the form returns.

## Request body `multipart/form-data`

- BodyAsclepiusCvUploadApiOnboardingAsclepiusCvPost
  - `token` string, required
  - `file` string, binary, required

## 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)
