---
title: "Complete Setup"
method: POST
path: "/v1/messaging/setup/complete"
tags: ["messaging"]
---

# Complete Setup

`POST /v1/messaging/setup/complete`

## Request

- Base URL: `https://api.mundane.market` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mundane.market/v1/messaging/setup/complete`
- Auth: none declared

Promote a provisional text thread to a funded account.

Runs in a browser, not over text. The customer has to give an email and
accept the AUP and ToS, and "reply YES to accept our terms" is not a
consent record anyone wants to defend. The token in the link is what ties
this page back to their phone number without asking them to retype it.

Idempotency comes from the token: `consume_link_token` marks it used in the
same statement that reads it, so two browsers opening the same link cannot
both create an account.

## Request body

- SetupCompleteRequest
  - `token` string, required
  - `email` string, email, required
  - `display_name` string, required
  - `accept_aup_version` string, required
  - `accept_tos_version` string, required
  - `topup_amount_minor` integer, nullable

## Response `201`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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