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

# Create an account

> Registers a new account with email and password and emails a confirmation link (valid 24 hours, single use). The account can't sign in, and its API key doesn't work, until the address is confirmed. Registering again before confirming replaces the password and sends a new link.



## OpenAPI

````yaml /api-reference/openapi.yaml post /auth/register
openapi: 3.0.3
info:
  title: validate.al API
  description: >-
    Email validation, security scanning and account management, all at
    https://api.validate.al.
  version: '1.0'
servers:
  - url: https://api.validate.al/v1
security:
  - ApiKeyAuth: []
tags:
  - name: Email validation
  - name: Scanning
  - name: Account
  - name: Health
paths:
  /auth/register:
    post:
      tags:
        - Account
      summary: Create an account
      description: >-
        Registers a new account with email and password and emails a
        confirmation link (valid 24 hours, single use). The account can't sign
        in, and its API key doesn't work, until the address is confirmed.
        Registering again before confirming replaces the password and sends a
        new link.
      operationId: register
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - email
                - password
              properties:
                email:
                  type: string
                  format: email
                  example: user@example.com
                password:
                  type: string
                  minLength: 8
                  example: ••••••••
      responses:
        '200':
          description: Account created; a confirmation link was emailed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                  verification_required:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Check your email to confirm your address.
        '400':
          description: Missing or invalid fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: The address already has a confirmed account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security: []
components:
  schemas:
    Error:
      description: Errors from scanning and account endpoints.
      type: object
      properties:
        detail:
          type: string
          description: Error message
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your validate.al API key, from the portal (Settings → API Key).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.