---
title: "Text a verification code to the visitor's mobile"
method: POST
path: "/join/{join_code}/verify"
tags: ["Public", "Join links"]
---

# Text a verification code to the visitor's mobile

`POST /join/{join_code}/verify`

## Request

- Base URL: `https://api.purplegrain.com/api/v1`
- URL: `https://api.purplegrain.com/api/v1/join/{join_code}/verify`
- Auth: none declared

Sends a self-issued one-time code (purpose `invite`) to the Australian
mobile the visitor typed. Rate-limited per number (60 s cooldown), per IP
and per link; always returns **204** for a usable link and a valid mobile,
throttled or not, so the response leaks nothing about send state or about
whether the number has an account.

## Path parameters

- `join_code` string, required

## Request body

- object
  - `mobile` string, required: An Australian mobile in any common format (`0412 345 678`, `+61 412 345 678`, `412345678`).

## Response `204`

Accepted (a code was sent if rate limits allow).

## Other responses

- `403`: Forbidden — first-party only; refused to an API key or an assistant's token.
- `404`: The link cannot be used.
- `422`: The mobile is not a valid Australian mobile number.

---

[API](https://skmtc.dev/purplegrain/apis/purple-grain-api.md) · [All operations](https://skmtc.dev/purplegrain/apis/purple-grain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/purplegrain/apis/purple-grain-api/revisions/06540345bbbc?raw)
