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

# Create a user

> Create a new Conductor user and assign account access with the User Management API. Public email providers and the ADMIN type are not permitted.



## OpenAPI

````yaml POST /user-api/v1/users
openapi: 3.0.1
info:
  version: 1.0.1, 2023-07-13
  title: User Management API
  license:
    name: Conductor terms of service
    url: https://www.conductor.com/legal/
  termsOfService: https://www.conductor.com/legal/
  x-logo:
    url: https://app.conductor.com/images/global/logo_login.png
  description: >-
    This is Conductor’s REST API for user management.


    ## Getting access to the API


    We use a bearer token except for the `login` endpoint, which uses a username
    and password.


    ### Application Identity


    The application identity is a set of credentials used to interact with this
    API. 

    These credentials must belong to a user configured separately, without SSO
    enabled, and with the Admin user type. 

    Afterward, the Standard and Read-only users belonging to the same accounts
    may be managed through the API.


    ## Permissions in the Conductor Platform


    The Conductor platform has two different dimensions of permissions:

    - User Type: Whether the user can write or read data only. This applies in
    general, not just single accounts. 
      Conductor’s user types include: *Admin*, *Standard*, and *Read-only*.
    - Accounts: Accounts grant access to specific sets of data.


    There are two operations to manage these two dimensions separately.
  contact:
    name: Engineering, core platform
    email: coreplatformeng@conductor.com
servers:
  - url: https://app.conductor.com
    description: Conductor user management API V1
security:
  - JWT: []
tags:
  - name: Authentication resources
    description: Obtain a bearer token.
  - name: User management resources
    description: >-
      **Note**: Only Standard and Read-only users may be created, updated, or
      otherwise managed with this API. 

      The User List endpoint includes Admin users, but they cannot be managed
      with this API.
paths:
  /user-api/v1/users:
    post:
      tags:
        - User management resources
      summary: Create a user
      description: >-
        Creates a user.

        - The type `ADMIN` cannot be created

        - In most cases, the view parameter should be set to `COMPLETE`. Refer
        to Conductor’s Knowledge Base to learn more about role-based user views.

        - Some public email providers (such as Gmail) are not allowed. You will
        get a `HTTP 400` error.


        If you try to re-create an existing user, the resource will respond with
        error `409`.
      operationId: createUser
      parameters:
        - name: send_email
          in: query
          description: Set to true if welcome email should be sent
          schema:
            type: boolean
            default: false
      requestBody:
        description: The user to create
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/UserDto'
                - required:
                    - email
                    - firstname
                    - lastname
                    - accounts
                    - sso_access
                    - type
                    - view
            examples:
              Example:
                value:
                  accounts:
                    - 0
                  email: string
                  firstname: string
                  lastname: string
                  sso_access: true
                  type: STANDARD
                  view: CONTENT_MARKETING
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDto'
        '400':
          $ref: '#/components/responses/ErrorResponse'
        '401':
          $ref: '#/components/responses/ErrorResponse'
        '403':
          $ref: '#/components/responses/ErrorResponse'
        '404':
          $ref: '#/components/responses/ErrorResponse'
        '409':
          $ref: '#/components/responses/ErrorResponse'
        '500':
          $ref: '#/components/responses/ErrorResponse'
      deprecated: false
      security:
        - JWT:
            - global
components:
  schemas:
    UserDto:
      title: UserDto
      type: object
      x-examples:
        Example:
          accounts:
            - 1
            - 2
            - 3
          email: user@example.com
          firstname: User
          lastname: User
          sso_access: true
          type: STANDARD
          view: COMPLETE
          status: ACTIVE
      properties:
        accounts:
          type: array
          items:
            type: integer
        email:
          type: string
        firstname:
          type: string
        lastname:
          type: string
        sso_access:
          type: boolean
        type:
          type: string
          enum:
            - READ_ONLY
            - STANDARD
            - ADMIN
          description: >-
            User type, `ADMIN` is not allowed when creating users. To identify
            existing `ADMIN` users, you can use the Users endpoint.
        view:
          type: string
          enum:
            - CONTENT_MARKETING
            - SEARCH_MARKETING
            - EXECUTIVE_ESSENTIALS
            - PAID_SEARCH
            - RESEARCH
            - COMPLETE
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
          default: true
          description: >-
            Whether the user is active or inactive. Not required when creating a
            user.
      description: A user
    Error:
      type: object
      x-examples:
        Example:
          timestamp: 2023-05-18T19:06:16.449+0000
          status: 403
          error: Forbidden
          message: Forbidden
          path: /api/v1/users/user@example.com
      properties:
        timestamp:
          type: string
          format: date-time
          description: Timestamp rfc3339
        status:
          type: integer
          description: HTTP status code
        error:
          type: string
        message:
          type: string
        path:
          type: string
  responses:
    ErrorResponse:
      description: A standard response for any error (4xx / 5xx)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    JWT:
      type: http
      scheme: bearer

````