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

# New user

> Create a whitelabel account.



## OpenAPI

````yaml post /users
openapi: 3.1.0
info:
  title: Agent First
  description: The missing services for agent-first development.
  version: 1.0.0
servers:
  - url: https://api.agentfirst.dev
security:
  - bearerAuth: []
paths:
  /users:
    post:
      summary: New user
      description: Create a whitelabel account.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  description: >-
                    The email address of the user to create an account for; the
                    address is case insensitive and can be in any character
                    encoding.
                  type: string
                  format: email
                  maxLength: 255
                  example: user@example.com
                credits:
                  description: The number of API credits to preload the account with.
                  type: integer
                  example: 1000
              required:
                - email
        required: true
      responses:
        '201':
          description: The new account metadata.
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    description: >-
                      The email address of the new account as recorded by the
                      API.
                    type: string
                    format: email
                    example: user@example.com
                  token:
                    description: The bearer token issued to the account for authentication.
                    type: string
                    example: a1-0dF6qKHYD7SNU5kAtjOmwHpH3iFgpylA
                  credits:
                    description: The number of initial credits granted to the account.
                    type: integer
                    example: 1000
                required:
                  - email
                  - token
                  - credits
        '400':
          $ref: '#/components/responses/malformedError'
        '401':
          $ref: '#/components/responses/authenticationError'
        '403':
          $ref: '#/components/responses/authorizationError'
        '409':
          $ref: '#/components/responses/conflictError'
        '422':
          $ref: '#/components/responses/paramsError'
        '429':
          $ref: '#/components/responses/throttlingError'
        '500':
          $ref: '#/components/responses/unknownError'
components:
  responses:
    malformedError:
      description: The request was malformed.
      content:
        text/plain:
          schema:
            type: string
            example: JSON was malformed
    authenticationError:
      description: The authorization header was missing.
      content:
        text/plain:
          schema:
            type: string
            example: Authorization header must be provided
    authorizationError:
      description: The API token was invalid.
      content:
        text/plain:
          schema:
            type: string
            example: Valid API token must be provided
    conflictError:
      description: One or more resources already exists.
      content:
        text/plain:
          schema:
            type: string
            example: Email already exists
    paramsError:
      description: One or more parameters were invalid.
      content:
        text/plain:
          schema:
            type: string
            example: Character counts must be no more than 255
    throttlingError:
      description: The rate limit was exceeded.
      content:
        text/plain:
          schema:
            type: string
            example: Rate limit was exceeded; please retry in 180 seconds
    unknownError:
      description: An unknown error occurred.
      content:
        text/plain:
          schema:
            type: string
            example: Unknown error occurred
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````