# Create an account

Create an account when you need to use Conduit's authenticated features for the first time.
Registration is available at `/register`.

| If you need to… | Go to |
|---|---|
| Check what registration is for | [Create an account](#create-an-account) |
| Confirm what you need before starting | [Before you start](#before-you-start) |
| Reach the registration form | [Open the Register screen](#open-the-register-screen) |
| Identify the fields and controls | [Understand the registration form](#understand-the-registration-form) |
| Submit your registration | [Enter details and sign up](#enter-details-and-sign-up) |
| Resolve an authentication error | [When registration goes wrong](#when-registration-goes-wrong) |
| Sign in with an existing account | [Sign in](doc:sign-in) |
| Read shared authentication messages | [Authentication and loading messages](doc:authentication-and-loading-messages) |

## Before you start

You need to be signed out to open the registration form. Have a username, email address, and
password ready before you begin.

| Before starting | What to have ready |
|---|---|
| Access | A signed-out session |
| Account name | The username you want to use |
| Contact | The email address for the account |
| Sign-in secret | The password for the account |

If you already have an account, use [Sign in](doc:sign-in) instead.

## Open the Register screen

The Register screen is the public entry point for creating a Conduit account.

**Prerequisites**

- You are signed out.

**Steps**

1. Open `/register` in your browser.

**Result:** The Register screen opens with the registration form.

## Understand the registration form

The registration form collects the three details needed to submit an account request and places
authentication errors above the form.

| What you need to do | Control or area | What it does |
|---|---|---|
| Enter the account name | **Username** | Accepts the username for the new account |
| Enter the account email | **Email** | Accepts the email address for the new account |
| Enter the sign-in secret | **Password** | Accepts the password as a password field |
| Submit the details | **Sign up** | Submits the registration form |
| Read a registration error | Authentication error area | Lists the response errors above the form |

**Username** appears for registration. **Email** and **Password** remain on the authentication
form. The form requires all three fields, and **Sign up** is unavailable while the form is
invalid. While submission is in progress, the form fields are disabled.

The inputs use their visible placeholder text rather than separate field labels. The screen does
not add a field-level validation message, confirmation dialog, or grid.

## Enter details and sign up

Use this procedure to send the three required account details and continue to the application's
main route after a successful response.

**Prerequisites**

- The Register screen is open.
- You have the username, email address, and password you want to submit.

**Steps**

1. Enter the account name in **Username**.
2. Enter the account email address in **Email**.
3. Enter the account password in **Password**.
4. Select **Sign up**.

**Result:** The registration request is submitted. A successful response takes you to `/`.

## When registration goes wrong

If registration returns an error, read it in the authentication error area above the form.

| What you see | What it means | What to do |
|---|---|---|
| An authentication error in the error list | The registration response contains one or more errors | Read the listed error and correct the relevant registration detail before selecting **Sign up** again |

Each API error is rendered as `<key> <value>` in an error list. No fixed authentication error text
is used by the registration screen.

[Authentication and loading messages](doc:authentication-and-loading-messages) covers shared
authentication messages outside this registration error area.
