---
title: "Complete signup"
method: POST
path: "/signup/step_3"
tags: ["signup"]
---

# Complete signup

`POST /signup/step_3`

Consumes the registration session, sets the password, and creates the individual. Returns the new individual id, email, and TOTP enrollment secret.

## Request body

- SignupStep3Input
  - `business_name` string
  - `ein` string
  - `email` string
  - `first_name` string
  - `last_name` string
  - `otp_code` string
  - `password` string
  - `session_token` string
  - `state` string

## Response `200`

OK

- SignupStep3Output
  - `email` string
  - `individual_id` string
  - `session_token` string
  - `totp_secret` SignupTOTPSecret
    - `secret` string
    - `url` string

## Other responses

- `default` — Error response.

## Changes

- **2026-08-06** `fe2041c5ba86` — 1 info
  - the `individual_id` response's property pattern was changed from `^ind_[0-9a-hjkmnp-tv-z]{26}$` to `^ind_[0-7][0-9a-hjkmnp-tv-z]{25}$` for the status `200`

[Change history](https://skmtc.dev/stablesea/apis/stable-sea-backend/changes/signup/step_3/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-service-production.skmtc.workers.dev/v1/apis/stablesea/stable-sea-backend/revisions/78f4fe30ef9c/schema)
