---
title: "Send sign-in code"
method: POST
path: "/auth/otp/send-sign-in-code"
tags: ["OTP"]
---

# Send sign-in code

`POST /auth/otp/send-sign-in-code`

Send a code to the user's email address for sign-in.

## Request body

- object
  - `email` string, required — The email to sign in with.
  - `callback_url` string, required — The base callback URL to construct the magic link from. A query parameter `code` with the verification code will be appended to it. The page should then make a request to the `/auth/otp/sign-in` endpoint.
  - `bot_challenge_token` string
  - `bot_challenge_phase` 'invisible' | 'visible'
  - `bot_challenge_unavailable` 'true'

## Response `200`

Successful response

- object
  - `nonce` string, required — A token that must be stored temporarily and provided when verifying the 6-digit code

## Changes

> 17 revisions in range; 3 could not be searched.

- **2026-05-15** `f135fd8ca8b4` — 2 breaking, 3 info
  - request property `bot_challenge_phase` was restricted to a list of enum values
  - request property `bot_challenge_unavailable` was restricted to a list of enum values
  - added the new `invisible` enum value to the request property `bot_challenge_phase`
  - added the new `true` enum value to the request property `bot_challenge_unavailable`
  - …1 more
- **2026-05-06** `7fcc5cbc3884` — 3 info
  - added the new optional request property `bot_challenge_phase`
  - added the new optional request property `bot_challenge_token`
  - added the new optional request property `bot_challenge_unavailable`

[Change history](https://skmtc.dev/hexclave/apis/hexclave-rest-api/changes/auth/otp/send-sign-in-code/post.md)

---

[API](https://skmtc.dev/hexclave/apis/hexclave-rest-api.md) · [All operations](https://skmtc.dev/hexclave/apis/hexclave-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hexclave/hexclave-rest-api/revisions/86dcd8c9953c/schema)
