Coveo Api Keys API

The Api Keys API from Coveo — 10 operation(s) for api keys.

Operations 13

PUT /rest/organizations/{organizationId}/apikeys/{sourceApiKeyId}/duplicate Duplicate API Key #
GET /rest/organizations/{organizationId}/apikeys/{apiKeyId} Show API Key #
PUT /rest/organizations/{organizationId}/apikeys/{apiKeyId} Update API Key #
DELETE /rest/organizations/{organizationId}/apikeys/{apiKeyId} Delete API Key #
PUT /rest/organizations/{organizationId}/apikeys/{apiKeyId}/disable Disable API Key #
PUT /rest/organizations/{organizationId}/apikeys/{apiKeyId}/activation/extend Extend API Key Activation #
PUT /rest/organizations/{organizationId}/apikeys/{apiKeyId}/activate Activate API Key #
PUT /rest/organizations/{organizationId}/apikeys/disable/bulk Disable Multiple API Keys #
PUT /rest/organizations/{organizationId}/apikeys/activate/bulk Activate API Keys #
GET /rest/organizations/{organizationId}/apikeys List API Keys #
POST /rest/organizations/{organizationId}/apikeys Create API Key #
POST /rest/organizations/{organizationId}/apikeys/rotate Rotate API Key #
POST /rest/organizations/{organizationId}/apikeys/delete/bulk Delete API Keys #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-passagev3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetrequest-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetresultvalue-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupby-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupbyresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupbyvalue-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-resthighlightresponse-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restquerycorrection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryfunction-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryparameters-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryparentresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryresponse-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restrankingfunction-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-retrievepassagesrequestv3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-retrievepassagesresponsev3-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-passagev3-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetrequest-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetresultvalue-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupby-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupbyresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupbyvalue-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-resthighlightresponse-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restquerycorrection-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryfunction-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryparameters-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryparentresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryresponse-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restrankingfunction-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-retrievepassagesrequestv3-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-retrievepassagesresponsev3-structure.json

Other Resources

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/coveo-api-keys-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

coveo-api-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coveo Authorization Server Api Keys 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
tags:
- name: Api Keys
paths:
  /rest/organizations/{organizationId}/apikeys/{sourceApiKeyId}/duplicate:
    put:
      tags:
      - Api Keys
      summary: Duplicate API Key
      description: 'Duplicates and existing API key of an API key in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"CREATE","targetId":"*"}

        ```

        </details>'
      operationId: duplicateApiKey
      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: sourceApiKeyId
        in: path
        description: The unique identifier of the API key. </br>**Example:** `t4hk287bfj5sg6wskg64ckk5a`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        required: true
        schema:
          type: string
      requestBody:
        description: The JSON configuration of the API key to be duplicated.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DuplicatedApiKeyRequest'
      responses:
        '201':
          description: Created
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiKeyWithValueResponse'
      x-pretty-name: duplicateApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: CREATE
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: CREATE
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/paramId/duplicate_put
  /rest/organizations/{organizationId}/apikeys/{apiKeyId}:
    get:
      tags:
      - Api Keys
      summary: Show API Key
      description: 'Shows an API key in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

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

        ```

        </details>'
      externalDocs:
        description: Getting the API Key ID
        url: https://docs.coveo.com/en/38/
      operationId: getApiKey
      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: apiKeyId
        in: path
        description: The unique identifier of the API key. </br>**Example:** `t4hk287bfj5sg6wskg64ckk5a`
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiKeyResponse'
      x-pretty-name: getApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/paramId_get
    put:
      tags:
      - Api Keys
      summary: Update API Key
      description: 'Updates an existing API key in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"EDIT","targetId":"{apiKeyId}"}

        ```

        </details>'
      operationId: updateApiKey
      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: apiKeyId
        in: path
        description: The unique identifier of the API key. </br>**Example:** `t4hk287bfj5sg6wskg64ckk5a`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        required: true
        schema:
          type: string
      requestBody:
        description: The JSON configuration to update the target API key to.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyUpdateRequest'
        required: true
      responses:
        '204':
          description: No Content
      x-pretty-name: updateApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/paramId_put
    delete:
      tags:
      - Api Keys
      summary: Delete API Key
      description: 'Deletes an API key from an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"EDIT","targetId":"{apiKeyId}"}

        ```

        </details>'
      externalDocs:
        description: Deleting an API Key
        url: https://docs.coveo.com/en/82/#delete-an-api-key-programmatically
      operationId: deleteApiKey
      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: apiKeyId
        in: path
        description: The unique identifier of the API key. </br>**Example:** `t4hk287bfj5sg6wskg64ckk5a`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-pretty-name: deleteApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/paramId_delete
  /rest/organizations/{organizationId}/apikeys/{apiKeyId}/disable:
    put:
      tags:
      - Api Keys
      summary: Disable API Key
      description: 'Disables an API key in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"EDIT","targetId":"{apiKeyId}"}

        ```

        </details>'
      operationId: disableApiKey
      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: apiKeyId
        in: path
        description: The unique identifier of the API key. </br>**Example:** `t4hk287bfj5sg6wskg64ckk5a`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-pretty-name: disableApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/paramId/disable_put
  /rest/organizations/{organizationId}/apikeys/{apiKeyId}/activation/extend:
    put:
      tags:
      - Api Keys
      summary: Extend API Key Activation
      description: 'Extend the activation of an API key in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"EDIT","targetId":"{apiKeyId}"}

        ```

        </details>'
      operationId: extendActivation
      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: apiKeyId
        in: path
        description: The unique identifier of the API key. </br>**Example:** `t4hk287bfj5sg6wskg64ckk5a`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-pretty-name: extendActivation
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/paramId/activation/extend_put
  /rest/organizations/{organizationId}/apikeys/{apiKeyId}/activate:
    put:
      tags:
      - Api Keys
      summary: Activate API Key
      description: 'Activates an API key in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"EDIT","targetId":"{apiKeyId}"}

        ```

        </details>'
      operationId: activateApiKey
      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: apiKeyId
        in: path
        description: The unique identifier of the API key. </br>**Example:** `t4hk287bfj5sg6wskg64ckk5a`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-pretty-name: activateApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/paramId/activate_put
  /rest/organizations/{organizationId}/apikeys/disable/bulk:
    put:
      tags:
      - Api Keys
      summary: Disable Multiple API Keys
      description: 'Disables multiple API keys in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"EDIT","targetId":"{apiKeyId}"}

        ```

        </details>'
      operationId: bulkDisableApiKey
      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: A list of unique identifiers of API keys. </br>**Example:** `["t4hk287bfj5sg6wskg64ckk5a"]`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        content:
          application/json:
            schema:
              uniqueItems: true
              type: array
              items:
                type: string
            example:
            - loggerId1
            - loggerId2
            - loggerId3
        required: true
      responses:
        '412':
          description: Precondition Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestException'
        '204':
          description: No Content
      x-pretty-name: bulkDisableApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/disable/bulk_put
  /rest/organizations/{organizationId}/apikeys/activate/bulk:
    put:
      tags:
      - Api Keys
      summary: Activate API Keys
      description: 'Activates multiple API keys in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"EDIT","targetId":"{apiKeyId}"}

        ```

        </details>'
      operationId: bulkActivateApiKey
      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: A list of unique identifiers of API keys. </br>**Example:** `["t4hk287bfj5sg6wskg64ckk5a"]`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        content:
          application/json:
            schema:
              uniqueItems: true
              type: array
              items:
                type: string
            example:
            - loggerId1
            - loggerId2
            - loggerId3
        required: true
      responses:
        '412':
          description: Precondition Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestException'
        '204':
          description: No Content
      x-pretty-name: bulkActivateApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/activate/bulk_put
  /rest/organizations/{organizationId}/apikeys:
    get:
      tags:
      - Api Keys
      summary: List API Keys
      description: 'Lists all API keys in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

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

        ```

        </details>'
      operationId: getApiKeys
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the organization
        required: true
        schema:
          type: string
      - name: status
        in: query
        description: Optional filter for API key status
        required: false
        schema:
          type: string
          description: API Key Status Filter
          enum:
          - ACTIVE
          - SOON_TO_BE_DISABLED
          - SOON_TO_BE_EXPIRED
          - ACTIVE_AND_EXPOSED
          - WITH_WARNING
          - ALL_EXPOSED
          - DEACTIVATED
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiKeyResponse'
      x-pretty-name: getApiKeys
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/apikeys_get
    post:
      tags:
      - Api Keys
      summary: Create API Key
      description: 'Creates an API key in an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"CREATE","targetId":"*"}

        ```

        </details>'
      externalDocs:
        description: Creating an API Key
        url: https://docs.coveo.com/en/82/
      operationId: createApiKey
      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: apiKeyTemplateId
        in: query
        description: The unique identifier of the template on which to base the API key.
        required: false
        schema:
          type: string
      requestBody:
        description: The JSON configuration of the API key to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyCreationRequest'
      responses:
        '201':
          description: Created
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiKeyWithValueResponse'
      x-pretty-name: createApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: CREATE
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: CREATE
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/apikeys_post
  /rest/organizations/{organizationId}/apikeys/rotate:
    post:
      tags:
      - Api Keys
      summary: Rotate API Key
      description: Rotates an API key in an [organization](https://docs.coveo.com/en/185/).
      operationId: rotateApiKey
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyRotationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiKeyWithValueResponse'
      x-pretty-name: rotateApiKey
      x-ui-operation-id: /rest/organizations/paramId/apikeys/rotate_post
  /rest/organizations/{organizationId}/apikeys/delete/bulk:
    post:
      tags:
      - Api Keys
      summary: Delete API Keys
      description: 'Deletes multiple API keys from an [organization](https://docs.coveo.com/en/185/glossary/coveo-organization).<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"API_KEY","type":"EDIT","targetId":"{apiKeyId}"}

        ```

        </details>'
      externalDocs:
        description: Deleting an API Key
        url: https://docs.coveo.com/en/82/#delete-an-api-key-programmatically
      operationId: bulkDeleteApiKey
      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: A list of unique identifiers of API keys. </br>**Example:** `["t4hk287bfj5sg6wskg64ckk5a"]`</br>See [Getting the apiKeyId](https://docs.coveo.com/en/38/).
        content:
          application/json:
            schema:
              uniqueItems: true
              type: array
              items:
                type: string
            example:
            - loggerId1
            - loggerId2
            - loggerId3
        required: true
      responses:
        '412':
          description: Precondition Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestException'
        '204':
          description: No Content
      x-pretty-name: bulkDeleteApiKey
      x-required-privilege:
        owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: API_KEY
        type: EDIT
        targetId: '{apiKeyId}'
      x-ui-operation-id: /rest/organizations/paramId/apikeys/delete/bulk_post
components:
  schemas:
    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.
    IdAndDisplayNameModel:
      type: object
      properties:
        id:
          type: string
        displayName:
          type: string
      description: The unique identifiers of the organizations by which the SAML identity provider is used.
    RestException:
      type: object
      properties:
        message:
          type: string
        errorCode:
          type: string
        requestID:
          type: string
    ApiKeyWithValueResponse:
      type: object
      properties:
        groupsThatCanEdit:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/IdAndDisplayNameModel'
        apiKeysThatCanEdit:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/IdAndDisplayNameModel'
        value:
          type: string
          description: The value of the API key.
          readOnly: true
        id:
          type: string
          description: The unique identifier of the API key.
          readOnly: true
          example: t4hk287bfj5sg6wskg64ckk5a
        tokenId:
          type: string
          description: The universal token ID of this API key. It is currently mapped directly to the token `id`.
          readOnly: true
          example: t4hk287bfj5sg6wskg64ckk5a
        organizationId:
          type: string
          description: The [unique identifier of the organization](https://docs.coveo.com/en/n1ce5273/manage-an-organization/find-your-organization-id) the API key was created for.
          readOnly: true
          example: mycoveocloudorganizationg8tp8wu3
        displayName:
          type: string
          description: The display name for the API key.
          readOnly: true
          example: PushAPIKey
        description:
          type: string
          description: A brief description of the API key.
          readOnly: true
          example: API key used for managing sources.
        privileges:
          uniqueItems: true
          type: array
          description: A set of privileges.
          readOnly: true
          items:
            $ref: '#/components/schemas/PrivilegeModel'
        enabled:
          type: boolean
          description: Whether the API key is enabled.
          readOnly: true
        createdDate:
          type: string
          description: The API key creation date in Unix timestamp in milliseconds.
          format: date-time
          readOnly: true
        createdBy:
          $ref: '#/components/schemas/UserModel'
        allowedIps:
          type: array
          description: A set of public IP addresses allowed to use the API key. If an IP address is included in both the `allowedIps` and the `deniedIps`, the IP address will be denied.
          example: '[`"70.32.10.85"`, `"29.186.225.13"`]'
          items:
            type: string
            description: A set of public IP addresses allowed to use the API key. If an IP address is included in both the `allowedIps` and the `deniedIps`, the IP address will be denied.
            example: '[`"70.32.10.85"`, `"29.186.225.13"`]'
        deniedIps:
          type: array
          description: A set of public IP addresses that will be denied access when attempting to use the API key.</br>**Notes:**</br>- IP ranges using CIDR notation are also supported.</br>- If an IP address is included in both the `allowedIps` and the `deniedIps`, the IP address will be denied.
          example: '[`"70.32.10.85"`, `"29.186.225.13"`]'
          items:
            type: string
            description: A set of public IP addresses that will be denied access when attempting to use the API key.</br>**Notes:**</br>- IP ranges using CIDR notation are also supported.</br>- If an IP address is included in both the `allowedIps` and the `deniedIps`, the IP address will be denied.
            example: '[`"70.32.10.85"`, `"29.186.225.13"`]'
        apiKeyTemplateId:
          type: string
          description: API key template id
          readOnly: true
        additionalConfiguration:
          $ref: '#/components/schemas/ApiKeyAdditionalConfigurationModel'
        lastUsedDate:
          type: string
          description: The date and time the API key was last used.
          format: date-time
          readOnly: true
        privacyLevel:
          type: string
          description: The privacy level of the API key.
          readOnly: true
          enum:
          - PUBLIC
          - PRIVATE
        status:
          type: string
          description: The status of the ApiKey.
          readOnly: true
          enum:
          - ENABLED
          - SOON_TO_BE_EXPIRED
          - SOON_TO_BE_DISABLED
          - DISABLED
          - DISABLED_FOR_INACTIVITY
          - DISABLED_EXPOSED
          - EXPIRED
        expirationDate:
          type: string
          description: The expiration date of the ApiKey.
          format: date-time
          readOnly: true
        disabledDate:
          type: string
          description: The disabled date of the ApiKey.
          format: date-time
          readOnly: true
        activationDate:
          type: string
          description: The activation date of the ApiKey.
          format: date-time
          readOnly: true
        exposureReport:
          $ref: '#/components/schemas/ApiKeyExposureReportResponse'
        rotationSecret:
          type: string
          description: The secret used to rotate the API key.
          readOnly: true
        resourceId:
          type: string
      description: An API key with a non-masked value
      externalDocs:
        description: Use API key authentication with the Search API
        url: https://docs.coveo.com/en/105/
    ApiKeyExposureReportReasonResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the exposure reason
          example: 123e4567-e89b-12d3-a456-426614174000
        reason:
          type:
          - string
          - 'null'
          description: Reason for the API key exposure
          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
          - 'null'
          description: URL where the API key was found
          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
    UserRealmModel:
      type: object
      properties:
        member:
          type: boolean
        realm:
          $ref: '#/components/schemas/RealmModel'
        realmModel:
          $ref: '#/components/schemas/RealmModel'
      description: The realms the user is a part of.
    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.
    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.
    ApiKeyCreationRequest:
      type: object
      properties:
        groupsThatCanEdit:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/IdAndDisplayNameModel'
        apiKeysThatCanEdit:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/IdAndDisplayNameModel'
        displayName:
          maxLength: 125
          type: string
          description: The display name for the API key.
          example: PushAPIKey
        description:
          maxLength: 1000
          type: string
          description: A brief description of the API key.
          example: API key used for managing sources.
        privileges:
          uniqueItems: true
          type: array
          description: A set of privileges.
          items:
            $ref: '#/components/schemas/PrivilegeModel'
        enabled:
          type: boolean
          description: Whether the API key is enabled.
        allowedIps:
          type: array
          description: A set of public IP addresses allowed to use the API key. If an IP address is included in both the `allowedIps` and the `deniedIps`, the IP address will be denied.
          example: '[`"70.32.10.85"`, `"29.186.225.13"`]'
          items:
            type: string
            description: A set of public IP addresses allowed to use the API key. If an IP address is included in both the `allowedIps` and the `deniedIps`, the IP address will be denied.
            example: '[`"70.32.10.85"`, `"29.186.225.13"`]'
        deniedIps:
          type: array
          description: A set of public IP addresses that will be denied access when attempting to use the API key.</br>**Notes:**</br>- IP ranges using CIDR notation are also supported.</br>- If an IP address is included in both the `allowedIps` and the `deniedIps`, the IP address will be denied.
          example: '[`"70.32.10.85"`, `"29.186.225.13"`]'
          items:
            type: string
            description: A set of public IP addresses that will be denied access when attempting to use the API key.</br>**Notes:**</br>- IP ranges using CIDR notation are also supported.</br>- If an IP address is included in both the `allowedIps` and the `deniedIps`, the IP address will be denied.
            example: '[`"70.32.10.85"`, `"29.186.225.13"`]'
        additionalConfiguration:
          $ref: '#/components/schemas/ApiKeyAdditionalConfigurationModel'
        lifetimeDuration:
          type: string
          description: The lifetime duration until the api key expiration. Represented in ISO 8601 format.
          writeOnly: true
          example: P1M
 

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