openapi: 3.0.1
info:
title: Coveo Activity Activities Rest 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: Rest
paths:
/rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/html:
get:
operationId: get-search-page-interface-html
summary: Retrieve Search Page Interface
description: Retrieve a search page interface in HTML page format from a [Coveo organization](https://docs.coveo.com/en/185/).
parameters:
- $ref: '#/components/parameters/organization-id'
- $ref: '#/components/parameters/interface-id'
responses:
'200':
description: Ok
content:
text/html:
schema:
type: string
example:
'404':
description: Not Found
tags:
- Rest
/rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/manifest:
post:
operationId: get-search-page-manifest-v1
summary: Retrieve Search Page Manifest
description: Retrieves a search page manifest with detailed information from a [Coveo Cloud organization](https://docs.coveo.com/en/185/).
parameters:
- $ref: '#/components/parameters/organization-id'
- $ref: '#/components/parameters/interface-id'
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/interface-manifest-request'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/interface-manifest'
'404':
description: Not Found
tags:
- Rest
/rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/token:
get:
operationId: get-search-page-interface-token
summary: Get Search Page Search Token
description: Get the search token for a search page interface in a [Coveo organization](https://docs.coveo.com/en/185/).
parameters:
- $ref: '#/components/parameters/organization-id'
- $ref: '#/components/parameters/interface-id'
responses:
'200':
description: Ok
content:
application/json:
schema:
properties:
token:
type: string
tags:
- Rest
/rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/edit:
get:
operationId: get-search-page-interface-edit
summary: Get Search Page Interface Builder
description: Get the builder for a search page in a [Coveo organization](https://docs.coveo.com/en/185/).
parameters:
- $ref: '#/components/parameters/organization-id'
- $ref: '#/components/parameters/interface-id'
responses:
'200':
description: Ok
content:
text/html:
schema:
type: string
tags:
- Rest
/rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/loader:
get:
operationId: get-search-page-interface-loader
summary: Get Search Page Interface Loader
description: Get the loader for a search page in a [Coveo organization](https://docs.coveo.com/en/185/).
parameters:
- $ref: '#/components/parameters/organization-id'
- $ref: '#/components/parameters/interface-id'
responses:
'200':
description: Ok
content:
text/html:
schema:
type: string
'404':
description: Not Found
tags:
- Rest
/rest/organizations/{organizationId}/searchpage/v1/interfaces/{interfaceId}/login:
get:
operationId: get-search-page-interface-login
summary: Get Search Page Interface Login
description: Get the login page for a search page in a [Coveo organization](https://docs.coveo.com/en/185/).
parameters:
- $ref: '#/components/parameters/organization-id'
responses:
'200':
description: Ok
content:
text/html:
schema:
type: string
'404':
description: Not Found
tags:
- Rest
components:
schemas:
interface-content:
type: object
properties:
pipeline:
type: string
description: The unique identifier of the query pipeline enforced in search requests.
example: 8652e601-fdc3-4ec9-90f8-510763ec0956
sources:
type: array
description: The list of sources with which to filter items in search requests. Only items from target sources may be returned.
example:
- sourceNameA
- sourceNameB
items:
type: string
interface-manifest-style:
type: object
description: The Atomic related styling in CSS format.
properties:
theme:
type: string
description: The CSS to set [Atomic theme variables](https://docs.coveo.com/en/atomic/latest/usage/themes-and-visual-customization/#theme-variables).
example: ':root { --atomic-primary: #B6254F; }'
layout:
type: string
description: The page layout CSS.
example: 'body { margin: 0; }'
interface-manifest-result-template:
type: object
description: The Atomic result template configuration information.
properties:
markup:
type: string
description: The HTML markup of the content of the result template.
example:
attributes:
type: object
description: The Atomic [result template component](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-result-template/)'s properties.
additionalProperties:
type: string
example:
must-match-source: salesforce
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
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
interface-manifest-results:
type: object
description: The Atomic results configuration information.
properties:
placeholder:
type: string
description: The placeholder for the result list and result templates.
example: --results--
attributes:
type: object
description: The Atomic [result list component](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-result-list/#properties)'s properties.
additionalProperties:
type: string
example:
display: grid
fields-to-include: source,filetype
density: comfortable
templates:
type: array
items:
$ref: '#/components/schemas/interface-manifest-result-template'
interface-manifest-request:
type: object
properties:
pagePlaceholders:
type: object
description: The placeholders for the page.
properties:
results:
type: string
description: A placeholder for the result list and result templates.
example: --results--
interface-config:
type: object
properties:
name:
type: string
description: A short descriptive name to help manage search pages.
example: ExStore
title:
type: string
description: The title of the search interface configuration. Will be displayed as the HTML page title.
example: My example store search page
facets:
type: array
description: The list of facets to display in the search interface.
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
example:
- by: relevancy
label: Relevance
- by: date
label: Date
order: DESC
- by: field
label: Price
field: price
order: ASC
accesses:
$ref: '#/components/schemas/interface-access'
content:
$ref: '#/components/schemas/interface-content'
layout:
type: string
enum:
- LIST
- GRID
required:
- name
interface-manifest:
type: object
properties:
markup:
type: string
description: The HTML markup of the search interface along with configured placeholders.
example: ...
results:
$ref: '#/components/schemas/interface-manifest-results'
style:
$ref: '#/components/schemas/interface-manifest-style'
config:
$ref: '#/components/schemas/interface-config'
required:
- markup
- results
- style
- config
parameters:
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
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
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