openapi: 3.0.1
info:
title: Coveo Extension 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}/extensions/{extensionId}:
get:
tags:
- Indexing Pipeline Extensions
summary: Show Extension
description: 'Shows an [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - View
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: getExtension
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the extension to show.
Example: `mycoveocloudv2organizationg8tp8wu3n-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ExtensionModel'
x-pretty-name: getExtension
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId_get
put:
tags:
- Indexing Pipeline Extensions
summary: Update Extension
description: 'Updates an [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - Edit
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"EDIT","targetId":"{extensionId}"}
```
'
operationId: updateExtension
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the extension to update.
Example: `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
requestBody:
description: The new configuration to use for the updated extension.
content:
application/json:
schema:
$ref: '#/components/schemas/EditExtensionModel'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ExtensionModel'
x-pretty-name: updateExtension
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId_put
delete:
tags:
- Indexing Pipeline Extensions
summary: Delete Extension
description: 'Deletes an [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - Edit
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"EDIT","targetId":"{extensionId}"}
```
'
operationId: deleteExtension
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the extension to delete.
Example: `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
responses:
'204':
description: No Content
x-pretty-name: deleteExtension
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId_delete
/rest/organizations/{organizationId}/extensions/{extensionId}/timeouts:
put:
tags:
- Indexing Pipeline Extensions
summary: Set Timeout for a Given Extension for an Organization.
description: 'Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"EDIT","targetId":"{extensionId}"}
```
'
operationId: updateExtensionTimeout
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
- name: extensionId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionTimeoutModel'
required: true
responses:
'204':
description: No Content
x-pretty-name: updateExtensionTimeout
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/timeouts_put
/rest/organizations/{organizationId}/extensions/{extensionId}/code:
get:
tags:
- Indexing Pipeline Extensions
summary: Show Extension Code
description: 'Shows an [extension] code(https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - View
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: getExtensionCode
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
- name: extensionId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
text/plain:
schema:
type: string
x-pretty-name: getExtensionCode
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/code_get
put:
tags:
- Indexing Pipeline Extensions
summary: Update Extension Code
description: 'Updates an [extension] code(https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - Edit
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"EDIT","targetId":"{extensionId}"}
```
'
operationId: updateExtensionCode
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
- name: extensionId
in: path
required: true
schema:
type: string
requestBody:
content:
text/plain:
schema:
type: string
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ExtensionModel'
x-pretty-name: updateExtensionCode
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/code_put
/rest/organizations/{organizationId}/extensions:
get:
tags:
- Indexing Pipeline Extensions
summary: List Extensions
description: 'Lists all [extensions](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - View
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: getExtensions
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/ExtensionModel'
x-pretty-name: getExtensions
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions_get
post:
tags:
- Indexing Pipeline Extensions
summary: Create Extension
description: 'Creates an [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - Create
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"CREATE","targetId":"*"}
```
'
operationId: createExtension
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
requestBody:
description: The configuration to use for the new extension.
content:
application/json:
schema:
$ref: '#/components/schemas/EditExtensionModel'
required: true
responses:
'201':
description: Created
content:
'*/*':
schema:
$ref: '#/components/schemas/ExtensionModel'
x-pretty-name: createExtension
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: CREATE
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: CREATE
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions_post
/rest/organizations/{organizationId}/extensions/{extensionId}/test:
post:
tags:
- Indexing Pipeline Extensions
summary: Test Extension
description: 'Tests an [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - Edit
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"EDIT","targetId":"{extensionId}"}
```
'
operationId: testExtension
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the extension to test.
Example: `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
requestBody:
description: A mock document on which to test the extension.
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionTestModel'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ExtensionTestExecutionReportModel'
x-pretty-name: testExtension
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/test_post
/rest/organizations/{organizationId}/extensions/{extensionId}/test/datastream:
post:
tags:
- Indexing Pipeline Extensions
summary: Create Test Data Stream Upload URI
description: 'Creates an upload URI to host a [data stream](https://docs.coveo.com/en/2891/) when testing an [extension](https://docs.coveo.com/en/206/)
in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
See [Uploading a Data Stream for an Extension
Test](https://docs.coveo.com/en/2916).
**Required privilege:** Extensions - Edit
Privilege
required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"EDIT","targetId":"{extensionId}"}
```
'
operationId: generateTestDataStreamUploadUri
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the extension for which to create an upload URI.
Example: `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ExtensionTestDataStreamUriModel'
x-pretty-name: generateTestDataStreamUploadUri
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/test/datastream_post
/rest/organizations/{organizationId}/extensions/{extensionId}/enable:
post:
tags:
- Indexing Pipeline Extensions
summary: Enable Extension
description: 'Enables a disabled [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
Note: Disabled extensions are not executed.
**Required privilege:** Extensions - Edit
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"EDIT","targetId":"{extensionId}"}
```
'
operationId: enableExtension
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the extension to enable.
Example: `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
responses:
'204':
description: No Content
x-pretty-name: enableExtension
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/enable_post
/rest/organizations/{organizationId}/extensions/{extensionId}/disable:
post:
tags:
- Indexing Pipeline Extensions
summary: Disable Extension
description: 'Disables an [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
Note: Disabled extensions are not executed.
**Required privilege:** Extensions - Edit
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"EDIT","targetId":"{extensionId}"}
```
'
operationId: disableExtension
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the extension to disable.
Example: `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
requestBody:
description: A JSON containing information regarding the disablement of an extension.
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionDisableModel'
required: true
responses:
'204':
description: No Content
x-pretty-name: disableExtension
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: EDIT
targetId: '{extensionId}'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/disable_post
/rest/organizations/{organizationId}/extensions/test/compile:
post:
tags:
- Indexing Pipeline Extensions
summary: Try to Compile Code for an Extension
description: 'Tries to compile code that would be used in an extension for [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - Edit
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: compileExtension
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionCompileModel'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ExtensionCompileResultModel'
x-pretty-name: compileExtension
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions/test/compile_post
/rest/organizations/{organizationId}/extensions/ids:
post:
tags:
- Indexing Pipeline Extensions
summary: Get a Subset of Extensions by Ids for an Organization.
description: 'Lists subset of [extensions](https://docs.coveo.com/en/206/) by their respective ids in a [Coveo Cloud
organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - View
Privilege
required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: getExtensionsByIds
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
- 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
- name: filter
in: query
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PageModelExtensionModel'
x-pretty-name: getExtensionsByIds
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions/ids_post
/rest/organizations/{organizationId}/extensions/{extensionId}/versions:
get:
tags:
- Indexing Pipeline Extensions
summary: List Extension Versions
description: 'Lists all versions of an [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - View
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: getExtensionVersions
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the target extension.
Example: `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/ExtensionContentVersionModel'
x-pretty-name: getExtensionVersions
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/versions_get
/rest/organizations/{organizationId}/extensions/{extensionId}/versions/{versionId}:
get:
tags:
- Indexing Pipeline Extensions
summary: Show Extension Version
description: 'Shows a specific version of an [extension](https://docs.coveo.com/en/206/) in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - View
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: getExtensionVersion
parameters:
- name: organizationId
in: path
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
Example:
`mycoveocloudv2organizationg8tp8wu3`
required: true
schema:
type: string
- name: extensionId
in: path
description: The unique identifier of the target extension.
Example: `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
required: true
schema:
type: string
- name: versionId
in: path
description: The unique identifier of the extension version to show.
Example:`hdJSDb4hTkdnsCynNtF.d657FgLSDydcj`
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ExtensionModel'
x-pretty-name: getExtensionVersion
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions/paramId/versions/paramId_get
/rest/organizations/{organizationId}/extensions/project:
get:
tags:
- Indexing Pipeline Extensions
summary: Get Extensions Associated with Specified Project.
description: 'Lists subset of [extensions](https://docs.coveo.com/en/206/) by their respective project id in a [Coveo
Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - View
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: getExtensionsByProjectId
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
- name: projectId
in: query
required: false
schema:
type: string
- 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
- name: filter
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PageModelExtensionModel'
x-pretty-name: getExtensionsByProjectId
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions/project_get
/rest/organizations/{organizationId}/extensions/page:
get:
tags:
- Indexing Pipeline Extensions
summary: List Extensions by Page with Filter.
description: 'Lists pages of [extensions](https://docs.coveo.com/en/206/) matching filter in a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
**Required privilege:** Extensions - View
Privilege required
```
{"owner":"PLATFORM","targetDomain":"INDEXING_PIPELINE_EXTENSION","type":"VIEW","targetId":"*"}
```
'
operationId: getExtensionsByPage
parameters:
- name: organizationId
in: path
required: true
schema:
type: string
- 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
- name: filter
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PageModelExtensionModel'
x-pretty-name: getExtensionsByPage
x-required-privilege:
owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-required-privileges:
- owner: PLATFORM
targetDomain: INDEXING_PIPELINE_EXTENSION
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/extensions/page_get
components:
schemas:
EditExtensionModel:
required:
- content
- name
type: object
properties:
groupsThatCanEdit:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/IdAndDisplayNameModel'
apiKeysThatCanEdit:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/IdAndDisplayNameModel'
language:
type: string
description: 'The Python version.
**Allowed values:**
- `PYTHON3`: Python 3.
'
enum:
- PYTHON3
apiVersion:
type: string
description: The api version.
**Allowed values:**
- `v1`, `v2`.
**Default value:** `v1`
content:
type: string
description: The body of the extension (user script), written in Python using the [document object](https://docs.coveo.com/en/34/).
description:
type: string
description: A description of the extension.
name:
type: string
description: A name for the extension.
requiredDataStreams:
type: array
description: 'The [data streams](https://docs.coveo.com/en/2891/) required by the extension.
**Example:** `["BODY_TEXT",
"THUMBNAIL"]`
**Allowed values:**
- `BODY_TEXT`
- `BODY_HTML`
- `THUMBNAIL`
- `DOCUMENT_DATA`'
items:
type: string
description: 'The [data streams](https://docs.coveo.com/en/2891/) required by the extension.
**Example:**
`["BODY_TEXT", "THUMBNAIL"]`
**Allowed values:**
- `BODY_TEXT`
- `BODY_HTML`
- `THUMBNAIL`
- `DOCUMENT_DATA`'
enum:
- BODY_TEXT
- BODY_HTML
- THUMBNAIL
- DOCUMENT_DATA
- BODY_MARKDOWN
useVault:
type: boolean
description: Whether the extension uses vault parameters or not.
enabled:
type: boolean
description: An [extension](https://docs.coveo.com/en/206/) to create or modify.
IdAndDisplayNameModel:
type: object
properties:
id:
type: string
displayName:
type: string
ExtensionDisabledStatusModel:
required:
- disabledDate
type: object
properties:
disabledDate:
type: string
description: The extension disablement date (in number of milliseconds since UNIX epoch).
**Example:** `1556034174000`
format: date-time
reason:
type: string
description: The reason why the extension was disabled.
description: Information regarding the disabled state of an extension, if applicable.
ExtensionHealthModel:
required:
- healthIndicator
type: object
properties:
healthIndicator:
type: string
description: A qualitative health indicator.
**Allowed values:**
- `GOOD`
- `WARNING`
- `PROBLEMATIC`
- `UNKNOWN`
enum:
- GOOD
- WARNING
- PROBLEMATIC
- UNKNOWN
reason:
type: string
description: Additional details if `healthIndicator` value is `Warning` or `Problematic`.
description: Information regarding a health characteristic of the extension.
ExtensionModel:
required:
- createdDate
- description
- enabled
- id
- language
- lastModified
- name
- requiredDataStreams
- status
- versionId
type: object
properties:
language:
type: string
description: 'The Python version.
**Allowed values:**
- `PYTHON3`: Python 3.
**Default value:**
`PYTHON3`
'
enum:
- PYTHON3
apiVersion:
type: string
description: The api version.
**Allowed values:**
- `v1`, `v2`.
**Default value:** `v1`
content:
type: string
description: The body of the extension (user script), written in Python using the [document object](https://docs.coveo.com/en/34/).
createdDate:
type: string
description: The creation date of the extension (in number of milliseconds since UNIX epoch).
**Example:**
`1556034174000`
format: date-time
description:
type: string
description: A description of the extension
enabled:
type: boolean
description: Whether the extension is enabled.
**Note:** Disabled extensions are not executed.
id:
type: string
description: The unique identifier of the extension.
**Example:** `mycoveocloudv2organizationg8tp8wu3-vwlyqfbtjkotxqkmrxqjcbcpoy`
lastModified:
type: string
description: 'The last modification date of the extension (in number of milliseconds since UNIX epoch).
**Example**:
`1556308241000`'
format: date-time
name:
type: string
description: The name of the extension.
requiredDataStreams:
type: array
description: The [data streams](https://docs.coveo.com/en/2891/) required by the extension.
items:
type: string
description: The [data streams](https://docs.coveo.com/en/2891/) required by the extension.
enum:
- BODY_TEXT
- BODY_HTML
- THUMBNAIL
- DOCUMENT_DATA
- BODY_MARKDOWN
versionId:
type: string
description: The unique identifier of the extension version.
**Example**:`hdJSDb4hTkdnsCynNtF.d657FgLSDydcj`
usedBy:
type: array
description: The [sources](https://docs.coveo.com/en/246/) the extension applies to.
**Note:** Only returned
when performing GET/PUT `/extensions/{extensionId}` requests.
items:
$ref: '#/components/schemas/ExtensionUsedByModel'
status:
$ref: '#/components/schemas/ExtensionStatusModel'
useVault:
type: boolean
description: Whether the extension uses vault parameters or not.
timeout:
type: integer
format: int32
projectIds:
type: array
items:
type: string
description: An [extension](https://docs.coveo.com/en/206/).
ExtensionStatisticsModel:
required:
- averageDurationInSeconds
- numberOfErrors
- numberOfExecutions
- numberOfSkips
- numberOfTimeouts
type: object
properties:
averageDurationInSeconds:
type: number
description: The average extension execution duration in seconds.
format: double
numberOfErrors:
type: integer
description: The number of extension executions for which the script returned an error.
format: int32
numberOfExecutions:
type: integer
description: The total number of executions of the extension.
format: int32
numberOfSkips:
type: integer
description: The number of times the extension was not executed due to any of the following reasons:
- The
extension condition was evaluated to `false`.
- The extension timed out.
- The extension was disabled.
format: int32
numberOfTimeouts:
type: integer
description: The number of executions that reached the maximum execution time (default of 5 seconds).
format: int32
description: Execution statistics pertaining to an extension over the past 24 hours (for all items from all sources
to which the extension applies).
ExtensionStatusModel:
required:
- dailyStatistics
- disabledStatus
- durationHealth
- timeoutHealth
- timeoutLikeliness
type: object
properties:
durationHealth:
$ref: '#/components/schemas/ExtensionHealthModel'
dailyStatistics:
$ref: '#/components/schemas/ExtensionStatisticsModel'
disabledStatus:
$ref: '#/components/schemas/ExtensionDisabledStatusModel'
timeoutHealth:
$ref: '#/components/schemas/ExtensionHealthModel'
timeoutLikeliness:
type: string
description: A qualitative indicator of the likelihood that the extension will time out.
**Allowed values:**
- `NONE`
- `LOW`
- `MEDIUM`
- `HIGH`
enum:
- NONE
- LOW
- MEDIUM
- HIGH
lastAutoDisablingDate:
type: string
description: The last date at which the extension was automatically disabled by the service, (in number of milliseconds
since UNIX epoch).
**Example:** `1533916446000`
format: date-time
lastDisablingDate:
type: string
description: '**Deprecated:** use `lastAutoDisablingDate` instead.'
format: date-time
deprecated: true
description: Status details of an [extension](https://docs.coveo.com/en/206/).
ExtensionUsedByModel:
type: object
properties:
sourceId:
type: string
description: The unique identifier of the source.
**Example:** `mycoveocloudv2organizationg8tp8wu3-tqv7hb5wfju45im3lnuvtw2moq`
sourceName:
type: string
description: The name of the [source](https://docs.coveo.com/en/246/).
**Example:** `mysource`
description: A [source](https://docs.coveo.com/en/246/) a given extension applies to.
ExtensionTimeoutModel:
type: object
properties:
executionTimeout:
type: integer
description: Maximum interval in seconds that extension should be executing.
format: int32
default: 5
description: Timeout in seconds that are applicable for extensions.
DataStreamContentModel:
required:
- compressionType
- id
- inlineContent
type: object
properties:
id:
type: string
description: The unique identifier of the data stream. One of `id` or `inlineContent` is required.
**Note:**
Overwrites the `inlineContent` value, if present.
inlineContent:
type: string
description: The data stream content. One of `id` or `inlineContent` is required.
**Note:** If an `id` value
is provided, the `inlineContent` one is ignored.
compressionType:
type: string
description: 'The data stream compression type.
**Allowed values:**
- `UNCOMPRESSED`
- `ZLIB`:
[zlib](https://www.zlib.net/)
- `GZIP`: [gzip](https://www.gzip.org/)
- `LZMA`: [Lempel-Ziv-Markov
chain algorithm](https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm)
**Default:**
`UNCOMPRESSED`
'
enum:
- UNCOMPRESSED
- ZLIB
- GZIP
- LZMA
description: A [data stream](https://docs.coveo.com/en/2891/) object.
**Allowed keys:**
- `BODY_TEXT`
- `BODY_HTML`
- `THUMBNAIL`
- `DOCUMENT_DATA`
**Example:**`"BODY_TEXT":{"id":"47ce8655-3d0e-43d8-a997-f85fc5ab9e95","compressionType":"UNCOMPRESSED"}
DataStreamValueModel:
required:
- values
type: object
properties:
origin:
type: string
description: The [origin](https://docs.coveo.com/en/219/) of the set of data streams.
**Examples**:
-
`myTestInput`
- `myExtensionName`
values:
type: object
additionalProperties:
$ref: '#/components/schemas/DataStreamContentModel'
description: The data streams in the set.
description: A set of [data streams](https://docs.coveo.com/en/2891/).
ExtensionTestDocumentModel:
type: object
properties:
id:
type: string
description: An identifier for the document.
**Example:** `42.29161$https://youtube.com/Playlist:PLSwAY_GuRbl1vrs7nkycdpKpTYbwFj6P2`
metadata:
type: array
description: The document metadata.
items:
$ref: '#/components/schemas/MetadataValueModel'
dataStreams:
type: array
description: The sets of [data streams](https://docs.coveo.com/en/2891/).
items:
$ref: '#/components/schemas/DataStreamValueModel'
permissions:
type: array
description: The document permissions.
items:
$ref: '#/components/schemas/PermissionLevelModel'
description: A mock document.
**Default:** `{"metadata":[],"dataStreams":[],"permissions":[]}`
ExtensionTestModel:
type: object
properties:
document:
$ref: '#/components/schemas/ExtensionTestDocumentModel'
parameters:
type: object
additionalProperties:
type: string
description: An object containing additional parameters to pass to the tested extension.
**Example:** `{"myparam":38}`
**Default:** `{}`
description: An object containing additional parameters to pass to the tested extension.
**Example:** `{"myparam":38}`
**Default:** `{}`
versionId:
type: string
description: The unique identifier of the extension version to test.
**Example**:`hdJSDb4hTkdnsCynNtF.d657FgLSDydcj`
By default, the service uses the latest version.
language:
type: string
enum:
- PYTHON3
description: A mock document on which to test the extension.
MetadataValueModel:
type: object
properties:
origin:
type: string
description: The [origin](https://docs.coveo.com/en/219/) of the medatada.
**Examples**:
- `myTestInput`
- `myExtensionName`
values:
type: object
additionalProperties:
type: object
description: A metadata key-value store.
**Example:** `{"author":["John Cook"], "clickUri":["https://example.recipe.com"],
"tags":["soup","pasta"], [...]}`
description: A metadata key-value store.
**Example:** `{"author":["John Cook"], "clickUri":["https://example.recipe.com"],
"tags":["soup","pasta"], [...]}`
description: Metadata for an [item](https://docs.coveo.com/en/210/).
**Default:** `[]`
PermissionLevelModel:
type: object
properties:
name:
type: string
permissionSets:
type: array
items:
$ref: '#/components/schemas/PermissionSetModel'
description: The document permissions.
PermissionSetModel:
type: object
properties:
anonymousAllowed:
type: boolean
name:
type: string
permissions:
type: array
items:
$ref: '#/components/schemas/SinglePermissionModel'
SinglePermissionModel:
type: object
properties:
allowed:
type: boolean
identityType:
type: string
enum:
- USER
- GROUP
- VIRTUAL_GROUP
- UNKNOWN
identity:
type: string
securityProvider:
type: string
additionalInfo:
type: object
additionalProperties:
type: string
lastUpdateDate:
type: string
format: date-time
lastUpdateResult:
type: string
enum:
- NONE
- SUCCESS
- ACCESS_DENIED
- TIMED_OUT
- ENTITY_IS_INVALID
- ENTITY_IS_UNAVAILABLE
- SECURITY_PROVIDER_IS_UNAVAILABLE
- SECURITY_PROVIDER_IS_UNREACHABLE
- SECURITY_PROVIDER_IS_NOT_READY
- UNEXPECTED_ERROR
lastUpdateErrorDetail:
type: string
state:
type: string
enum:
- UNKNOWN
- UP_TO_DATE
- NOT_UPDATED
- OUT_OF_DATE
- IN_ERROR
- DISABLED
ExtensionTestDataStreamUriModel:
required:
- requiredHeaders
- streamId
- uri
type: object
properties:
streamId:
type: string
description: The unique identifier of the hosted data stream.
**Example:** `cdb87296-9790-4e70-8f71-46f1364fa83d`
uri:
type: string
description: The data stream upload/download URI.
**Example:** `https://coveo-nprod-customerdata.s3.amazonaws.com/proda/blobstore/mycoveocloudv2organizationg8tp8wu3/cdb87296-9790-4e70-8f71-46f1364fa83d?X-Amz-Security-Token=FQoGZXIvYXd[...]`
requiredHeaders:
type: object
additionalProperties:
type: string
description: "The required HTTP headers when uploading/downloading a data stream with the URI.
**Example:**\
\ \n`{\"x-amz-server-side-encryption\": \"AES256\",\n\"Content-Type\":\"application/octet-stream\"}`"
description: "The required HTTP headers when uploading/downloading a data stream with the URI.
**Example:**\
\ \n`{\"x-amz-server-side-encryption\": \"AES256\",\n\"Content-Type\":\"application/octet-stream\"}`"
description: Information regarding a [data stream](https://docs.coveo.com/en/2891/) upload/download URI.
ExtensionTestExecutionReportModel:
required:
- dataStreamUris
- document
- duration
- result
type: object
properties:
document:
$ref: '#/components/schemas/ExtensionTestDocumentModel'
logs:
type: array
description: The test execution logs.
items:
$ref: '#/components/schemas/LogEntryModel'
dataStreamUris:
type: array
description: The URIs of the uploaded test [data streams](https://docs.coveo.com/en/2891/).
items:
$ref: '#/components/schemas/ExtensionTestDataStreamUriModel'
duration:
type: number
description: The execution time of the extension test in seconds.
format: double
result:
$ref: '#/components/schemas/ExtensionTestResultModel'
description: Test results of an [extension](https://docs.coveo.com/en/206/).
ExtensionTestResultModel:
required:
- status
type: object
properties:
reason:
type: string
description: 'The explanation of the issue, if applicable.
**Example:** `Coveo::PythonScriptException: Traceback
(most recent call last):\n File \"mycoveocloudv2organizationg8tp8wu3--vwlyqfbtjkotxqkmrxqjcbcpoy\", line 9, in
\nNameError: name ''docment'' is not defined\n`'
status:
type: string
description: The status of the script execution.
**Allowed values:**
- `DISABLED`
- `EXECUTION_ERROR`
- `REJECTED`
- `SUCCESS`
- `TIMEOUT`
enum:
- DISABLED
- EXECUTION_ERROR
- REJECTED
- SUCCESS
- TIMEOUT
description: Details regarding the outcome of an extension script execution.
LogEntryModel:
required:
- severity
type: object
properties:
severity:
type: string
description: Log message type.
**Allowed values:**
- `DEBUG`
- `DETAIL`
- `NORMAL`
- `IMPORTANT`
- `WARNING`
- `ERROR`
- `FATAL`
- `NOTIFICATION`
enum:
- DEBUG
- DETAIL
- NORMAL
- IMPORTANT
- WARNING
- ERROR
- FATAL
- NOTIFICATION
comment:
type: string
description: The log message, if applicable.
fields:
type: object
additionalProperties:
type: string
date:
type: string
duration:
type: number
format: double
description: An extension test execution log.
ExtensionDisableModel:
type: object
properties:
reason:
type: string
description: The reason why the extension was disabled.
description: Information regarding the disablement of an extension.
ExtensionCompileModel:
type: object
properties:
code:
type: string
language:
type: string
enum:
- PYTHON3
ExtensionCompileErrorModel:
type: object
properties:
type:
type: string
line:
type: integer
format: int32
offset:
type: integer
format: int32
message:
type: string
ExtensionCompileResultModel:
type: object
properties:
successful:
type: boolean
error:
$ref: '#/components/schemas/ExtensionCompileErrorModel'
description: Details regarding the outcome of an extension script compilation.
PageModelExtensionModel:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ExtensionModel'
totalEntries:
type: integer
format: int64
totalPages:
type: integer
format: int32
ExtensionContentVersionModel:
required:
- id
- lastModified
type: object
properties:
lastModified:
type: string
description: 'The date at which the extension version was created (in number of milliseconds since UNIX epoch),
i.e., the date of the modification of the extension when this extension version was created.
**Example**:
`1556308241000`'
format: date-time
id:
type: string
description: The unique identifier of the extension target version.
**Example**:`hdJSDb4hTkdnsCynNtF.d657FgLSDydcj`
description: An [extension](https://docs.coveo.com/en/206/) version.
securitySchemes:
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://platform.cloud.coveo.com/oauth/authorize
tokenUrl: https://platform.cloud.coveo.com/oauth/token
scopes:
full: required