Atomicwork users API

The users API from Atomicwork — 10 operation(s) for users.

OpenAPI Specification

atomicwork-users-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Atomicwork Public accessManagement users API
  version: 1.0.0
servers:
- url: https://{tenant}.atomicwork.com
  description: Your Atomicwork tenant
tags:
- name: users
paths:
  /api/v1/users/invite:
    post:
      operationId: postapi-v-1-users-invite
      summary: Invite Users
      tags:
      - users
      parameters:
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_postapi_v1_users_invite_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                emails:
                  type: array
                  items:
                    type: string
                    format: email
                org_roles:
                  type: array
                  items:
                    type: integer
                    format: int64
                type:
                  $ref: '#/components/schemas/ApiV1UsersInvitePostRequestBodyContentApplicationJsonSchemaType'
                send_email:
                  type: boolean
                  default: true
                workspaces:
                  type: array
                  items:
                    $ref: '#/components/schemas/ApiV1UsersInvitePostRequestBodyContentApplicationJsonSchemaWorkspacesItems'
                workspace_roles:
                  type: array
                  items:
                    type: integer
                    format: int64
                workspace_ids:
                  type: array
                  items:
                    type: integer
                    format: int64
  /api/v1/users/workspaces/invite:
    post:
      operationId: postapi-v-1-users-workspaces-invite
      summary: User workspace invite
      tags:
      - users
      parameters:
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_postapi_v1_users_workspaces_invite_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                emails:
                  type: array
                  items:
                    type: string
                    format: email
                user_ids:
                  type: array
                  items:
                    type: integer
                    format: int64
                users:
                  type: array
                  items:
                    type: string
                org_roles:
                  type: array
                  items:
                    type: integer
                    format: int64
                type:
                  $ref: '#/components/schemas/ApiV1UsersWorkspacesInvitePostRequestBodyContentApplicationJsonSchemaType'
                send_email:
                  type: boolean
                  default: true
                workspaces:
                  type: array
                  items:
                    $ref: '#/components/schemas/ApiV1UsersWorkspacesInvitePostRequestBodyContentApplicationJsonSchemaWorkspacesItems'
  /api/v1/users:
    get:
      operationId: getapi-v-1-users
      summary: Get users
      tags:
      - users
      parameters:
      - name: search_key
        in: query
        description: ''
        required: false
        schema:
          type: string
      - name: is_deleted
        in: query
        description: ''
        required: false
        schema:
          type: boolean
          default: false
      - name: has_slack
        in: query
        description: ''
        required: false
        schema:
          type: boolean
      - name: role
        in: query
        description: ''
        required: false
        schema:
          type: string
      - name: types
        in: query
        description: Optional comma-separated list of user types to filter by
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/ApiV1UsersGetParametersTypesSchemaItems'
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_getapi_v1_users_Response_200'
    post:
      operationId: postapi-v-1-users
      summary: Create user
      tags:
      - users
      parameters:
      - name: send_email
        in: query
        description: Send welcome email or not
        required: false
        schema:
          type: boolean
          default: false
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_postapi_v1_users_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                middle_name:
                  type: string
                last_name:
                  type: string
                email:
                  type: string
                  format: email
                personal_email:
                  type: string
                  format: email
                timezone:
                  type: string
                  default: America/Los_Angeles
                language:
                  type: string
                department:
                  type: integer
                  format: int64
                team:
                  type: integer
                  format: int64
                level:
                  type: string
                title:
                  type: string
                address:
                  type: string
                originally_hired:
                  type: string
                  format: date
                joined_on:
                  type: string
                  format: date
                terminated_on:
                  type: string
                  format: date
                employee_id:
                  type: string
                date_of_birth:
                  type: string
                  format: date
                phone_number:
                  type: string
                gender:
                  type: string
                state:
                  type: string
                city:
                  type: string
                country:
                  type: string
                hr:
                  type: integer
                  format: int64
                manager:
                  type: integer
                  format: int64
                is_deleted:
                  type: boolean
                deleted_at:
                  type: string
                  format: date-time
                employment_status:
                  type: string
                slack_id:
                  type: string
                azure_id:
                  type: string
                external_id:
                  type: string
                external_app_type:
                  $ref: '#/components/schemas/ApiV1UsersPostRequestBodyContentApplicationJsonSchemaExternalAppType'
                org_roles:
                  type: array
                  items:
                    type: integer
                    format: int64
                password:
                  type: string
                profile_image:
                  type: integer
                  format: int64
                custom_fields:
                  $ref: '#/components/schemas/ApiV1UsersPostRequestBodyContentApplicationJsonSchemaCustomFields'
                has_reporters:
                  type: boolean
                  default: false
                type:
                  $ref: '#/components/schemas/ApiV1UsersPostRequestBodyContentApplicationJsonSchemaType'
                workspaces:
                  type: array
                  items:
                    $ref: '#/components/schemas/ApiV1UsersPostRequestBodyContentApplicationJsonSchemaWorkspacesItems'
                notification_enabled:
                  type: boolean
                  default: true
  /api/v1/users/list:
    get:
      operationId: getapi-v-1-users-list
      summary: Get paginated users list
      tags:
      - users
      parameters:
      - name: search_key
        in: query
        description: ''
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: ''
        required: true
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        description: ''
        required: false
        schema:
          type: integer
          default: 25
      - name: sort_order
        in: query
        description: ''
        required: false
        schema:
          $ref: '#/components/schemas/ApiV1UsersListGetParametersSortOrder'
      - name: is_deleted
        in: query
        description: ''
        required: false
        schema:
          type: boolean
          default: false
      - name: has_slack
        in: query
        description: ''
        required: false
        schema:
          type: boolean
      - name: role
        in: query
        description: ''
        required: false
        schema:
          type: string
      - name: role_id
        in: query
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - name: user_status
        in: query
        description: ''
        required: false
        schema:
          $ref: '#/components/schemas/ApiV1UsersListGetParametersUserStatus'
      - name: invitation_status
        in: query
        description: ''
        required: false
        schema:
          $ref: '#/components/schemas/ApiV1UsersListGetParametersInvitationStatus'
      - name: types
        in: query
        description: Optional comma-separated list of user types to filter by
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/ApiV1UsersListGetParametersTypesSchemaItems'
      - name: expand
        in: query
        description: ''
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/ApiV1UsersListGetParametersExpandSchemaItems'
      - name: excluded_user_ids
        in: query
        description: ''
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int64
      - name: notification_enabled
        in: query
        description: Filter users by notification enabled status
        required: false
        schema:
          type: boolean
      - name: employee_id
        in: query
        description: Filter users by employee ID (exact match)
        required: false
        schema:
          type: string
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_getapi_v1_users_list_Response_200'
  /api/v1/users/{segment_id}/list:
    get:
      operationId: getapi-v-1-users-segment-id-list
      summary: Get paginated users list in a segment
      tags:
      - users
      parameters:
      - name: segment_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: search_key
        in: query
        description: ''
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: ''
        required: true
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        description: ''
        required: false
        schema:
          type: integer
          default: 25
      - name: sort_order
        in: query
        description: ''
        required: false
        schema:
          $ref: '#/components/schemas/ApiV1UsersSegmentIdListGetParametersSortOrder'
      - name: is_deleted
        in: query
        description: 'Filter by deactivation state. true returns only deactivated users, false returns only active users. When omitted, active users are returned by default unless include_deactivated is set. Do not add a schema default here: a materialised default makes the param non-null and renders include_deactivated unreachable in the controller.'
        required: false
        schema:
          type: boolean
      - name: role
        in: query
        description: ''
        required: false
        schema:
          type: string
      - name: type
        in: query
        description: Automation entity type (see allowed values in the enum schema).
        required: false
        schema:
          $ref: '#/components/schemas/ApiV1UsersSegmentIdListGetParametersType'
      - name: include_deactivated
        in: query
        description: ''
        required: false
        schema:
          type: boolean
          default: false
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_getapi_v1_users__segment_id__list_Response_200'
  /api/v1/users/{user_id}:
    get:
      operationId: getapi-v-1-users-user-id
      summary: Retrieve User
      tags:
      - users
      parameters:
      - name: user_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_getapi_v1_users__user_id_Response_200'
    put:
      operationId: putapi-v-1-users-user-id
      summary: Update User
      tags:
      - users
      parameters:
      - name: user_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_putapi_v1_users__user_id_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  format: email
                first_name:
                  type: string
                middle_name:
                  type: string
                last_name:
                  type: string
                personal_email:
                  type: string
                  format: email
                timezone:
                  type: string
                  default: America/Los_Angeles
                language:
                  type: string
                state:
                  type: string
                city:
                  type: string
                country:
                  type: string
                department:
                  type: integer
                  format: int64
                team:
                  type: integer
                  format: int64
                level:
                  type: string
                title:
                  type: string
                address:
                  type: string
                originally_hired:
                  type: string
                  format: date
                joined_on:
                  type: string
                  format: date
                terminated_on:
                  type: string
                  format: date
                employee_id:
                  type: string
                date_of_birth:
                  type: string
                  format: date
                phone_number:
                  type: string
                gender:
                  type: string
                hr:
                  type: integer
                  format: int64
                manager:
                  type: integer
                  format: int64
                company_legal_entity:
                  type: integer
                  format: int64
                employment_status:
                  type: string
                slack_id:
                  type: string
                azure_id:
                  type: string
                external_id:
                  type: string
                external_app_type:
                  $ref: '#/components/schemas/ApiV1UsersUserIdPutRequestBodyContentApplicationJsonSchemaExternalAppType'
                org_roles:
                  type: array
                  items:
                    type: integer
                    format: int64
                password:
                  type: string
                profile_image:
                  type: integer
                  format: int64
                custom_fields:
                  $ref: '#/components/schemas/ApiV1UsersUserIdPutRequestBodyContentApplicationJsonSchemaCustomFields'
                is_deleted:
                  type: boolean
                has_reporters:
                  type: boolean
                  default: false
                notification_enabled:
                  type: boolean
                  description: Enable/disable notifications for the user
    delete:
      operationId: deleteapi-v-1-users-user-id
      summary: Delete user from organization
      tags:
      - users
      parameters:
      - name: user_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_deleteapi_v1_users__user_id_Response_200'
    patch:
      operationId: patchapi-v-1-users-user-id
      summary: Patch a user
      tags:
      - users
      parameters:
      - name: user_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_patchapi_v1_users__user_id_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
  /api/v1/users/{user_id}/properties:
    post:
      operationId: postapi-v-1-users-user-id-properties
      summary: Patch a user
      tags:
      - users
      parameters:
      - name: user_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_postapi_v1_users__user_id__properties_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
  /api/v1/users/{user_id}/restore:
    patch:
      operationId: patchapi-v-1-users-user-id-restore
      summary: Restore a user
      tags:
      - users
      parameters:
      - name: user_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_patchapi_v1_users__user_id__restore_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
  /api/v1/users/{email}/restore-by-email:
    patch:
      operationId: patchapi-v-1-users-email-restore-by-email
      summary: Restore user in organization
      tags:
      - users
      parameters:
      - name: email
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_patchapi_v1_users__email__restore_by_email_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
  /api/v1/users/{email}/email-lookup:
    get:
      operationId: getapi-v-1-users-email-email-lookup
      summary: Get a user by email
      tags:
      - users
      parameters:
      - name: email
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: X-Api-Key
        in: header
        required: true
        schema:
          type: string
      - name: X-Workspace-Id
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users_getapi_v1_users__email__email_lookup_Response_200'
components:
  schemas:
    ApiV1UsersGetParametersTypesSchemaItems:
      type: string
      enum:
      - EMPLOYEE
      - EXTERNAL
      - AI_EMPLOYEE
      title: ApiV1UsersGetParametersTypesSchemaItems
    ApiV1UsersSegmentIdListGetParametersType:
      type: string
      enum:
      - EMPLOYEE
      - EXTERNAL
      - AI_EMPLOYEE
      title: ApiV1UsersSegmentIdListGetParametersType
    ApiV1UsersPostRequestBodyContentApplicationJsonSchemaCustomFields:
      type: object
      properties: {}
      title: ApiV1UsersPostRequestBodyContentApplicationJsonSchemaCustomFields
    Users_patchapi_v1_users__email__restore_by_email_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_patchapi_v1_users__email__restore_by_email_Response_200
    ApiV1UsersListGetParametersInvitationStatus:
      type: string
      enum:
      - ADDED
      - EMAIL_INVITE_SENT
      - ACCEPTED
      title: ApiV1UsersListGetParametersInvitationStatus
    Users_getapi_v1_users_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_getapi_v1_users_Response_200
    Users_putapi_v1_users__user_id_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_putapi_v1_users__user_id_Response_200
    Users_getapi_v1_users_list_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_getapi_v1_users_list_Response_200
    Users_deleteapi_v1_users__user_id_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_deleteapi_v1_users__user_id_Response_200
    Users_postapi_v1_users_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_postapi_v1_users_Response_200
    ApiV1UsersInvitePostRequestBodyContentApplicationJsonSchemaType:
      type: string
      enum:
      - EMPLOYEE
      - EXTERNAL
      - AI_EMPLOYEE
      title: ApiV1UsersInvitePostRequestBodyContentApplicationJsonSchemaType
    Users_patchapi_v1_users__user_id__restore_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_patchapi_v1_users__user_id__restore_Response_200
    Users_getapi_v1_users__segment_id__list_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_getapi_v1_users__segment_id__list_Response_200
    Users_postapi_v1_users_invite_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_postapi_v1_users_invite_Response_200
    ApiV1UsersWorkspacesInvitePostRequestBodyContentApplicationJsonSchemaType:
      type: string
      enum:
      - EMPLOYEE
      - EXTERNAL
      - AI_EMPLOYEE
      title: ApiV1UsersWorkspacesInvitePostRequestBodyContentApplicationJsonSchemaType
    ApiV1UsersPostRequestBodyContentApplicationJsonSchemaExternalAppType:
      type: string
      enum:
      - MICROSOFT
      - OKTA
      - GOOGLE
      - RAPID7
      - JUMPCLOUD
      title: ApiV1UsersPostRequestBodyContentApplicationJsonSchemaExternalAppType
    Users_postapi_v1_users_workspaces_invite_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_postapi_v1_users_workspaces_invite_Response_200
    ApiV1UsersListGetParametersSortOrder:
      type: string
      enum:
      - CREATED_AT_DESC
      - CREATED_AT_ASC
      - UPDATED_AT_DESC
      - UPDATED_AT_ASC
      - NAME_EMAIL_ASC
      - NAME_EMAIL_DESC
      title: ApiV1UsersListGetParametersSortOrder
    Users_getapi_v1_users__user_id_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_getapi_v1_users__user_id_Response_200
    ApiV1UsersPostRequestBodyContentApplicationJsonSchemaWorkspacesItems:
      type: object
      properties:
        id:
          type: integer
          format: int64
        roles:
          type: array
          items:
            type: integer
            format: int64
      title: ApiV1UsersPostRequestBodyContentApplicationJsonSchemaWorkspacesItems
    Users_patchapi_v1_users__user_id_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_patchapi_v1_users__user_id_Response_200
    ApiV1UsersUserIdPutRequestBodyContentApplicationJsonSchemaExternalAppType:
      type: string
      enum:
      - MICROSOFT
      - OKTA
      - GOOGLE
      - RAPID7
      - JUMPCLOUD
      title: ApiV1UsersUserIdPutRequestBodyContentApplicationJsonSchemaExternalAppType
    ApiV1UsersListGetParametersExpandSchemaItems:
      type: string
      enum:
      - WORKSPACES
      title: ApiV1UsersListGetParametersExpandSchemaItems
    Users_getapi_v1_users__email__email_lookup_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_getapi_v1_users__email__email_lookup_Response_200
    ApiV1UsersSegmentIdListGetParametersSortOrder:
      type: string
      enum:
      - CREATED_AT_DESC
      - CREATED_AT_ASC
      - UPDATED_AT_DESC
      - UPDATED_AT_ASC
      - NAME_EMAIL_ASC
      - NAME_EMAIL_DESC
      title: ApiV1UsersSegmentIdListGetParametersSortOrder
    ApiV1UsersWorkspacesInvitePostRequestBodyContentApplicationJsonSchemaWorkspacesItems:
      type: object
      properties:
        id:
          type: integer
          format: int64
        roles:
          type: array
          items:
            type: integer
            format: int64
      title: ApiV1UsersWorkspacesInvitePostRequestBodyContentApplicationJsonSchemaWorkspacesItems
    ApiV1UsersPostRequestBodyContentApplicationJsonSchemaType:
      type: string
      enum:
      - EMPLOYEE
      - EXTERNAL
      - AI_EMPLOYEE
      title: ApiV1UsersPostRequestBodyContentApplicationJsonSchemaType
    ApiV1UsersInvitePostRequestBodyContentApplicationJsonSchemaWorkspacesItems:
      type: object
      properties:
        id:
          type: integer
          format: int64
        roles:
          type: array
          items:
            type: integer
            format: int64
      title: ApiV1UsersInvitePostRequestBodyContentApplicationJsonSchemaWorkspacesItems
    Users_postapi_v1_users__user_id__properties_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Users_postapi_v1_users__user_id__properties_Response_200
    ApiV1UsersListGetParametersUserStatus:
      type: string
      enum:
      - ACTIVE
      - INACTIVE
      - ALL
      title: ApiV1UsersListGetParametersUserStatus
    ApiV1UsersListGetParametersTypesSchemaItems:
      type: string
      enum:
      - EMPLOYEE
      - EXTERNAL
      - AI_EMPLOYEE
      title: ApiV1UsersListGetParametersTypesSchemaItems
    ApiV1UsersUserIdPutRequestBodyContentApplicationJsonSchemaCustomFields:
      type: object
      properties: {}
      title: ApiV1UsersUserIdPutRequestBodyContentApplicationJsonSchemaCustomFields
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key