---
title: "Resend signup OTP"
method: POST
path: "/signup/screener/resend_otp"
tags: ["signup", "customer-session", "customer-session-public"]
---

# Resend signup OTP

`POST /signup/screener/resend_otp`

## Request

- Base URL: `https://api.stablesea.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stablesea.com/signup/screener/resend_otp`
- Auth: none declared

Re-issues the OTP for an in-flight screener session by re-running registration step 1 for the supplied business email, minting a fresh OTP and re-delivering the email. Acknowledges the same way for an address that already has an account, which is then emailed a sign-in prompt rather than a code: this endpoint never reveals whether an address is registered. While GET /identity/bot_challenge_settings answers required=true, a request without a valid challenge_token is refused (bot_challenge_required / bot_challenge_failed) before any email.

## Request body

- SignupResendOTPInput
  - `challenge_token` string: The bot-challenge token the widget issued for the resend_otp action. Required while GET /identity/bot_challenge_settings answers required=true; ignored otherwise. Single use.
  - `email` string
  - `otp_session_id` string

## Response `200`

OK

- SignupResendOTPAck
  - `ok` boolean

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `503`: Service Unavailable
- `default`: Error response.

## Changes

- **2026-10-29** `e003c8a67b62`: 4 info
  - added the optional property `error/authorization` to the response with the `400` status
  - added the optional property `error/authorization` to the response with the `429` status
  - added the optional property `error/authorization` to the response with the `503` status
  - added the optional property `error/authorization` to the response with the `default` status
- **2026-10-17** `d359d2d00c43`: 4 info
  - added the new optional request property `challenge_token`
  - added the non-success response with the status `400`
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
- **2026-10-16** `d8ab48e744d6`: 2 info
  - api tag `customer-session` added
  - api tag `customer-session-public` added
- **2026-09-01** `f2d9f80610d9`: 1 info
  - added the optional property `error/api_client_id` to the response with the `default` status

[Operation history](https://skmtc.dev/stablesea/apis/stable-sea-backend/changes/signup/screener/resend_otp/post.md)

---

[API](https://skmtc.dev/stablesea/apis/stable-sea-backend.md) - [All operations](https://skmtc.dev/stablesea/apis/stable-sea-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/stablesea/apis/stable-sea-backend/revisions/772c80d83658?raw)
