---
title: "Send passwordless magic link"
method: POST
path: "/auth/send-magic-link"
tags: ["Auth"]
---

# Send passwordless magic link

`POST /auth/send-magic-link`

## Request

- Base URL: `https://api.apphandoff.com/api`
- URL: `https://api.apphandoff.com/api/auth/send-magic-link`
- Auth: none required

Admin `generateLink` (magiclink) + Mailgun. IP rate limited. Callback URL from body `callback_origin`,
`X-AppHandoff-Callback-Origin`, `Origin`, or `Referer` (allowlisted). Optional `callback_next`
preserves a safe in-portal destination after the email link completes.

## Request body

- object
  - `email` string, email, required
  - `callback_origin` string, uri
  - `callback_next` string

## Response `200`

Magic link sent

- object
  - `ok` boolean

## Other responses

- `400`: Invalid request
- `429`: Rate limited

---

[API](https://skmtc.dev/apphandoff/apis/apphandoff-api.md) · [All operations](https://skmtc.dev/apphandoff/apis/apphandoff-api/llms.txt) · [OpenAPI document](https://skmtc.dev/apphandoff/apis/apphandoff-api/revisions/9f138fe46d56?raw)
