> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vouchmark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sign up

> Create a Vouchmark account and trigger email verification.

Creates a new user account and emails a verification code. No tokens are issued at this step — the account must verify its email before it can log in. Public endpoint, rate-limited to 50 requests per 15 minutes per IP.

## Body

<ParamField body="name" type="string" required>
  Account holder's full name.
</ParamField>

<ParamField body="email" type="string" required>
  A valid, unused email address.
</ParamField>

<ParamField body="password" type="string" required>
  At least 8 characters and must contain a lowercase letter, an uppercase letter, a digit, and a special character.
</ParamField>

<ParamField body="confirmPassword" type="string" required>
  Must exactly match `password`.
</ParamField>

<ParamField body="phone_no" type="string">
  Optional phone number.
</ParamField>

<ParamField body="company_name" type="string">
  Optional company name.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.vouchmark.com/v1/signup \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Ada Okeke",
      "email": "ada@example.com",
      "password": "L0ng-Random-Pass!",
      "confirmPassword": "L0ng-Random-Pass!",
      "phone_no": "+2348012345678",
      "company_name": "Okeke Logistics"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "message": "Verification code has been sent to your email",
    "data": {
      "userId": "usr_aBcD...",
      "requiresVerification": true
    }
  }
  ```
</ResponseExample>

A six-digit verification code is sent to the supplied email. The account stays unverified until that code is confirmed, and login is blocked until then.
