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

# Add Clerk chat user

> Adds a new user to the Clerk chat system



## OpenAPI

````yaml /swagger.yml post /public/admin/users
openapi: 3.0.0
info:
  title: Public API Docs
  description: Clerk Public API
  version: '1.0'
  contact: {}
servers:
  - url: https://web-api.clerk.chat
    description: Production server
  - url: http://localhost:3000
    description: Production server
security: []
tags: []
paths:
  /public/admin/users:
    post:
      tags:
        - Admin
      summary: Add Clerk chat user
      description: Adds a new user to the Clerk chat system
      operationId: PublicAdminController_addClerkChatUser
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddClerkChatUserRequest'
      responses:
        '201':
          description: The created Clerk chat user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClerkChatUserResponse'
        '400':
          description: Invalid request body
        '401':
          description: Unauthorized request
        '403':
          description: You do not have permission to access this resource
        '404':
          description: Resource not found
        '422':
          description: Invalid request parameters
        '429':
          description: Too many requests for this resource
        '500':
          description: Internal server error
      security:
        - api_key: []
components:
  schemas:
    AddClerkChatUserRequest:
      type: object
      description: Request to add a new Clerk chat user
      properties:
        email:
          type: string
          description: Email of the user to add
        firstName:
          type: string
          description: First name of the user to add
        lastName:
          type: string
          description: Last name of the user to add
        role:
          type: string
          description: Role of the user
          enum:
            - workspace_owner
            - admin
            - manager
            - agent
            - member
      required:
        - email
    ClerkChatUserResponse:
      type: object
      description: Response containing Clerk chat user information
      properties:
        id:
          type: string
          description: The ID of the created user
        email:
          type: string
          description: The email of the created user
        firstName:
          type: string
          description: The first name of the created user
        lastName:
          type: string
          description: The first name of the created user
        role:
          type: string
          description: The role of the created user
      required:
        - id
        - email
        - name
        - role
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: apiKey

````