---
title: "Self Serve Invite"
method: POST
path: "/api/onboarding/self-serve"
tags: ["onboarding"]
---

# Self Serve Invite

`POST /api/onboarding/self-serve`

## 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/self-serve`
- Auth: none declared

Public: mint a physician-contributor onboarding link on demand.

Issues the same magic link the admin "Generate Health System Link" button
creates, so a physician clicking "Become a contributor" on the landing
lands directly in the existing onboarding wizard. Abuse guards, layered:
IP rate limit (5 / 10 min) → global cap (60/h) → per-email cap
(3 pending / 24h) → 7-day expiry (vs the admin default 30) → the wizard's
own email-OTP step, which still gates every completion on proof of inbox
control.

## Request body

- SelfServeBody
  - `email` string, email, required
  - `company_website` string
  - `first_name` string
  - `last_name` string
  - `referral_code` string
  - `flavor` string
  - `project_slug` string
  - `project_invite` string
  - `campaign` 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)
