Laurel Users API

The Users API from Laurel — 28 operation(s) for users.

Operations 35

GET /api/v1/customers/{customerId}/users returns all users for a customer, filtered by optional search parameter #
GET /api/v2/customers/{customerId}/users #
GET /api/v1/customers/{customerId}/users-lite #
GET /api/v1/customers/{customerId}/users/by-ids Get multiple users by their IDs #
GET /api/v1/customers/{customerId}/users/lookup #
POST /api/v1/customers/{customerId}/users/batch/lookup Look up multiple users by identities #
POST /api/v1/customers/{customerId}/users/translate-timekeeper-ids Translate timekeeper IDs to user IDs #
POST /api/v1/customers/{customerId}/users/lookup/identity #
GET /api/v2/customers/{customerId}/users/lookup/identity #
GET /api/v1/customers/{customerId}/users/{userId}/identities #
POST /api/v1/customers/{customerId}/users/{userId}/identities #
PUT /api/v1/customers/{customerId}/users/{userId}/identities #
PATCH /api/v1/customers/{customerId}/users/{userId}/super-delegate #
GET /api/v1/customers/{customerId}/users/{userId} returns a user by its id #
PATCH /api/v1/customers/{customerId}/users/{userId} updates a user #
DELETE /api/v1/customers/{customerId}/users/{userId} deletes a user #
PATCH /api/v2/customers/{customerId}/users/{userId} #
PATCH /api/v1/customers/{customerId}/users/{userId}/status #
POST /api/v1/customers/{customerId}/users/{userId}/identities/bulk Add multiple identities to a user #
POST /api/v1/customers/{customerId}/users/{userId}/email-aliases Add email aliases #
DELETE /api/v1/customers/{customerId}/users/{userId}/email-aliases Remove an email alias #
GET /api/v1/customers/{customerId}/users/{userId}/email-aliases Get email aliases #
POST /api/v1/customers/{customerId}/users/import #
POST /api/v2/customers/{customerId}/users/import #
POST /api/v1/customers/{customerId}/users/batch/import #
POST /api/v2/customers/{customerId}/users/batch/import #
POST /api/v1/users creates a user for a given customer #
GET /api/v1/users/lookup looks a user up by their external identity #
POST /api/v1/users/on-auth called by auth0 when tokens are generated #
POST /api/v1/users/on-broker-auth called by the auth0 token-exchange action during broker-based login #
GET /api/v1/users/current returns the current user #
PATCH /api/v1/users/current update current user's name, nickname or phone number #
GET /api/v1/users/{userId} #
POST /api/v1/customers/{customerId}/users/delegates #
POST /api/v1/customers/{customerId}/users/delegates/batch #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/laurel-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

laurel-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Identity Service Ably Users API
  description: ''
  version: '1'
  contact: {}
servers: []
security:
- ApiBearerAuth: []
tags:
- name: Users
paths:
  /api/v1/customers/{customerId}/users:
    get:
      operationId: CustomerUserController_search_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: search
        required: false
        in: query
        description: searches first & last names, nickname, & email using a query
        schema:
          type: string
      - name: integration
        required: false
        in: query
        schema:
          type:
          - string
          - 'null'
          enum:
          - cloud-assistant-cdr
          - cloud-assistant-google
          - cloud-assistant-microsoft-exchange
          - cloud-assistant-microsoft-teams
          - cloud-assistant-zoom
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/User'
                - $ref: '#/components/schemas/UserIntegrationProjection'
      summary: returns all users for a customer, filtered by optional search parameter
      tags:
      - Users
  /api/v2/customers/{customerId}/users:
    get:
      operationId: CustomerUserController_searchV2_v2
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: page
        required: false
        in: query
        schema:
          minimum: 1
          format: int64
          type: number
      - name: pageSize
        required: false
        in: query
        schema:
          minimum: 1
          maximum: 150
          format: int64
          type: number
      - name: search
        required: false
        in: query
        schema:
          minLength: 2
          maxLength: 100
          type:
          - string
          - 'null'
      - name: includeRoles
        required: false
        in: query
        schema:
          type:
          - array
          - 'null'
          items:
            type: string
      - name: excludeRoles
        required: false
        in: query
        schema:
          type:
          - array
          - 'null'
          items:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchUsersResponseDto'
      tags:
      - Users
  /api/v1/customers/{customerId}/users-lite:
    get:
      operationId: CustomerUserController_searchLite_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: search
        required: false
        in: query
        description: searches first & last names, nickname, & email using a query
        schema:
          type: string
      - name: integration
        required: false
        in: query
        schema:
          type:
          - string
          - 'null'
          enum:
          - cloud-assistant-cdr
          - cloud-assistant-google
          - cloud-assistant-microsoft-exchange
          - cloud-assistant-microsoft-teams
          - cloud-assistant-zoom
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserLite'
      tags:
      - Users
  /api/v1/customers/{customerId}/users/by-ids:
    get:
      description: Retrieve multiple users from a customer by providing user IDs as repeated query parameters (userIds=id1&userIds=id2&userIds=id3). Maximum 50 IDs per request.
      operationId: CustomerUserController_getUsersByIds_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userIds
        required: true
        in: query
        schema:
          minItems: 1
          maxItems: 50
          type: array
          items:
            type: string
            format: objectid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
      summary: Get multiple users by their IDs
      tags:
      - Users
  /api/v1/customers/{customerId}/users/lookup:
    get:
      operationId: CustomerUserController_lookupUser_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
      tags:
      - Users
  /api/v1/customers/{customerId}/users/batch/lookup:
    post:
      description: Batch equivalent of GET users/lookup. Returns every distinct user under the customer who matches at least one of the given identities.
      operationId: CustomerUserController_lookupUsersBatch_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookupUsersBatchRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  users:
                    items:
                      $ref: '#/components/schemas/User'
                    type: array
                required:
                - users
                type: object
      summary: Look up multiple users by identities
      tags:
      - Users
  /api/v1/customers/{customerId}/users/translate-timekeeper-ids:
    post:
      operationId: CustomerUserController_translateTimekeeperIdsToUserIds_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TranslateTimekeeperIdsRequestDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranslateTimekeeperIdsResponseDto'
      summary: Translate timekeeper IDs to user IDs
      tags:
      - Users
  /api/v1/customers/{customerId}/users/lookup/identity:
    post:
      deprecated: true
      operationId: CustomerUserController_lookupUserIdentityType_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                email:
                  example: email address of the user
                  type: string
                identityType:
                  example: Identity type of the user
                  type: string
              required:
              - email
              - identityType
              type: object
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
      summary: ''
      tags:
      - Users
  /api/v2/customers/{customerId}/users/lookup/identity:
    get:
      operationId: CustomerUserController_lookupUserByIdentity_v2
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: type
        required: true
        in: query
        description: type of the external identity
        schema:
          type: string
          enum:
          - aderant
          - auth0
          - azure
          - email
          - external-billing-system
          - elite
          - intercom
          - juris
          - cisco-cdr
          - mixpanel
          - phone
          - phone-extension
          - salesforce
          - segment
          - vitally
          - walls
          - zendesk
          - zoom
          - exchange
          - user-principal-name
          - cisco-webex
          - ringcentral
          - google
      - name: value
        required: true
        in: query
        description: external identifier
        schema:
          minLength: 1
          maxLength: 256
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
      - Users
  /api/v1/customers/{customerId}/users/{userId}/identities:
    get:
      operationId: CustomerUserController_lookupUserIdentity_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Identity'
      tags:
      - Users
    post:
      operationId: CustomerUserController_createNewUserIdentity_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Identity'
      responses:
        '201':
          description: ''
      tags:
      - Users
    put:
      operationId: CustomerUserController_updateUserIdentity_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Identity'
      responses:
        '200':
          description: ''
      tags:
      - Users
  /api/v1/customers/{customerId}/users/{userId}/super-delegate:
    patch:
      operationId: CustomerUserController_setUserSuperDelegateStatus_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetSuperDelegateDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
      - Users
  /api/v1/customers/{customerId}/users/{userId}:
    get:
      operationId: CustomerUserController_get_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponseDto'
      summary: returns a user by its id
      tags:
      - Users
    patch:
      operationId: CustomerUserController_update_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      summary: updates a user
      tags:
      - Users
    delete:
      operationId: CustomerUserController_delete_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      - name: isForwarded
        required: false
        in: query
        schema:
          type:
          - boolean
          - 'null'
      - name: originalPrincipalClientId
        required: false
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: originalPrincipalCustomerId
        required: false
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: originalPrincipalUserId
        required: false
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      summary: deletes a user
      tags:
      - Users
  /api/v2/customers/{customerId}/users/{userId}:
    patch:
      operationId: CustomerUserController_updateV2_v2
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserV2Dto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
      - Users
  /api/v1/customers/{customerId}/users/{userId}/status:
    patch:
      operationId: CustomerUserController_updateStatus_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserStatusDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
      - Users
  /api/v1/customers/{customerId}/users/{userId}/identities/bulk:
    post:
      description: Adds multiple external identities to a specific user in a single request. Prevents duplicate identities with the same type and value.
      operationId: CustomerUserController_createBulkUserIdentities_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        description: Array of identities to add to the user
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUserIdentitiesBulkDto'
      responses:
        '200':
          description: All identities successfully added to user
      summary: Add multiple identities to a user
      tags:
      - Users
  /api/v1/customers/{customerId}/users/{userId}/email-aliases:
    post:
      description: Adds one or more email aliases to a user. Each alias must be unique within the customer (across both aliases and primary emails).
      operationId: CustomerUserController_createEmailAliases_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddEmailAliasesRequestDto'
      responses:
        '201':
          description: ''
      summary: Add email aliases
      tags:
      - Users
    delete:
      description: Removes an email alias from a user.
      operationId: CustomerUserController_deleteEmailAlias_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      - name: email
        required: true
        in: query
        description: Email alias address to remove
        schema:
          format: email
          example: alias@example.com
          type: string
      responses:
        '200':
          description: ''
      summary: Remove an email alias
      tags:
      - Users
    get:
      description: Returns all email aliases for a user.
      operationId: CustomerUserController_getEmailAliases_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAliasesResponseDto'
      summary: Get email aliases
      tags:
      - Users
  /api/v1/customers/{customerId}/users/import:
    post:
      deprecated: true
      operationId: CustomerUserController_deprecatedImport_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportOneUserDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: string
      summary: ''
      tags:
      - Users
  /api/v2/customers/{customerId}/users/import:
    post:
      operationId: CustomerUserController_importV2_v2
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportUserV2Dto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
      - Users
  /api/v1/customers/{customerId}/users/batch/import:
    post:
      deprecated: true
      operationId: CustomerUserController_postUserData_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: string
      summary: ''
      tags:
      - Users
  /api/v2/customers/{customerId}/users/batch/import:
    post:
      deprecated: true
      operationId: CustomerUserController_postUserDataV2_v2
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportManyUserDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: string
      summary: ''
      tags:
      - Users
  /api/v1/users:
    post:
      operationId: UserController_create_v1
      parameters:
      - name: disableIdValidation
        required: false
        in: query
        schema:
          type:
          - boolean
          - 'null'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserV1Dto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      summary: creates a user for a given customer
      tags:
      - Users
  /api/v1/users/lookup:
    get:
      deprecated: true
      operationId: UserController_lookup_v1
      parameters:
      - name: type
        required: true
        in: query
        description: type of the external identity
        schema:
          type: string
          enum:
          - aderant
          - auth0
          - azure
          - email
          - external-billing-system
          - elite
          - intercom
          - juris
          - cisco-cdr
          - mixpanel
          - phone
          - phone-extension
          - salesforce
          - segment
          - vitally
          - walls
          - zendesk
          - zoom
          - exchange
          - user-principal-name
          - cisco-webex
          - ringcentral
          - google
      - name: value
        required: true
        in: query
        description: external identifier
        schema:
          type: string
      - name: customerId
        required: false
        in: query
        description: optional customer id to bind the identity to
        schema:
          format: objectid
          type:
          - string
          - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      summary: looks a user up by their external identity
      tags:
      - Users
  /api/v1/users/on-auth:
    post:
      operationId: UserController_onAuth_v1
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnAuthRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnAuthResponseDto'
      summary: called by auth0 when tokens are generated
      tags:
      - Users
  /api/v1/users/on-broker-auth:
    post:
      operationId: UserController_onBrokerAuth_v1
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnBrokerAuthRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnAuthResponseDto'
      summary: called by the auth0 token-exchange action during broker-based login
      tags:
      - Users
  /api/v1/users/current:
    get:
      operationId: UserController_findCurrentUser_v1
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      summary: returns the current user
      tags:
      - Users
    patch:
      operationId: UserController_updateCurrent_v1
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCurrentUserDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      summary: update current user's name, nickname or phone number
      tags:
      - Users
  /api/v1/users/{userId}:
    get:
      operationId: UserController_get_v1
      parameters:
      - name: userId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
      - Users
  /api/v1/customers/{customerId}/users/delegates:
    post:
      description: Create an async job that will update user delegates
      operationId: UsersController_updateUserDelegates_v1
      parameters:
      - name: customerId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserDelegatesDto'
      responses:
        '201':
          description: ''
      summary: ''
      tags:
      - Users
  /api/v1/customers/{customerId}/users/delegates/batch:
    post:
      description: Create an async job that will update delegates for a batch of users.
      operationId: UsersController_updateUserDelegatesBatch_v1
      parameters:
      - name: customerId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      - name: isInitial
        required: false
        in: query
        schema:
          type: boolean
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserDelegatesBatchDto'
      responses:
        '201':
          description: ''
      summary: ''
      tags:
      - Users
components:
  schemas:
    AddUserIdentitiesBulkDto:
      type: object
      properties:
        identities:
          description: Array of identities to add to the user
          example:
          - type: email
            value: user@example.com
          - type: phone
            value: '+1234567890'
          - type: auth0
            value: auth0|1234567890
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/AddUserIdentityDto'
      required:
      - identities
    CustomerDigest:
      type: object
      properties:
        _id:
          type: string
          description: customer's id
          format: objectid
        fullName:
          type: string
          description: customer's full name
        tenant:
          description: customer's tenant information
          allOf:
          - $ref: '#/components/schemas/TenantDigest'
        customerSegment:
          type:
          - string
          - 'null'
          description: customer's segment
          enum:
          - strategic
          - enterprise
          - mid-market
          - smb
        vertical:
          type:
          - string
          - 'null'
          description: customer's vertical
          enum:
          - legal
          - accounting
      required:
      - _id
      - fullName
      - tenant
    UpdateCurrentUserDto:
      type: object
      properties:
        delegateIds:
          description: if set, will update users who delegate their work to this user
          type: array
          items:
            type: string
            format: objectid
        firstName:
          type: string
          description: if set, will update user's first name
        email:
          type: string
          description: if set, will update user's email
          example: user@example.com
          format: email
        jobTitle:
          type: string
          description: if set, will update user's job title
        lastName:
          type: string
          description: if set, will update user's last name
        nickname:
          type: string
          description: if set, will update user's nickname, can be empty
        seniority:
          type: string
          description: if set, will update user's seniority level
        department:
          type: string
          description: if set, will update user's department
        office:
          type: string
          description: if set, will update user's office
        subdepartment:
          type: string
          description: if set, will update user's subdepartment
        pod:
          type: string
          description: if set, will update user's pod
        phone:
          type: string
          description: user's phone external identity
    Identity:
      type: object
      properties:
        type:
          description: type of the external identity
          enum:
          - aderant
          - auth0
          - azure
          - email
          - external-billing-system
          - elite
          - intercom
          - juris
          - cisco-cdr
          - mixpanel
          - phone
          - phone-extension
          - salesforce
          - segment
          - vitally
          - walls
          - zendesk
          - zoom
          - exchange
          - user-principal-name
          - cisco-webex
          - ringcentral
          - google
          type: string
        value:
          type: string
          description: external identifier
        customerId:
          type:
          - string
          - 'null'
          description: optional customer id to bind the iden

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/laurel/refs/heads/main/openapi/laurel-users-api-openapi.yml