Coveo Organization API

API for Coveo Platform

OpenAPI Specification

coveo-organization-openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: Coveo Organization API
  description: API for Coveo Platform
  termsOfService: https://www.coveo.com/en/support/terms-agreements
  contact:
    name: Coveo
    url: https://connect.coveo.com/s/discussions
  version: 1.0.0
servers:
- url: https://platform.cloud.coveo.com
  description: Coveo public API endpoint
security:
- oauth2:
  - full
paths:
  /rest/organizations/{organizationId}:
    get:
      tags:
      - Organizations
      summary: Show Organization
      description: Shows an [organization](https://docs.coveo.com/en/185/).
      operationId: getOrganization
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
          `mycoveocloudv2organizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: additionalFields
        in: query
        description: A line-separated list of additional fields to include.</br>**Example:** `license`</br>`status`
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrganizationModel_Response'
      x-pretty-name: getOrganization
      x-ui-operation-id: /rest/organizations/paramId_get
    put:
      tags:
      - Organizations
      summary: Update Organization
      description: Updates an [organization](https://docs.coveo.com/en/185/).
      operationId: updateOrganization
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
          `mycoveocloudv2organizationg8tp8wu3`
        required: true
        schema:
          type: string
      requestBody:
        description: The JSON configuration to update the target organization to.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationModel_Request'
        required: true
      responses:
        '204':
          description: No Content
      x-pretty-name: updateOrganization
      x-ui-operation-id: /rest/organizations/paramId_put
    delete:
      tags:
      - Organizations
      summary: Delete Organization
      description: Delete an [organization](https://docs.coveo.com/en/185/).
      externalDocs:
        description: Delete an organization
        url: https://docs.coveo.com/en/22/
      operationId: deleteOrganization
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
          `mycoveocloudv2organizationg8tp8wu3`
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-pretty-name: deleteOrganization
      x-ui-operation-id: /rest/organizations/paramId_delete
  /rest/organizations/{organizationId}/configuration/servingExperiment:
    put:
      tags:
      - Organizations
      summary: Allow or Disallow Serving Experiments on the Organization. It Is Allowed by Default.
      operationId: setServingExperiment
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
          `mycoveocloudv2organizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: allowed
        in: query
        description: Whether serving experiments are allowed
        required: true
        schema:
          type: boolean
      responses:
        '204':
          description: No Content
      x-pretty-name: setServingExperiment
      x-ui-operation-id: /rest/organizations/paramId/configuration/servingExperiment_put
  /rest/organizations:
    get:
      tags:
      - Organizations
      summary: List Organizations
      description: Lists all [organizations](https://docs.coveo.com/en/185/) you have access to.
      operationId: getOrganizations
      parameters:
      - name: additionalFields
        in: query
        description: A line-separated list of additional fields to include.</br>**Example:** `license`</br>`status`
        required: false
        schema:
          type: array
          items:
            type: string
      - name: filter
        in: query
        description: The free-form string to filter the returned list based on the values of the organization attributes.
          Using spaces is not recommended as it will prevent correct filtering.
        required: false
        schema:
          type: string
      - name: type
        in: query
        description: The type of organization to include in the returned list.</br>**Example:** `Test`</br>By default, organizations
          of all types may be included in the response.
        required: false
        schema:
          type: string
      - name: sortBy
        in: query
        description: The field to sort the returned organizations by.</br>**Example:** `createdDate`</br>**Default:** `displayName`
        required: false
        schema:
          type: string
          default: displayName
      - name: order
        in: query
        description: 'The `sortBy` order to list the organizations in.</br>**Allowed values:**</br> - `ASC`: Ascending order.</br>-
          `DESC`: Descending order. </br>**Example:** `DESC`</br>**Default:** `ASC`'
        required: false
        schema:
          type: string
          default: asc
      - name: page
        in: query
        description: The 0-based index number of the page to list.</br>**Example:** `5`</br>**Default:** `0`
        required: false
        schema:
          type: integer
          format: int32
          default: 0
      - name: perPage
        in: query
        description: The maximum number of organizations to list per page.</br>**Example:** `50`</br>**Default:** `100`
        required: false
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageModelOrganizationModel_Response'
      x-pretty-name: getOrganizations
      x-ui-operation-id: /rest/organizations_get
    post:
      tags:
      - Organizations
      summary: Create Organization
      description: Creates an [organization](https://docs.coveo.com/en/185/).
      operationId: createOrganization
      parameters:
      - name: name
        in: query
        description: The name to assign to the new organization.
        required: true
        schema:
          type: string
      - name: owner
        in: query
        description: The email of the owner to assign to the new organization.
        required: false
        schema:
          type: string
          default: ''
      - name: organizationTemplate
        in: query
        description: The name of the template to base the new organization on.
        required: false
        schema:
          type: string
          default: ''
        example: TRIAL
      responses:
        '201':
          description: Created
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrganizationCreatedModel'
      x-pretty-name: createOrganization
      x-ui-operation-id: /rest/organizations_post
  /rest/organizations/{organizationId}/resume:
    post:
      tags:
      - Organizations
      summary: Resume Organization
      description: Resumes a paused [organization](https://docs.coveo.com/en/185/).
      externalDocs:
        description: About inactive organizations
        url: https://docs.coveo.com/en/2959#about-inactive-organizations
      operationId: resumeOrganization
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
          `mycoveocloudv2organizationg8tp8wu3`
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ValueModelBoolean'
      x-pretty-name: resumeOrganization
      x-ui-operation-id: /rest/organizations/paramId/resume_post
  /rest/organizations/{organizationId}/launchprovisioning:
    post:
      tags:
      - Organizations
      summary: Provision Organization
      description: Launches the provisioning of an [organization](https://docs.coveo.com/en/185/).
      operationId: launchProvisioning
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
          `mycoveocloudv2organizationg8tp8wu3`
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-pretty-name: launchProvisioning
      x-ui-operation-id: /rest/organizations/paramId/launchprovisioning_post
  /rest/organizations/{organizationId}/status:
    get:
      tags:
      - Organizations
      summary: Show Organization Status
      description: Shows the status of an [organization](https://docs.coveo.com/en/185/).
      externalDocs:
        description: About Coveo system issue notifications
        url: https://docs.coveo.com/en/1684/
      operationId: getOrganizationStatus
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
          `mycoveocloudv2organizationg8tp8wu3`
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrganizationStatusModel'
      x-pretty-name: getOrganizationStatus
      x-ui-operation-id: /rest/organizations/paramId/status_get
  /rest/monitoring/global/organizations/{organizationId}/usage/regions:
    get:
      tags:
      - Organization Endpoints Monitoring
      summary: Get Usage Per Region for an Organization.
      description: '<details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"ORGANIZATION","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getRegionUsage
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: numberOfDaysToInclude
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 7
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RegionUsageModel'
      x-pretty-name: getRegionUsage
      x-required-privilege:
        owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/monitoring/global/organizations/paramId/usage/regions_get
  /rest/monitoring/global/organizations/{organizationId}/search-hubs/usage:
    get:
      tags:
      - Organization Endpoints Monitoring
      summary: Get the Search Hubs Usage for an Organization.
      description: '<details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"ORGANIZATION","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getSearchHubUsage
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: hostname
        in: query
        required: true
        schema:
          type: string
      - name: numberOfDaysToInclude
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 7
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 0
      - name: perPage
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 25
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageModelSearchHubUsageDetailsModel'
      x-pretty-name: getSearchHubUsage
      x-required-privilege:
        owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/monitoring/global/organizations/paramId/search-hubs/usage_get
  /rest/monitoring/global/organizations/{organizationId}/endpoints/usage:
    get:
      tags:
      - Organization Endpoints Monitoring
      summary: Get the Endpoints Usage for an Organization.
      description: '<details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"ORGANIZATION","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getEndpointUsage
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: numberOfDaysToInclude
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 7
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EndpointUsageModel'
      x-pretty-name: getEndpointUsage
      x-required-privilege:
        owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/monitoring/global/organizations/paramId/endpoints/usage_get
  /rest/monitoring/global/organizations/{organizationId}/endpoints/readiness:
    get:
      tags:
      - Organization Endpoints Monitoring
      summary: Get the Customer Endpoint Usage Status for an Organization.
      description: '<details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"ORGANIZATION","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getCustomerEndpointUsageStatus
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: numberOfDaysToInclude
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 7
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CustomerEndpointUsageStatusModel'
      x-pretty-name: getCustomerEndpointUsageStatus
      x-required-privilege:
        owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/monitoring/global/organizations/paramId/endpoints/readiness_get
  /rest/global/regions:
    get:
      tags:
      - Region Configuration
      summary: List Region Configurations
      description: Lists all available region configurations to access Coveo Cloud.
      operationId: getAllRegionConfigurations
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RegionConfigurationModel'
      x-pretty-name: getAllRegionConfigurations
      x-ui-operation-id: /rest/global/regions_get
  /rest/global/regions/{region}:
    get:
      tags:
      - Region Configuration
      summary: Show Region Configuration
      description: Shows the configuration of a specific region.
      operationId: getRegionConfiguration
      parameters:
      - name: region
        in: path
        required: true
        schema:
          type: string
          enum:
          - ca-central-1
          - ca-west-1
          - us-gov-west-1
          - us-gov-east-1
          - us-east-1
          - us-east-2
          - us-west-1
          - us-west-2
          - sa-east-1
          - eu-north-1
          - eu-south-1
          - eu-south-2
          - eu-central-1
          - eu-central-2
          - eu-west-1
          - eu-west-2
          - eu-west-3
          - me-south-1
          - me-central-1
          - ap-northeast-1
          - ap-northeast-2
          - ap-northeast-3
          - ap-south-1
          - ap-south-2
          - ap-southeast-1
          - ap-southeast-2
          - ap-southeast-3
          - ap-southeast-4
          - ap-southeast-5
          - ap-southeast-6
          - ap-southeast-7
          - ap-east-1
          - ap-east-2
          - cn-north-1
          - cn-northwest-1
          - af-south-1
          - il-central-1
          - mx-central-1
          - unknown-region
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RegionConfigurationModel'
      x-pretty-name: getRegionConfiguration
      x-ui-operation-id: /rest/global/regions/paramId_get
  /rest/global/organizations:
    get:
      tags:
      - Organization Global Configuration
      summary: Get All Organization Global Configurations
      operationId: getOrganizationGlobalConfigurations
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 0
      - name: perPage
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageModelOrganizationGlobalConfigurationModel'
      x-pretty-name: getOrganizationGlobalConfigurations
      x-ui-operation-id: /rest/global/organizations_get
  /rest/global/organizations/{organizationId}:
    get:
      tags:
      - Organization Global Configuration
      summary: Get Organization Global Configuration
      description: '<details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"ORGANIZATION","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getOrganizationGlobalConfiguration
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrganizationGlobalConfigurationModel'
      x-pretty-name: getOrganizationGlobalConfiguration
      x-required-privilege:
        owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: ORGANIZATION
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/global/organizations/paramId_get
components:
  schemas:
    OrganizationModel_Request:
      type: object
      properties:
        displayName:
          maxLength: 255
          type: string
          description: The display name of the organization.
        owner:
          $ref: '#/components/schemas/OrganizationOwnerModel_Request'
      description: An [organization](https://docs.coveo.com/en/185/).
    OrganizationOwnerModel_Request:
      type: object
      properties:
        email:
          type: string
          description: The email address of the organization owner.
      description: The owner of the [organization](https://docs.coveo.com/en/185/).
    AnalyticsConfigurationModel:
      type: object
      properties:
        event:
          $ref: '#/components/schemas/EventModel'
      description: The user information to send to Coveo Usage Analytics
    ApiKeyAdditionalConfigurationModel:
      type: object
      properties:
        commerce:
          $ref: '#/components/schemas/CommerceApiKeyConfigurationModel'
        search:
          $ref: '#/components/schemas/SearchApiKeyConfigurationModel'
        analytics:
          $ref: '#/components/schemas/AnalyticsConfigurationModel'
      description: The additional configuration to attach to the API key.
    ApiKeyExposureReportReasonResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the exposure reason
          example: 123e4567-e89b-12d3-a456-426614174000
        reason:
          type: string
          description: Reason for the API key exposure
          nullable: true
          example: The API key was found on a public repository
        source:
          type: string
          description: Source of the API key exposure reason
          example: MANUAL
          enum:
          - GITHUB
          - MANUAL
        url:
          type: string
          description: URL where the API key was found
          nullable: true
          example: https://example.com
        createdDate:
          type: string
          description: Date when the exposure reason was created
          format: date-time
          example: '2023-10-01T12:00:00Z'
      description: Response containing the reason for API key exposure, it contain at least one of the reason or url
      readOnly: true
    ApiKeyExposureReportResponse:
      type: object
      properties:
        apiKeyLoggerId:
          type: string
          description: The unique identifier of the API key.
          readOnly: true
          example: t4hk287bfj5sg6wskg64ckk5a
        severity:
          type: string
          description: The severity of the exposure report.
          readOnly: true
          example: CRITICAL
          enum:
          - CRITICAL
          - HIGH
          - MEDIUM
          - LOW
          - WARN
        deactivationDate:
          type: string
          description: The expected deactivation date of the API key according to the severity.
          format: date-time
          readOnly: true
        creationType:
          type: string
          description: The creation type of the exposure report
          readOnly: true
          example: MANUAL
          enum:
          - MANUAL
          - AUTOMATED
        createdBy:
          $ref: '#/components/schemas/UserModel'
        reasons:
          type: array
          description: The reasons for the API key exposure.
          readOnly: true
          items:
            $ref: '#/components/schemas/ApiKeyExposureReportReasonResponse'
        createdDate:
          type: string
          description: The date when the exposure report was created.
          format: date-time
          readOnly: true
      description: An API key Exposure Report
    ApiKeyModel:
      type: object
      properties:
        groupsThatCanEdit:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/IdAndDisplayNameModel'
        apiKeysThatCanEdit:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/IdAndDisplayNameModel'
        id:
          type: string
        tokenId:
          type: string
        value:
          type: string
        organizationId:
          type: string
        displayName:
          type: string
        description:
          type: string
        privileges:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/PrivilegeModel'
        enabled:
          type: boolean
        createdDate:
          type: string
          format: date-time
        createdBy:
          $ref: '#/components/schemas/UserModel'
        allowedIps:
          type: array
          items:
            type: string
        deniedIps:
          type: array
          items:
            type: string
        apiKeyTemplateId:
          type: string
        additionalConfiguration:
          $ref: '#/components/schemas/ApiKeyAdditionalConfigurationModel'
        lastUsedDate:
          type: string
          format: date-time
        privacyLevel:
          type: string
          enum:
          - PUBLIC
          - PRIVATE
        status:
          type: string
          enum:
          - ENABLED
          - SOON_TO_BE_EXPIRED
          - SOON_TO_BE_DISABLED
          - DISABLED
          - DISABLED_FOR_INACTIVITY
          - DISABLED_EXPOSED
          - EXPIRED
        expirationDate:
          type: string
          format: date-time
        lifetimeDuration:
          type: string
        disabledDate:
          type: string
          format: date-time
        activationDate:
          type: string
          format: date-time
        exposureReport:
          $ref: '#/components/schemas/ApiKeyExposureReportResponse'
        rotationEnabled:
          type: boolean
        rotationSecret:
          type: string
        disabled:
          type: boolean
        resourceId:
          type: string
    CommerceApiKeyConfigurationModel:
      type: object
      properties:
        catalogId:
          type: string
          description: The catalogId to enforce on the queries using the API key. </br>**Example:** `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b`
      description: The commerce configuration to enforce on the queries using the API key.
    EnforcedQueryPipelineConfigurationModel:
      type: object
      properties:
        searchHub:
          type: string
          description: The search hub to enforce on the queries using the API key. </br>**Example:** `SupportHub`
      description: The query pipeline configuration to enforce on the API key.
    EventModel:
      type: object
      properties:
        userId:
          type: string
          description: The unique identifier of the user.
        userDisplayName:
          type: string
          description: The display name of the user. **Example:** `Alice`
      description: The user information to send along with usage analytics events.
    IdAndDisplayNameModel:
      type: object
      properties:
        id:
          type: string
        displayName:
          type: string
    ImpersonatedUserModel:
      type: object
      properties:
        name:
          type: string
          description: The name of the security identity to impersonate.</br>**Example:** `[email protected]`
        provider:
          type: string
          description: The security identity provider containing the security identity to impersonate.</br>**Example:** `Email
            Security Provider`
        type:
          type: string
          description: The type of the security identity to impersonate.</br>**Default:** `User`</br> **Allowed values:**
            </br>- `User` </br>- `Group` </br>- `VirtualGroup` </br>- `Unknown`
      description: The security identities to impersonate when authenticating queries with the API key. </br>**Note:** If
        specified, the API key must have the `IMPERSONATE` privilege.
    ImpersonationRestrictionsModel:
      type: object
      properties:
        allowedUserIds:
          uniqueItems: true
          type: array
          description: The security identities to impersonate.
          items:
            $ref: '#/components/schemas/ImpersonatedUserModel'
      description: The security identities to impersonate when authenticating queries with the API key.
    OrganizationCreatedModel:
      type: object
      properties:
        id:
          type: string
          description: The [unique identifier of the organization](https://docs.coveo.com/en/n1ce5273/manage-an-organization/find-your-organization-id).</br>**Example:**
            `mycoveocloudorganizationg8tp8wu3`
        apiKey:
          $ref: '#/components/schemas/ApiKeyModel'
      description: Information pertaining to the newly created organization model.
    PrivilegeModel:
      type: object
      properties:
        type:
          type: string
          description: The type of the privilege.
          example: VIEW
        targetDomain:
          type: string
          description: The target domain of the privilege.
          example: ORGANIZATION
        targetId:
          type: string
          description: The identifier of the resource targeted by the privilege.<br/>**Note:** The wildcard character (`*`)
            will include _all_ resources.
          example: '*'
        owner:
          type: string
          description: The owner of the privilege.
          example: PLATFORM
      description: The [privilege](https://docs.coveo.com/en/228/) of a resource.
      externalDocs:
        description: Privilege reference
        url: https://docs.coveo.com/en/1707/
    RealmModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the realm.</br>**Example:** `example-domain.com`
        provider:
          type: string
          description: The provider of the realm.
          enum:
          - SALESFORCE
          - SALESFORCE_SANDBOX
          - GOOGLE
          - OFFICE365
          - SAML
          - EMAIL
        displayName:
          type: string
          description: The display name of the realm.</br>**Example:** `example.com`
        samlIdentityProviderId:
          type: string
          description: The unique identifier of the realm.</br>**Example:** `myprovider`
      description: A realm.
    SearchApiKeyConfigurationModel:
      type: object
      properties:
        enforcedQueryPipelineConfiguration:
          $ref: '#/components/schemas/EnforcedQueryPipelineConfigurationModel'
        impersonationRestrictions:
          $ref: '#/components/schemas/ImpersonationRestrictionsModel'
        apiKeyQueryAuthentication:
          uniqueItems: true
          type: array
          description: The security identity used to authenticate queries with the API key.
          items:
            $ref: '#/components/schemas/ImpersonatedUserModel'
      description: The Search API configuration to enforce in the API key.
    UserModel:
      type: object
      properties:
        username:
          type: string
          description: The username of the user.</br>**Example:** `[email protected]`
        name:
          type: string
          description: The full name of the user.</br>**Example:** `John Smith`
          nullable: true
        firstName:
          type: string
          description: The first name of the user.</br>**Example:** `John`
          nullable: true
        lastName:
          type: string
          description: The last name of the user.</br>**Example:** `Smith`
          nullable: true
        email:
          type: string
          description: The email address of the user.</br>**Example:**`[email protected]`
        emailConfirmed:
          type: boolean
          description: Whether the user has confirmed their email.
        displayName:
          type: string
          description: The display name of the user.</br>**Example:** `John Smith`
        country:
          type: string
          enum:
          - UNDEFINED
          - AC
          - AD
          - AE
          - AF
          - AG
          - AI
          - AL
          - AM
          - AN
          - AO
          - AQ
          - AR
          - AS
          - AT
          - AU
          - AW
          - AX
          - AZ
          - BA
          - BB
          - BD
          - BE
          - BF
          - BG
          - BH
          - BI
          - BJ
          - BL
          - BM
          - BN
          - BO
          - BQ
      

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/openapi/coveo-organization-openapi-original.yml