openapi: 3.0.1 info: title: Coveo Activity Activities Search Page Configuration 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: Search Page Configuration paths: /rest/organizations/{organizationId}/searchpage/v1/interfaces: get: operationId: get-all-search-page-interfaces summary: Get All Search Page Interfaces description: Get all search page interfaces in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/order' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/perPage' responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/search-page-interface-config-id' post: operationId: create-search-page-interface summary: Create a Search Page Interface description: Create a search page interface in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/search-page-interface-config' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/search-page-interface-config-id' /organizations/{organizationId}/searchpage/v1/projects/interfaces: get: operationId: get-project-search-page-interfaces summary: Get Project Search Page Interfaces description: Get all search page interfaces in a [Coveo organization](https://docs.coveo.com/en/185/) and a [project](https://docs.coveo.com/en/n7ef0517/manage-an-organization/manage-projects). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/order' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/projectId' responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/search-page-interface-config-project' /rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}: get: operationId: get-search-page-interface summary: Get a Search Page Interface description: Get a search page interface in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/search-page-interface-config-id' '404': description: Not Found put: operationId: update-search-page-interface summary: Update a Search Page Interface description: Update a search page interface in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/search-page-interface-config' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/search-page-interface-config-id' '404': description: Not Found delete: operationId: delete-search-page-interface summary: Delete a Search Page Interface description: Delete a search page interface in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' responses: '204': description: No Content '404': description: Not Found /rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/accesses: get: operationId: get-search-page-interface-access summary: Get a Search Page Interface's Access Configuration description: Get a search page interface access in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/interface-access' '404': description: Not Found put: operationId: update-search-page-interface-access summary: Update a Search Page Interface's Access Configuration description: Update a search page interface access in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/search-page-interface-access' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/search-page-interface-access' '404': description: Not Found /rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/accesses/users: get: operationId: get-search-page-interface-user-access summary: Get the List of Users with Access to the Search Page. description: Get a user with access to a given search page interface in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' responses: '200': description: Ok content: application/json: schema: type: array items: type: string '404': description: Not Found put: operationId: update-search-page-interface-user-access summary: Update the List of Users with Access to a Search Page. description: Set list of users with access to a given search page interface in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' requestBody: required: true content: application/json: schema: type: array items: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/search-page-interface-config-id' '404': description: Not Found post: operationId: add-search-page-interface-user-access summary: Add a Search Page Interface User Access description: Add users to list of users with access to given search page in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' - $ref: '#/components/parameters/notify' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/interface-add-user' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/search-page-interface-config-id' /rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/access/request: post: operationId: request-search-page-interface-access summary: Request Search Page Interface Access description: Request access to a search page interface in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' responses: '204': description: No Content '400': description: Bad Request '404': description: Not Found /rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/preview: post: operationId: preview-search-page-interface summary: Preview Search Page Interface description: Generate the markup of a search page interface in a [Coveo organization](https://docs.coveo.com/en/185/). tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/search-page-interface-config-id' responses: '200': description: Ok content: text/html: schema: type: string example: '404': description: Not Found '401': description: Unauthorized /rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/pipelines: get: operationId: get-search-page-interface-pipelines summary: Get Search Page Interface Pipelines description: Get the pipelines used by a search page in a [Coveo organization](https://docs.coveo.com/en/185/) in the builder context. tags: - Search Page Configuration parameters: - $ref: '#/components/parameters/organization-id' - $ref: '#/components/parameters/interface-id' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/pipelines-status' '404': description: Not Found components: schemas: interface-add-user: type: object properties: users: $ref: '#/components/schemas/interface-user-list' message: type: string description: Message to send as part of email notifications, when `notify` is set to `true`. example: Hey, check out this new search page required: false pipeline-status: type: object description: The status of a pipeline. properties: id: type: string description: The unique identifier of the pipeline. example: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa name: type: string description: The name of the pipeline. example: My pipeline pipelineType: type: string description: The type of the pipeline. example: search conditionId: type: string description: The unique identifier of the associated condition. example: bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb models: type: array items: description: The list of models used by the pipeline. properties: id: type: string description: The unique identifier of the model. example: cccccccc-cccc-cccc-cccc-cccccccccccc modelStatus: type: string description: The status of the model. example: ACTIVE modelEngine: type: string description: The type of the model. example: genqa interface-user-list: type: array description: The list of users that are allowed to access the search interface. example: - alice@example.com - bob@example.com items: type: string search-page-interface-config-id: type: object properties: id: type: string description: The unique identifier of the search interface configuration. example: 123e4567-e89b-12d3-a456-426614174000 name: type: string description: A short descriptive name to help manage search pages. example: ExStore facets: type: array description: The list of facets to display in the search page. items: properties: field: type: string description: The [field](https://docs.coveo.com/en/200) on which the facet is based. label: type: string description: The label of the facet. example: - field: source label: Source - field: objecttype label: Object Type sortCriteria: type: array description: The array of sort criteria the end user can select when interacting with the search interface. items: properties: by: type: string description: 'The kind of sort criterion. Required.
**Allowed values:**
- `relevancy`
- `date`
- `field`: sort based on the values of a target field, which you need to specify in the `field` parameter.' enum: - relevancy - date - field label: type: string description: The label of the sort criterion. Required. field: type: string description: The [field](https://docs.coveo.com/en/200) on which the sort is based. Required when `by` value is `field`, and ignored otherwise.
Must be [sortable in the index](https://docs.coveo.com/en/1833/index-content/add-or-edit-a-field#sortable). order: type: string enum: - ASC - DESC description: 'The sort direction, if applicable.
Default behaviour is a follows:
- If the `by` value is `relevancy`, this parameter does not apply.
- If the `by` value is `date`, the default value is `DESC`.
- If the `by` value is anything else, the default value is `ASC`.
**Allowed values:**
- `ASC`: ascending
- `DESC`: descending' required: - by - label accesses: $ref: '#/components/schemas/interface-access' layout: type: string description: The search page layout. enum: - list - grid resultTemplates: type: array description: The list of search page result templates. items: properties: name: type: string description: The result template name. badges: type: array description: The result template badges. items: properties: field: type: string description: The [field](https://docs.coveo.com/en/200) on which the badge is based. color: type: string description: The color of the result template badge. details: type: array description: The result template details. items: properties: field: type: string description: The [field](https://docs.coveo.com/en/200) on which the tab is based. label: type: string description: The label of the result template detail. conditions: type: array description: The conditions of the tab to use on fields. items: properties: conditionType: type: string description: The type of condition to apply on a field. field: type: string description: The [field](https://docs.coveo.com/en/200) on which the tab is based. values: type: array description: The value to use for the tab condition. imageSize: type: string description: The size of the result template image. enum: - NONE - SMALL - MEDIUM - LARGE descriptionEnabled: type: boolean description: Whether to display the result template description. resultActions: type: object description: The result template actions. properties: copyToClipboard: type: object properties: enabled: type: boolean quickView: type: object properties: enabled: type: boolean example: - name: Default layout: default badges: - field: documenttype color: '#d057bf' details: - field: source label: source conditions: [] - name: My Custom Template layout: default badges: - field: documenttype color: '#e4e3e3' details: - field: source label: source conditions: - conditionType: isDefined field: filetype - conditionType: mustMatch field: sourcetype values: - youtube style: type: object description: The search page styling. properties: fontFamily: type: string description: The font-family example: Comic Sans MS colors: type: object description: All changeable HEX colors of the search page. properties: accent1: type: string description: The primary color. example: '#1372ec' accent2: type: string description: The secondary color. background: type: string description: The background color. titles: type: string description: The color of the titles. normalText: type: string description: The color of other text. navigationBackground: type: string description: The color of the navigation background. settings: type: object description: The search page settings. properties: targetSelector: type: string description: CSS selector to target the HTML element in which the search page will render. example: '#sidepanel' querySuggestions: type: object description: Whether to enable query suggestions. properties: enabled: type: boolean queryHistory: type: object description: Whether to enable query history. properties: enabled: type: boolean smartSnippets: type: object description: Whether to enable smart snippets. properties: enabled: type: boolean peopleAlsoAsk: type: object description: Whether to enable people also ask. properties: enabled: type: boolean genQA: type: object description: Whether to enable GenQA. properties: enabled: type: boolean agent: type: object description: Whether to enable the agent-based generated answer. Mutually exclusive with genQA. properties: enabled: type: boolean default: false created: type: string format: date-time description: The creation timestamp. (ISO 8601) example: '2021-12-31T12:46:00.000Z' createdBy: type: string description: The creator principal. example: jdoe@gmail.com-google updated: type: string format: date-time description: The last update timestamp. (ISO 8601) example: '2001-12-31T13:03:00.000Z' updatedBy: type: string description: The last updater principal. example: jdoe@gmail.com-google required: - id - name search-page-interface-config: type: object properties: name: type: string description: A short descriptive name to help manage search pages. example: ExStore facets: type: array description: The list of facets to display in the search page. items: properties: field: type: string description: The [field](https://docs.coveo.com/en/200) on which the facet is based. label: type: string description: The label of the facet. example: - field: source label: Source - field: objecttype label: Object Type sortCriteria: type: array description: The array of sort criteria the end user can select when interacting with the search interface. items: properties: by: type: string description: 'The kind of sort criterion. Required.
**Allowed values:**
- `relevancy`
- `date`
- `field`: sort based on the values of a target field, which you need to specify in the `field` parameter.' enum: - relevancy - date - field label: type: string description: The label of the sort criterion. Required. field: type: string description: The [field](https://docs.coveo.com/en/200) on which the sort is based. Required when `by` value is `field`, and ignored otherwise.
Must be [sortable in the index](https://docs.coveo.com/en/1833/index-content/add-or-edit-a-field#sortable). order: type: string enum: - ASC - DESC description: 'The sort direction, if applicable.
Default behaviour is a follows:
- If the `by` value is `relevancy`, this parameter does not apply.
- If the `by` value is `date`, the default value is `DESC`.
- If the `by` value is anything else, the default value is `ASC`.
**Allowed values:**
- `ASC`: ascending
- `DESC`: descending' required: - by - label accesses: $ref: '#/components/schemas/interface-access' layout: type: string description: The search page layout. enum: - list - grid resultTemplates: type: array description: The list of search page result templates. items: properties: name: type: string description: The result template name. badges: type: array description: The result template badges. items: properties: field: type: string description: The [field](https://docs.coveo.com/en/200) on which the badge is based. color: type: string description: The color of the result template badge. details: type: array description: The result template details. items: properties: field: type: string description: The [field](https://docs.coveo.com/en/200) on which the tab is based. label: type: string description: The label of the result template detail. conditions: type: array description: The conditions of the tab to use on fields. items: properties: conditionType: type: string description: The type of condition to apply on a field. field: type: string description: The [field](https://docs.coveo.com/en/200) on which the tab is based. values: type: array description: The value to use for the tab condition. imageSize: type: string description: The size of the result template image. enum: - NONE - SMALL - MEDIUM - LARGE descriptionEnabled: type: boolean description: Whether to display the result template description. resultActions: type: object description: The result template actions. properties: copyToClipboard: type: object properties: enabled: type: boolean quickView: type: object properties: enabled: type: boolean example: - name: Default layout: default badges: - field: documenttype color: '#d057bf' details: - field: source label: source conditions: [] - name: My Custom Template layout: default badges: - field: documenttype color: '#e4e3e3' details: - field: source label: source conditions: - conditionType: isDefined field: filetype - conditionType: mustMatch field: sourcetype values: - youtube style: type: object description: The search page styling. properties: fontFamily: type: string description: The font-family example: Comic Sans MS colors: type: object description: All changeable HEX colors of the search page. properties: accent1: type: string description: The primary color. example: '#1372ec' accent2: type: string description: The secondary color. background: type: string description: The background color. titles: type: string description: The color of the titles. normalText: type: string description: The color of other text. navigationBackground: type: string description: The color of the navigation background. settings: type: object description: The search page settings. properties: targetSelector: type: string description: CSS selector to target the HTML element in which the search page will render. example: '#sidepanel' querySuggestions: type: object description: Whether to enable query suggestions. properties: enabled: type: boolean queryHistory: type: object description: Whether to enable query history. properties: enabled: type: boolean smartSnippets: type: object description: Whether to enable smart snippets. properties: enabled: type: boolean peopleAlsoAsk: type: object description: Whether to enable people also ask. properties: enabled: type: boolean genQA: type: object description: Whether to enable GenQA. properties: enabled: type: boolean agent: type: object description: Whether to enable the agent-based generated answer. Mutually exclusive with genQA. properties: enabled: type: boolean default: false required: - name pipelines-status: type: array description: A list containing the pipeline(s) used by the interface. items: $ref: '#/components/schemas/pipeline-status' search-page-interface-config-project: allOf: - $ref: '#/components/schemas/search-page-interface-config' - type: object properties: projectIds: type: array description: The list of project IDs associated with the search page interface. items: type: string interface-access: type: object properties: users: $ref: '#/components/schemas/interface-user-list' domains: type: array description: The list of domains that are allowed to access the search interface. example: - example.com - sample.com items: type: string sharingLinkEnabled: type: boolean example: true sharingDomainEnabled: type: boolean example: true parameters: notify: name: notify description: Whether to send an email notification to new search page users. example: false in: query schema: type: boolean order: name: order description: 'The sort direction of the results.
Possible values:
- `asc`: ascending order
- `desc`: descending order' in: query schema: type: string enum: - asc - desc organization-id: name: organizationId description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). example: mycoveocloudv2organizationg8tp8wu3 in: path required: true schema: type: string page: name: page description: The 0-based number of the page of configurations to list. in: query schema: type: integer minimum: 0 maximum: 100 filter: name: filter description: A substring that must appear in a search interface configuration name for this configuration to appear in results. example: Store in: query schema: type: string interface-id: name: interfaceId description: The unique identifier of the target search interface. example: 123e4567-e89b-12d3-a456-426614174000 in: path required: true schema: type: string perPage: name: perPage description: The maximum number of configurations to include per page. in: query schema: type: integer minimum: 0 maximum: 20 projectId: name: projectId description: The id of the project to which the resource belongs. in: query schema: type: string 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