---
title: "nextmail signups"
description: "Every command in this namespace, with its arguments, flags and examples."
url: "https://nextmail.sh/docs/cli/reference/signups"
area: "CLI"
category: "Reference"
---

# nextmail signups

Every command in this namespace, with its arguments, flags and examples.

## Commands

### `nextmail signups create`

Start creating an account for a person

```bash
nextmail signups create --email <value> [flags]
nextmail signups create --data <json|@file|-> [flags]
```

Starts a sign-up for an address and emails it a six-digit code that works once and runs out after 10 minutes. It needs no credential. Ask the person for the code, then finish with `verify`, which creates the account and returns its API key.

An address that cannot receive mail, or one on a disposable domain, is 422 `sign_up_address_refused` and nothing is sent. When the address already has an account, no code is sent: that person is emailed how to connect an agent to the account they have, and this call resolves exactly as it would for a new address, so it never reveals who has an account.

One network may start 3 sign-ups an hour, counted together with sign-ups made in the apps, and one address 5 an hour. The next is 429 `sign_up_rate_limited` with `Retry-After`. When the email cannot be sent it is 503 `sign_up_undeliverable` and no sign-up is waiting.

- No sign-in needed.
- Aliases: `new`, `add`.

**Flags**

- `--email <value>`: The address the account signs in with. The code goes there, so it has to be one the person reads. Required, here or in `--data`.
- `--name <value>`: The name of the person the account is for. The address stands in when it is left out.
- `--agent <value>`: Who is asking, such as `Claude Code`. The emails name it, and the key is named after it.
- `--scopes <a,b>` (repeatable): What the key may do. Every scope when it is left out.
- `--data <json|@file|->`: The whole `body` as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

**Examples**

The required values only

```bash
nextmail signups create --email ada@example.com
```

With optional flags

```bash
nextmail signups create --email ada@example.com --name 'Ada Lovelace' --agent 'Claude Code'
```

Read the whole body from a JSON file

```bash
nextmail signups create --data @signups.json
```

Also available in: API [`POST /signups`](https://nextmail.sh/docs/api/reference/sign-up#post-signups); TypeScript [`signups.create()`](https://nextmail.sh/docs/sdk/reference/signups#create); Python [`signups.create()`](https://nextmail.sh/docs/python/reference/signups#create); Ruby [`signups.create`](https://nextmail.sh/docs/ruby/reference/signups#create); PHP [`signups->create`](https://nextmail.sh/docs/php/reference/signups#create); Go [`Signups.Create`](https://nextmail.sh/docs/go/reference/signups#create); Java [`signups().create`](https://nextmail.sh/docs/java/reference/signups#create); C# [`Signups.CreateAsync`](https://nextmail.sh/docs/csharp/reference/signups#create).

### `nextmail signups verify`

Finish a sign-up with the code and get the key

```bash
nextmail signups verify <sign-up-id> <code> [flags]
```

Sends the six-digit code the person read from their email. A right code creates the account, its workspace and its free address, and issues an API key that acts for the new owner. It needs no credential and resolves with one: `apiKey.token` is shown here and nowhere else, so store it before anything else. The person gets a welcome email with a link to set a password, and sees the key under Settings, API keys.

A sign-up takes 5 codes. A wrong one is 400 `sign_up_code_invalid` with the tries left in the message, and the last wrong one cancels the sign-up with 429 `sign_up_locked`. A code that ran out, was used already or belongs to no sign-up is 400 `sign_up_code_expired`, and an address that got an account while the code was waiting is 409 `sign_up_address_taken`.

- No sign-in needed.

**Arguments**

- `<sign-up-id>` (required): The `id` `create` resolved with.
- `<code>` (required): The six digits from the email the person received.

**Examples**

```bash
nextmail signups verify sign-up_4c1b257a 123456
```

Print the raw JSON

```bash
nextmail signups verify sign-up_4c1b257a 123456 --json
```

Also available in: API [`POST /signups/{id}/verify`](https://nextmail.sh/docs/api/reference/sign-up#post-signups-id-verify); TypeScript [`signups.verify()`](https://nextmail.sh/docs/sdk/reference/signups#verify); Python [`signups.verify()`](https://nextmail.sh/docs/python/reference/signups#verify); Ruby [`signups.verify`](https://nextmail.sh/docs/ruby/reference/signups#verify); PHP [`signups->verify`](https://nextmail.sh/docs/php/reference/signups#verify); Go [`Signups.Verify`](https://nextmail.sh/docs/go/reference/signups#verify); Java [`signups().verify`](https://nextmail.sh/docs/java/reference/signups#verify); C# [`Signups.VerifyAsync`](https://nextmail.sh/docs/csharp/reference/signups#verify).
