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

# Create User



## OpenAPI

````yaml /openapi/crm.json post /users
openapi: 3.0.3
info:
  title: Universal CRM API Documentation
  description: Development documentation
  version: '1.0'
servers:
  - url: https://crm.universal.rollout.com/api
security: []
paths:
  /users:
    post:
      tags:
        - Users
      summary: Create User
      operationId: postUsers
      parameters:
        - name: fields
          in: query
          required: false
          schema:
            type: string
            description: >-
              Comma-separated top-level fields to return; the parameter can also
              be repeated, once per field. `id` is always returned. Omit it, or
              pass `allFields`, to get every field, including `original`.
              Unknown names return 400.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                firstName:
                  type: string
                lastName:
                  type: string
                phone:
                  type: string
                role:
                  type: string
                status:
                  type: string
                timezone:
                  nullable: true
                  type: string
                username:
                  type: string
                type:
                  type: string
                address:
                  type: object
                  properties:
                    type:
                      type: string
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    code:
                      type: string
                    county:
                      type: string
                    country:
                      type: string
                  required:
                    - type
                    - street
                    - city
                    - state
                    - code
                    - country
                participatingOfficeIds:
                  type: array
                  items:
                    type: string
                password:
                  type: string
              required:
                - email
                - firstName
                - lastName
                - phone
                - role
                - status
                - username
                - type
                - address
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                email:
                  type: string
                firstName:
                  type: string
                lastName:
                  type: string
                phone:
                  type: string
                role:
                  type: string
                status:
                  type: string
                timezone:
                  nullable: true
                  type: string
                username:
                  type: string
                type:
                  type: string
                address:
                  type: object
                  properties:
                    type:
                      type: string
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    code:
                      type: string
                    county:
                      type: string
                    country:
                      type: string
                  required:
                    - type
                    - street
                    - city
                    - state
                    - code
                    - country
                participatingOfficeIds:
                  type: array
                  items:
                    type: string
                password:
                  type: string
              required:
                - email
                - firstName
                - lastName
                - phone
                - role
                - status
                - username
                - type
                - address
          multipart/form-data:
            schema:
              type: object
              properties:
                email:
                  type: string
                firstName:
                  type: string
                lastName:
                  type: string
                phone:
                  type: string
                role:
                  type: string
                status:
                  type: string
                timezone:
                  nullable: true
                  type: string
                username:
                  type: string
                type:
                  type: string
                address:
                  type: object
                  properties:
                    type:
                      type: string
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    code:
                      type: string
                    county:
                      type: string
                    country:
                      type: string
                  required:
                    - type
                    - street
                    - city
                    - state
                    - code
                    - country
                participatingOfficeIds:
                  type: array
                  items:
                    type: string
                password:
                  type: string
              required:
                - email
                - firstName
                - lastName
                - phone
                - role
                - status
                - username
                - type
                - address
      responses:
        '201':
          description: Response for status 201
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    firstName:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    lastName:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    email:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    phone:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    role:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    status:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    timezone:
                      description: Present unless the request's `fields` leaves it out.
                      nullable: true
                      type: string
                    created:
                      description: Present unless the request's `fields` leaves it out.
                      nullable: true
                      type: string
                    updated:
                      description: Present unless the request's `fields` leaves it out.
                      nullable: true
                      type: string
                    rolloutUpdated:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    originalIds:
                      description: Present unless the request's `fields` leaves it out.
                      type: object
                      additionalProperties:
                        anyOf:
                          - type: number
                          - type: string
                    original:
                      description: Present unless the request's `fields` leaves it out.
                      type: object
                      additionalProperties:
                        type: object
                        additionalProperties: {}
                    address:
                      description: Present unless the request's `fields` leaves it out.
                      nullable: true
                      type: object
                      properties:
                        type:
                          type: string
                        street:
                          type: string
                        city:
                          type: string
                        state:
                          type: string
                        code:
                          type: string
                        county:
                          type: string
                        country:
                          type: string
                      required:
                        - type
                        - street
                        - city
                        - state
                        - code
                        - country
                    username:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    type:
                      description: Present unless the request's `fields` leaves it out.
                      type: string
                    offices:
                      description: Present unless the request's `fields` leaves it out.
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                        required:
                          - id
                  required:
                    - id
        '400':
          description: Response for status 400
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorMessage:
                    type: string
                required:
                  - errorMessage
        '409':
          description: Response for status 409
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorMessage:
                    type: string
                    enum:
                      - >-
                        Data for this credential is not ready yet. Please try
                        again.
                required:
                  - errorMessage
        '423':
          description: >-
            423 Locked — the credential is temporarily frozen by an operator.
            Reads still work; POST/PATCH/PUT/DELETE are rejected until it is
            unfrozen. Unlike 424 (invalid credential), do not re-authenticate —
            retry later.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                      required:
                        - message
                required:
                  - errors
      security:
        - jwt: []
          credential_id: []
components:
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      description: Consumer JWT minted by the tenant's backend
    credential_id:
      type: apiKey
      in: header
      name: X-Rollout-Credential-Id
      description: The Rollout Credential ID to use for queries/mutations

````

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