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

# Create user



## OpenAPI

````yaml post /v1/user/create
openapi: 3.0.0
info:
  title: Auth APIs Specification
  description: Section for description
  version: '1.0'
  contact: {}
servers:
  - url: https://staging.api.us.aptlydone.com/auth
  - url: https://staging.api.eu.aptlydone.com/auth
  - url: https://api.us.aptlydone.com/auth
  - url: https://api.eu.aptlydone.com/auth
security: []
tags: []
paths:
  /v1/user/create:
    post:
      tags:
        - users
      summary: Create user
      operationId: UserController_createUser_v1
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAddDto'
      responses:
        '201':
          description: User created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponseDtoResponse'
      security:
        - accessToken: []
components:
  schemas:
    UserAddDto:
      type: object
      properties:
        firstName:
          type: string
          example: Torrey
          description: User first name
          maxLength: 50
        lastName:
          type: string
          example: Oberbrunner
          description: User last name
          maxLength: 50
        displayName:
          type: string
          maxLength: 50
          example: Bert Gottlieb
          description: Display name
        tenantId:
          type: string
          description: Tenant ID
          example: 15ec13d1-a974-4324-9665-6747de598d98
        email:
          type: string
          format: email
          example: Okey_Kilback93@gmail.com
          description: User email address
        mobilePhone:
          type: string
          pattern: /^[+()0-9.\s-]{7,25}$/
          example: +1 (555) 123-4567
          description: Mobile phone
          maxLength: 25
        roleIds:
          example:
            - f79e3041-9c1b-496d-a29a-047c0be53f97
          description: Array of role IDs
          type: array
          items:
            type: string
        groups:
          description: User groups
          example:
            - groupId: 1556c12a-ad9d-41b8-98b8-f0440e2df71c
              isPrimaryOrg: true
          type: array
          items:
            $ref: '#/components/schemas/GroupUpdateEntitiesDto'
        managerId:
          type: string
          format: uuid
          example: ff395df6-a667-4382-8ba8-5c275353bce3
          description: Manager ID
        positionIds:
          example:
            - 5008c1fc-968b-45da-b69e-5f522da4b40c
          description: Array of position IDs
          type: array
          items:
            type: string
            format: uuid
        employeeId:
          type: string
          maxLength: 50
          example: 5BiMH8Jk0g
          description: Employee ID
        employeeNumber:
          type: string
          maxLength: 50
          example: o8ufovd5CB
          description: Employee Number
        employeeType:
          type: string
          maxLength: 20
          example: Full-time
          description: Employee Type
        employmentType:
          type: string
          maxLength: 20
          example: Permanent
          description: Employment Type
        sourceId:
          type: string
          maxLength: 100
          example: SRC12345
          description: Source ID
        actorType:
          type: string
          maxLength: 50
          example: Human
          description: Actor type
        aiAgentType:
          type: string
          maxLength: 50
          example: Assistant
          description: AI agent type
        startDate:
          format: date-time
          type: string
          example: '2024-01-01'
          description: Start date
        terminationDate:
          format: date-time
          type: string
          example: '2025-12-31'
          description: Termination date
        customAttributes:
          type: object
          example:
            department: Engineering
            level: Senior
          description: Custom attributes
        externalId:
          type: string
          maxLength: 100
          example: EXT12345
          description: External ID
        instanceId:
          type: string
          example: 059c5913-5ede-4c74-a788-e6117988092d
          description: Instance ID
        systemIntegrationId:
          type: string
          format: uuid
          example: f327fb4b-8b6b-4fb9-9be9-3095d5dc9964
          description: System Integration ID
        inviteViaEmail:
          type: boolean
          example: true
          description: Whether to send invitation email
      required:
        - firstName
        - lastName
        - tenantId
        - email
        - roleIds
    UserResponseDtoResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP Status code
          example: 200
        timestamp:
          type: string
          description: Timestamp of the response
          example: '2026-01-12T09:10:12.337Z'
        message:
          type: string
          description: Response message
          example: Success
        data:
          description: Response data
          allOf:
            - $ref: '#/components/schemas/UserResponseDto'
      required:
        - statusCode
        - timestamp
        - message
        - data
    GroupUpdateEntitiesDto:
      type: object
      properties:
        groupId:
          type: string
          format: uuid
          example: 1d1bfc12-b7b6-4a26-be52-33a5b50ff801
          description: Group ID
        isPrimaryOrg:
          type: boolean
          example: true
          description: Is primary group
      required:
        - groupId
    UserResponseDto:
      type: object
      properties:
        id:
          type: string
          example: d4b8eae5-02dc-4a9a-9afe-b2f72e006ebb
          description: Unique identifier of the user
        userId:
          type: string
          example: '10001'
          description: Unique identifier of the user
        loginId:
          type: string
          nullable: true
          example: Delpha82@yahoo.com
          description: Login ID
          maxLength: 100
        descopeUserId:
          type: string
          example: 7eOCsfn938mPjGwc5IZu4m5QAQWZS0xy
          description: Descope user ID
        activeTenantId:
          type: string
          nullable: true
          example: 3d4c3b64-f52d-4890-aa26-ea2e52eb5a4d
          description: Active tenant Id
        email:
          type: string
          nullable: true
          example: Clay.Purdy@gmail.com
          description: Email address
          maxLength: 100
        name:
          type: string
          nullable: true
          example: Vera Wolf
          description: Name
        displayName:
          type: string
          nullable: true
          example: Brooke Rohan
          description: Display Name
        isSAML:
          type: boolean
          example: false
          description: Is SAML user
        mobilePhone:
          type: string
          nullable: true
          example: 1-491-503-1712 x7659
          description: Phone number
          maxLength: 25
        firstName:
          type: string
          nullable: true
          example: Jolie
          description: First name
          maxLength: 50
        lastName:
          type: string
          nullable: true
          example: Morissette-Spencer
          description: Last name
          maxLength: 50
        profileImageUrl:
          type: string
          nullable: true
          example: https://loremflickr.com/807/3278?lock=727001695474930
          description: User profile image URL
          maxLength: 50
        currencyName:
          type: string
          example: Euro
          description: Currency name
          nullable: true
        currencyCode:
          type: string
          example: EUR
          description: Currency code
          nullable: true
        status:
          type: string
          description: User status
          example: ACTIVE
          enum:
            - ACTIVE
            - INACTIVE
            - INVITED
            - DELETED
        accountType:
          type: string
          nullable: true
          example: h
          description: Type of account
          maxLength: 20
        autoProvisioned:
          type: boolean
          example: false
          description: Whether the user was auto-provisioned
          default: false
        employeeId:
          type: string
          nullable: true
          example: f
          description: Employee ID
          maxLength: 50
        employeeNumber:
          type: string
          nullable: true
          example: h
          description: Employee Number
        employeeType:
          type: string
          nullable: true
          example: D
          description: Employee Type
          maxLength: 20
        employmentType:
          type: string
          nullable: true
          example: j
          description: Type of employment
          maxLength: 20
        dateFormat:
          type: string
          example: MM/DD/YYYY
          description: Date format
          default: MM/DD/YYYY
        userType:
          type: string
          nullable: true
          example: z
          description: Type of user
          maxLength: 20
        sourceId:
          type: string
          nullable: true
          example: LaTdLstQ4lRlowebEqMq
          description: Source ID
          maxLength: 100
        actorType:
          type: string
          nullable: true
          example: khOhlolFNb
          description: Actor type
          maxLength: 50
        aiAgentType:
          type: string
          nullable: true
          example: XwUPLzjRvaLBsCG
          description: AI agent type
          maxLength: 50
        startDate:
          format: date-time
          type: string
          nullable: true
          example: '2025-11-19T05:27:09.941Z'
          description: Start date
        terminationDate:
          format: date-time
          type: string
          nullable: true
          example: '2026-10-16T18:32:34.796Z'
          description: Termination date
        customAttributes:
          type: object
          nullable: true
          example:
            department: Engineering
            level: Senior
          description: Custom attributes as JSON object
        externalId:
          type: string
          nullable: true
          example: EXT12345
          description: External ID from external systems
          maxLength: 100
        instanceId:
          type: string
          nullable: true
          example: 6a5dd288-ec68-44ff-a1ce-b0128347b3b6
          description: Instance ID
        systemIntegrationId:
          type: string
          nullable: true
          example: 6e94c7f7-576d-48ed-8cc0-b8b09f56cba8
          description: System Integration ID
        displayLanguage:
          type: string
          nullable: true
          example: en-US
          description: Display language preference
        columnViewSettings:
          type: object
          nullable: true
          example:
            columns:
              - name
              - email
              - status
          description: Column view settings as JSON object
        searchData:
          example:
            - Directives
            - Liaison
          description: Search history of user
          type: array
          items:
            type: string
        managerSync:
          type: boolean
          example: true
          description: Flag for manager sync
          nullable: false
        manager:
          description: Manager for the user
          allOf:
            - $ref: '#/components/schemas/ManagerResponseDto'
        isDeleted:
          type: boolean
          example: true
          description: Whether the user is marked as deleted
          default: false
        isExpirePassword:
          type: boolean
          example: true
          description: Whether the user's password is expired
          default: false
        createdOn:
          format: date-time
          type: string
          example: '2026-01-12T04:59:38.064Z'
          description: Creation timestamp
          default: now()
        lastLoginDate:
          format: date-time
          type: string
          example: '2026-01-11T09:45:20.832Z'
          description: Last login timestamp
          default: now()
        createdBy:
          type: string
          nullable: true
          example: 56dbdb67-fdb4-478c-bb02-cea7b3e899ec
          description: UUID of user or system that created the record
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-11T11:57:54.376Z'
          description: Last update timestamp
          default: now()
        updatedBy:
          type: string
          nullable: true
          example: f6267b64-ddad-4db5-ab64-b587d49af1b6
          description: UUID of user or system that last updated the record
        deletedOn:
          format: date-time
          type: string
          nullable: true
          example: '2025-01-27T10:51:41.196Z'
          description: Deletion timestamp
        delegationsReceived:
          type: number
          example: 1
          description: Delegations received by the user
          nullable: true
        delegationsIssued:
          type: number
          example: 1
          description: Delegations issued by the user
          nullable: true
        dashboardData:
          nullable: true
          description: Dashboard grid layout configuration
          example:
            - x: 0
              'y': 0
              w: 2
              h: 1
              i: '0'
            - x: 0
              'y': 1
              w: 2
              h: 4
              i: '1'
            - x: 0
              'y': 5
              w: 1
              h: 4
              i: '2'
            - x: 1
              'y': 5
              w: 1
              h: 4
              i: '3'
          additionalProperties: true
          type: array
          items:
            type: object
        userRoles:
          description: Roles assigned to the user
          type: array
          items:
            $ref: '#/components/schemas/UserRoleResponseDto'
        userPositions:
          description: Positions held by the user
          type: array
          items:
            $ref: '#/components/schemas/UserPositionResponseDto'
        userGroups:
          description: Groups held by the user
          type: array
          items:
            $ref: '#/components/schemas/UserGroupResponseDto'
        isImpersonated:
          type: boolean
          example: true
          description: Whether the user is impersonated user or not
          default: false
      required:
        - id
        - userId
        - loginId
        - descopeUserId
        - activeTenantId
        - email
        - name
        - displayName
        - isSAML
        - mobilePhone
        - firstName
        - lastName
        - profileImageUrl
        - currencyName
        - currencyCode
        - accountType
        - autoProvisioned
        - employeeId
        - employeeNumber
        - employeeType
        - employmentType
        - userType
        - sourceId
        - actorType
        - aiAgentType
        - startDate
        - terminationDate
        - customAttributes
        - externalId
        - instanceId
        - systemIntegrationId
        - displayLanguage
        - columnViewSettings
        - searchData
        - managerSync
        - manager
        - isDeleted
        - isExpirePassword
        - createdOn
        - lastLoginDate
        - createdBy
        - updatedOn
        - updatedBy
        - deletedOn
        - delegationsReceived
        - delegationsIssued
        - dashboardData
        - userRoles
        - userPositions
        - userGroups
    ManagerResponseDto:
      type: object
      properties:
        id:
          type: string
          example: f99a50c1-f10a-47ee-a20d-8792e1a41be8
          description: Unique identifier of the user
        userId:
          type: string
          example: '10001'
          description: Unique identifier of the user
        descopeUserId:
          type: string
          example: NAe2gVjONZqYRgtvliF3pyKmPchGcHXg
          description: Descope user ID
        name:
          type: string
          nullable: true
          example: Mr. Ivan Thiel
          description: Full name
          maxLength: 50
        email:
          type: string
          nullable: true
          example: Lonnie2@yahoo.com
          description: Email address
          maxLength: 100
        firstName:
          type: string
          nullable: true
          example: Adan
          description: First name
          maxLength: 50
        lastName:
          type: string
          nullable: true
          example: Johnston
          description: Last name
          maxLength: 50
        displayName:
          type: string
          nullable: true
          example: Lucia Mayert
          description: Display name
          maxLength: 50
        mobilePhone:
          type: string
          nullable: true
          example: (270) 663-0245 x3376
          description: Phone number
        profileImageUrl:
          type: string
          nullable: true
          example: https://picsum.photos/seed/46GUUknbGJ/2329/2262
          description: User profile image URL
          maxLength: 50
        createdOn:
          format: date-time
          type: string
          example: '2026-01-12T05:07:05.101Z'
          description: Creation timestamp
          default: now()
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-12T03:30:03.871Z'
          description: Last update timestamp
          default: now()
        userPositions:
          description: Positions held by the user
          type: array
          items:
            $ref: '#/components/schemas/UserPositionResponseDto'
        primaryOrganization:
          description: Primary Organization name
          nullable: true
          allOf:
            - $ref: '#/components/schemas/PrimaryOrgResponseDto'
        managerName:
          type: string
          nullable: true
          example: Doris Brakus
          description: Manager's manager display name (skip-level manager)
          maxLength: 50
        managerProfileImageUrl:
          type: string
          nullable: true
          example: https://loremflickr.com/567/2473?lock=5385426157985712
          description: Manager's manager profile image (skip-level manager)
          maxLength: 50
      required:
        - id
        - userId
        - descopeUserId
        - name
        - email
        - firstName
        - lastName
        - displayName
        - mobilePhone
        - profileImageUrl
        - createdOn
        - updatedOn
        - userPositions
        - primaryOrganization
        - managerName
        - managerProfileImageUrl
    UserRoleResponseDto:
      type: object
      properties:
        id:
          type: string
          example: 320bf21d-7b31-4b31-93ef-1a2e9f93f8a9
          description: Unique identifier of the user role
        tenantId:
          type: string
          example: 8fcca66f-5b95-4f54-a8fd-b1c27dd092ef
          description: Unique identifier of the tenant
        tenantRoleId:
          type: string
          example: 9c9bd186-23f1-4f5f-877f-b25aad685652
          description: Tenant role ID
        roleName:
          type: string
          example: pine begonia
          description: Name of the tenant role
        autoProvisioned:
          type: boolean
          example: false
          description: Whether the user role was auto-provisioned
          default: false
        instanceId:
          type: string
          nullable: true
          example: 5863ab84-7099-4ac2-8b48-f24f1b21b4a3
          description: Prismatic instance ID for auto-provisioned roles
        createdOn:
          format: date-time
          type: string
          example: '2026-01-11T22:33:40.204Z'
          description: Creation timestamp
        deletedOn:
          format: date-time
          type: string
          nullable: true
          example: '2025-05-31T10:27:33.998Z'
          description: Deletion timestamp
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-12T03:25:36.185Z'
          description: Last update timestamp
      required:
        - id
        - tenantId
        - tenantRoleId
        - roleName
        - autoProvisioned
        - instanceId
        - createdOn
        - deletedOn
        - updatedOn
    UserPositionResponseDto:
      type: object
      properties:
        id:
          type: string
          example: 64648e27-e093-44c3-b5a1-49154a0a1660
          description: Unique identifier of the user position
        userId:
          type: string
          example: 898bf847-18c5-4022-b4be-6035aa06877f
          description: User ID
        tenantId:
          type: string
          example: 4f1cd86e-c077-4acc-b242-09478ad3ec79
          description: Unique identifier of the tenant
        positionsId:
          type: string
          example: d2e8b360-686c-4e2c-a788-5ca9d7fc3daa
          description: Positions ID
        autoProvisioned:
          type: boolean
          example: true
          description: Whether the user position was auto-provisioned
          default: false
        instanceId:
          type: string
          nullable: true
          example: 14120202-09d5-4b50-b522-b41d0821f7d0
          description: Prismatic instance ID for auto-provisioned positions
        isEditable:
          type: boolean
          example: false
          description: Whether the position is editable
          default: false
        isDeleted:
          type: boolean
          example: true
          description: Whether the user position is marked as deleted
          default: false
        deletedOn:
          format: date-time
          type: string
          nullable: true
          example: '2025-08-19T23:46:35.207Z'
          description: Deletion timestamp
        createdOn:
          format: date-time
          type: string
          example: '2026-01-11T12:03:07.517Z'
          description: Creation timestamp
          default: now()
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-11T19:28:18.878Z'
          description: Last update timestamp
          default: now()
        positionName:
          type: string
          example: Senior Developer
          description: Name of the position
          maxLength: 50
        isSCIMProvisioned:
          type: boolean
          example: false
          description: Whether the position is a SCIM provisioning position
          default: false
        externalId:
          type: string
          nullable: true
          example: f143825c-798e-43bb-8f88-da1ff0d8b399
          description: External identifier for the position
      required:
        - id
        - userId
        - tenantId
        - positionsId
        - autoProvisioned
        - instanceId
        - isEditable
        - isDeleted
        - deletedOn
        - createdOn
        - updatedOn
        - positionName
        - isSCIMProvisioned
        - externalId
    UserGroupResponseDto:
      type: object
      properties:
        id:
          type: string
          example: 77827dfa-cf21-4fec-a5bd-c568d9583431
          description: Unique identifier of the user group
        tenantId:
          type: string
          example: 277ab493-cb1d-40f3-8d61-6432cc78df9a
          description: Unique identifier of the tenant
        userId:
          type: string
          example: 0e2a3c9d-3210-4e98-9dcc-67e8f63305c1
          description: User ID
        groupId:
          type: string
          example: 2b0e14b4-2d70-4517-afc3-9ba10bb890c2
          description: Group ID
        groupTypeId:
          type: string
          example: 40471fbe-5866-486d-9f76-c96482e42277
          description: Group type ID
        groupName:
          type: string
          example: Engineering Team
          description: Group Name
        groupTypeName:
          type: string
          example: Department
          description: Group Type Name
        displayName:
          type: string
          nullable: true
          example: Engineering Department
          description: Display Name of the group
        isPrimaryOrg:
          type: boolean
          example: false
          description: Whether this is the primary organization
          default: true
        externalId:
          type: string
          nullable: true
          example: 0802fdf7-09f2-4445-9e7c-3fc145cbf544
          description: External identifier for the group
        instanceId:
          type: string
          nullable: true
          example: c024da14-f39b-4aa5-9be8-6003132f6c71
          description: Instance identifier for the group
        primaryOrgSetOn:
          format: date-time
          type: string
          example: '2026-01-11T23:45:02.944Z'
          description: When the primary organization was set
        autoProvisioned:
          type: boolean
          example: true
          description: Whether the user group was auto-provisioned
          default: false
        isDeleted:
          type: boolean
          example: true
          description: Whether the user group is marked as deleted
          default: false
        deletedOn:
          format: date-time
          type: string
          nullable: true
          example: '2025-06-16T09:06:25.957Z'
          description: Deletion timestamp
        createdOn:
          format: date-time
          type: string
          example: '2026-01-11T10:22:54.670Z'
          description: Creation timestamp
          default: now()
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-11T18:31:52.005Z'
          description: Last update timestamp
          default: now()
      required:
        - id
        - tenantId
        - userId
        - groupId
        - groupTypeId
        - groupName
        - groupTypeName
        - displayName
        - isPrimaryOrg
        - externalId
        - instanceId
        - primaryOrgSetOn
        - autoProvisioned
        - isDeleted
        - deletedOn
        - createdOn
        - updatedOn
    PrimaryOrgResponseDto:
      type: object
      properties:
        groupName:
          type: string
          nullable: true
          example: Aplty Inc.
          description: Primary Organization name
        displayName:
          type: string
          nullable: true
          example: Aplty Incorporated
          description: Display name of the primary organization
        tenantGroupTypeId:
          type: string
          nullable: true
          example: 03cf8779-7be8-4ea9-a02e-99aa4454e94a
          description: Primary Organization code
        tenantGroupTypeName:
          type: string
          nullable: true
          example: Organization
          description: Primary Group Type name
      required:
        - groupName
        - displayName
        - tenantGroupTypeId
        - tenantGroupTypeName
  securitySchemes:
    accessToken:
      scheme: bearer
      bearerFormat: JWT
      type: http

````