Laurel Public API

The Public API from Laurel — 32 operation(s) for public.

OpenAPI Specification

laurel-public-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Identity Service Ably Public API
  description: ''
  version: '1'
  contact: {}
servers: []
security:
- ApiBearerAuth: []
tags:
- name: Public
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:
          nullable: true
          type: string
          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:
      - Public
  /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:
      - Public
  /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:
      - Public
  /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:
      - Public
  /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:
      - Public
  /api/v1/oauth/token:
    post:
      operationId: OauthController_createServiceToken_v1
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateServiceTokenRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceTokenResponseDto'
      tags:
      - Public
  /api/v1/customers/{customerId}/clients/import:
    post:
      operationId: ClientsController_importClientV1_v1
      parameters:
      - name: customerId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportCustomerClientDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/clients/batch:
    post:
      operationId: ClientsController_importClientBatchV1_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/ImportCustomerClientsBatchDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/codes/import:
    post:
      operationId: CodesController_importCodeV1_v1
      parameters:
      - name: customerId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportCustomerCodeDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/codes/batch:
    post:
      operationId: CodesController_importCodeBatchV1_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/ImportCustomerCodesBatchDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /api/v2/customers/{customerId}/initiatives/consolidated-batch:
    post:
      operationId: InitiativesController_importInitiativesConsolidatedBatchV2_v2
      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/ImportCustomerInitiativesConsolidatedBatchDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/initiatives/{initiativeExternalId}/access:
    post:
      operationId: InitiativesController_setInitiativeAccessV1_v1
      parameters:
      - name: customerId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      - name: initiativeExternalId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetCustomerInitiativeAccessDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/initiatives/{initiativeExternalId}/codes:
    post:
      operationId: InitiativesController_setInitiativeCodesV1_v1
      parameters:
      - name: customerId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      - name: initiativeExternalId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetCustomerInitiativeCodesDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
    delete:
      operationId: InitiativesController_deleteInitiativeCodesV1_v1
      parameters:
      - name: customerId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      - name: initiativeExternalId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Public
  /api/v1/validations/customers/{customerId}/initiatives/{initiativeExternalId}/rules:
    post:
      operationId: EntryValidationRulesController_setOneForInitiative_v1
      parameters:
      - name: customerId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      - name: initiativeExternalId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetInitiativeLevelEntryValidationRulesDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /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:
      - Public
  /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:
      - Public
  /api/v1/customers/{customerId}/code-types/import:
    post:
      operationId: CustomerCodeTypeController_import_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportCustomerCodeTypeDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/initiatives/import:
    post:
      operationId: CustomerInitiativeController_import_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportCustomerInitiativeDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
  /api/v2/customers/{customerId}/initiatives/{initiativeExternalId}/codes:
    post:
      deprecated: true
      operationId: InitiativeCodesController_addInitiativeCodesV2_v2
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: initiativeExternalId
        required: true
        in: path
        description: initiative's external id
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddInitiativeCodesRequestDto'
      responses:
        '201':
          description: ''
      summary: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/initiatives/{initiativeExternalId}/code-types/{codeTypeExternalId}/codes:
    post:
      operationId: InitiativeCodesController_addInitiativeCodesByCodeType_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: initiativeExternalId
        required: true
        in: path
        schema:
          type: string
      - name: codeTypeExternalId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddInitiativeCodesRequestDto'
      responses:
        '201':
          description: ''
      tags:
      - Public
    delete:
      operationId: InitiativeCodesController_removeInitiativeCodesByCodeType_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: initiativeExternalId
        required: true
        in: path
        schema:
          type: string
      - name: codeTypeExternalId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/users/{userId}/code-types/{codeTypeId}/default-code:
    get:
      operationId: CustomerDefaultCodeController_findManyByCodeTypeIdForUser_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      - name: codeTypeId
        required: true
        in: path
        description: code type's id
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DefaultCode'
      tags:
      - Public
    post:
      operationId: CustomerDefaultCodeController_createOneForUser_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: userId
        required: true
        in: path
        description: user's id
        schema:
          format: objectid
          type: string
      - name: codeTypeId
        required: true
        in: path
        description: code type's id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDefaultCodeDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultCode'
      tags:
      - Public
  /api/v1/public/customers/{customerId}/entries/bulk-release:
    post:
      operationId: CustomerEntryPublicController_bulkRelease_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkReleaseEntryDto'
      responses:
        '202':
          description: ''
      tags:
      - Public
  /api/v1/public/customers/{customerId}/users/{userId}/entries/{entryId}/unrelease:
    post:
      operationId: CustomerEntryPublicController_unrelease_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: entryId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Public
  /api/v1/public/customers/{customerId}/users/{userId}/entries/{entryId}/override:
    patch:
      operationId: CustomerEntryPublicController_overrideOneEntry_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: entryId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OverrideOneEntryRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerEntryResponseDto'
      tags:
      - Public
  /api/v1/public/customers/{customerId}/users/{userId}/entries/{entryId}:
    delete:
      operationId: CustomerEntryPublicController_deleteOneEntry_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: entryId
        required: true
        in: path
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryResponseDto'
      tags:
      - Public
  /api/v1/customers/{customerId}/entries:
    get:
      deprecated: true
      operationId: CustomerEntryController_findManyWithUpdatedAt_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: updatedAfter
        required: true
        in: query
        description: the date after which the Entry was updated
        schema:
          format: iso-date-time
          example: '2022-08-12T20:44:48Z'
          type: string
      - name: updatedOnOrBefore
        required: true
        in: query
        description: the date on or before which the Entry was updated
        schema:
          format: iso-date-time
          example: '2022-08-12T20:44:48Z'
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerEntryResponseDto'
      summary: ''
      tags:
      - Public
  /api/v2/customers/{customerId}/entries:
    get:
      operationId: CustomerEntryController_findManyWithPagination_v2
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: updatedAfter
        required: true
        in: query
        description: the date after which the Entry was updated
        schema:
          format: iso-date-time
          example: '2022-08-12T20:44:48Z'
          type: string
      - name: updatedOnOrBefore
        required: true
        in: query
        description: the date on or before which the Entry was updated
        schema:
          format: iso-date-time
          example: '2022-08-12T20:44:48Z'
          type: string
      - name: pageSize
        required: false
        in: query
        description: max number of item in each page
        schema:
          minimum: 1
          maximum: 100
          format: int64
          type: number
      - name: cursor
        required: false
        in: query
        description: cursor to start from
        schema:
          format: objectid
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/CustomerEntryResponseDto'
                    type: array
                  nextCursor:
                    type: string
                type: object
      tags:
      - Public
  /api/v1/customers/{customerId}/entries/export:
    get:
      operationId: CustomerEntryController_export_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: releasedAfter
        required: true
        in: query
        description: the date after which the Entry was released
        schema:
          format: iso-date-time
          example: '2022-08-12T20:44:48Z'
          type: string
      - name: releasedOnOrBefore
        required: true
        in: query
        description: the date on or before which the Entry was released
        schema:
          format: iso-date-time
          example: '2022-08-12T20:44:48Z'
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExportEntryResponseDto'
      tags:
      - Public
  /api/v2/customers/{customerId}/entries/export:
    get:
      operationId: CustomerEntryController_exportV2_v2
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      - name: releasedAfter
        required: true
        in: query
        description: the date after which the Entry was released
        schema:
          format: iso-date-time
          example: '2022-08-12T20:44:48Z'
          type: string
      - name: releasedOnOrBefore
        required: true
        in: query
        description: the date on or before which the Entry was released
        schema:
          format: iso-date-time
          example: '2022-08-12T20:44:48Z'
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/entries/release-succeeded/batch:
    post:
      operationId: CustomerEntryController_batchReleaseSuccess_v1
      parameters:
      - name: customerId
        required: true
        in: path
        description: customer id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchReleaseSucceededRequestDto'
      responses:
        '207':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchReleaseSucceededResponseDto'
      tags:
      - Public
  /api/v1/customers/{customerId}/users/{userId}/entries/{entryId}/release-succeeded:
    post:
      operationId: CustomerEntryController_releaseSuccess_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: entryId
        required: true
        in: path
        description: individual entry id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReleaseSucceededRequestDto'
      responses:
        '200':
          description: ''
      tags:
      - Public
  /api/v1/customers/{customerId}/users/{userId}/entries/{entryId}/release-failed:
    post:
      operationId: CustomerEntryController_releaseFailed_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: entryId
        required: true
        in: path
        description: individual entry id
        schema:
          format: objectid
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReleaseFailedRequestDto'
      responses:
        '200':
          description: ''
      tags:
      - Public
components:
  schemas:
    BatchReleaseSucceededResponseDto:
      type: object
      properties:
        response:
          type: array
          items:
            $ref: '#/components/schemas/SingleEntryResponse'
      required:
      - response
    DelegatePermissionDto:
      type: object
      properties:
        claim:
          type: string
      required:
      - claim
    UpdateUserDelegatesBatchDto:
      type: object
      properties:
        users:
          description: Array of user delegate updates
          type: array
          items:
            $ref: '#/components/schemas/UpdateUserDelegatesDto'
      required:
      - users
    ReleaseSuccessInfo:
      type: object
      properties:
        status:
          enum:
          - release-success
          type: string
        releasedAt:
          type: string
          description: date and time entry was released
          example: '2022-08-12T20:44:48Z'
          format: iso-date-time
        releasedBy:
          type: string
          description: the identifier of the user who released the entry
          format: objectid
        reReleaseFailedMessages:
          type: array
          description: entry's re-release failed messages
          minItems: 1
          items:
            $ref: '#/components/schemas/ReleaseFailedError'
          nullable: true
      required:
      - status
      - releasedAt
      - releasedBy
    ReleaseSuccessLockedInfo:
      type: object
      properties:
        status:
          enum:
          - release-success-locked
          type: string
        releasedAt:
          type: string
          description: date and time entry was originally released to PMS
          example: '2022-08-12T20:44:48Z'
          format: iso-date-time
        releasedBy:
          type: string
          description: the identifier of the user who released the entry
          format: objectid
        lockedAt:
          type: string
          description: date the entry became locked in the PMS billing system
          example: '2022-08-12T20:44:48Z'
          format: iso-date-time
          nullable: true
        lastLockCheckAt:
          type: string
          description: date lock status was last checked by the Boomi job
          example: '2022-08-12T20:44:48Z'
          format: iso-date-time
        reReleaseFailedMessages:
          type: array
          description: entry's re-release failed messages (retained from previous release-success state)
          minItems: 1
          items:
            $ref: '#/components/schemas/ReleaseFailedError'
          nullable: true
      required:
      - status
      - releasedAt
      - releasedBy
      - lastLockCheckAt
    Dto:
      type: object
      properties:
        externalId:
          type: string
          description: code's external id
        name:
          type: string
          description: code's name
        description:
          type: string
          description: code's description, can be empty
        codeTypeExternalId:
          type: string
          description: code's type's external id
        orderingSequence:
          type: string
          description: ordering sequence for UI sorting (alphanumeric)
          nullable: true
        group:
          type: string
          description: group identifier for categorizing codes
          nullable: true
        isDisabled:
          type: boolean
          description: whether the code is disabled, added from ingestion process
          nullable: true
      required:
      - externalId
      - name
      - description
      - codeTypeExternalId
    ImportCustomerCodeTypeDto:
      type: object
      properties:
        externalId:
          type: string
          description: code type's external id
        name:
          type: string
          description: code type's name
        semanticType:
          type: string
          description: code type's semantic type
          enum:
          - action
          - activity
          - location
          - phase
          - task
        customerDefaultable:
          type: boolean
          description: can the default CodeType value be set at the customer-level
        userDefaultable:
          type: boolean
          description: can the default CodeType value be set at the user-level
        orderingSequence:
          type: string
          description: ordering sequence for UI sorting (alphanumeric)
      required:
      - externalId
      - name
    TenantDigest:
      type: object
      properties:
        _id:
          type: string
          description: tenant's id
          format: objectid
        description:
          type: string
          description: tenant's description, can be empty
        name:
          enum:
          - iad
          - lhr
          - syd
          - pdx
          - yul
          type: string
      required:
      - _id
      - description
      - name
    UpdateUserDelegatesDto:
      type: object
      properties:
        identity:
          description: Identity to match the user
          allOf:
          - $ref

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