openapi: 3.0.1
info:
title: Coveo Activity Activities In-App 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: In-App
paths:
/rest/organizations/{organizationID}/pages/inappwidget:
post:
security:
- OAuth2:
- full
description: 'Creates an InAppWidget in a [Coveo Cloud organization](https://docs.coveo.com/en/185). <br/><br/>**Required privilege:** Search Pages - Create<br/><details><summary>Privilege required</summary>```{ "owner": "SEARCH_API", "targetDomain": "SEARCH_PAGES", "type": "CREATE", "targetId": "*" }```</details>'
consumes:
- application/json
produces:
- application/json
tags:
- In-App
summary: Create InAppWidget
parameters:
- type: string
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3').
name: organizationID
in: path
required: true
- description: The configuration to use for the new InAppWidget.
name: body
in: body
required: true
schema:
$ref: '#/definitions/swaggermodels.FullInAppWidgetRequestModel'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/swaggermodels.InAppWidgetCreateResponseBody'
'400':
description: Bad Request
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorBadRequest'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorUnauthorized'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorInternalServerError'
/rest/organizations/{organizationID}/pages/inappwidget/{pageID}:
put:
security:
- OAuth2:
- full
description: 'Updates an InAppWidget in a [Coveo Cloud organization](https://docs.coveo.com/en/185). <br/><br/>**Required privilege:** Search Pages - Edit<br/><details><summary>Privilege required</summary>```{ "owner": "SEARCH_API", "targetDomain": "SEARCH_PAGES", "type": "EDIT", "targetId": "*" }```</details>'
consumes:
- application/json
produces:
- application/json
tags:
- In-App
summary: Update InAppWidget
parameters:
- type: string
description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3').
name: organizationID
in: path
required: true
- type: string
description: The unique identifier of the search page whose corresponding InAppWidget should be updated (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e').
name: pageID
in: path
required: true
- description: The new configuration to use for the updated InAppWidget.
name: body
in: body
required: true
schema:
$ref: '#/definitions/swaggermodels.FullInAppWidgetRequestModel'
responses:
'204':
description: Updated successfully
'400':
description: Bad Request
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorBadRequest'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorUnauthorized'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorInternalServerError'
/rest/organizations/{organizationID}/pages/inappwidgets:
get:
security:
- OAuth2:
- full
description: 'Lists all InAppWidgets in a [Coveo Cloud organization](https://docs.coveo.com/en/185/). <br/><br/>**Required privilege:** Search Pages - View<br/><details><summary>Privilege required</summary>```{ "owner": "SEARCH_API", "targetDomain": "SEARCH_PAGES", "type": "VIEW", "targetId": "*" }```</details>'
produces:
- application/json
tags:
- In-App
summary: List InAppWidgets
parameters:
- type: string
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/) (e.g., 'mycoveocloudv2organizationg8tp8wu3').
name: organizationID
in: path
required: true
- type: string
description: The 'name' metadata value of the search page whose corresponding InAppWidget should be retrieved (e.g., 'mysearchpage').
name: name
in: query
responses:
'200':
description: OK
schema:
type: array
items:
type: object
required:
- name
- title
properties:
button:
description: The button.
type: object
properties:
buttonCSS:
description: The button's CSS.
type: array
items:
$ref: '#/definitions/swaggermodels.buttonCSSResponseModel'
buttonCSSClasses:
description: The CSS classes of the button.
type: array
items:
type: string
example:
- btn
- mod-primary
buttonColor:
description: The button's colors.
type: object
properties:
color:
description: The value of the button CSS background-color property.
type: string
example: '#2a2aa2'
textColor:
description: The value of the CSS color property.
type: string
example: '#e0e0e0'
buttonFont:
description: The button's font.
type: object
properties:
family:
description: The value of the CSS font-family property.
type: string
example: '''Courier New'', Courier, monospace'
size:
description: The value of the CSS font-size property.
type: string
example: 24px
buttonIcon:
description: The button's icon.
type: object
properties:
value:
description: The icon's stringified HTML.
type: string
default: "\n\t\t<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\"> \n <g fill=\"currentColor\"> \n <path d=\"m1,11c0,5.52 4.48,10 10,10s10,-4.48 10,-10s-4.48,-10 -10,-10s-10,4.48 -10,10z\" fill=\"transparent\"></path> \n <path d=\"m11,22c-6.07,0 -11,-4.935 -11,-11s4.935,-11 11,-11s11,4.935 11,11s-4.935,11 -11,11m0,-20c-4.962,0 -9,4.04 -9,9s4.04,9 9,9s9,-4.04 9,-9s-4.04,-9 -9,-9\"></path> \n <path d=\"m10,17l2,0l0,-2l-2,0l0,2m1,-12.344c-2.21,0 -4,1.79 -4,4l2,0c0,-1.1 0.9,-2 2,-2s2,0.9 2,2c0,2 -3,1.75 -3,5l2,0c0,-2.25 3,-2.5 3,-5c0,-2.21 -1.79,-4 -4,-4\"></path> \n </g>\n </svg>\n\t\t"
example: <svg><circle/></svg>
buttonJS:
description: The button's JavaScript.
type: array
items:
$ref: '#/definitions/swaggermodels.buttonJavaScriptResponseModel'
buttonPosition:
description: The button's text alignment.
type: object
properties:
horizontalPosition:
description: The horizontal alignment of the button.
type: string
default: Right
enum:
- Undefined
- Left
- Center
- Right
example: Center
verticalPosition:
description: 'The vertical alignment of the button.
The vertical alignment.'
type: string
default: Bottom
enum:
- Undefined
- Top
- Middle
- Bottom
example: Middle
content:
description: The HTML body content of the widget's page.
type: string
example: <main><h1>My page</h1></main>
hasToken:
description: Whether or not this InAppWidget has a search token.
type: boolean
default: true
example: true
header:
description: The HTML head content of the widget's page.
type: object
properties:
css:
description: The CSS resources of the widget.
type: array
items:
$ref: '#/definitions/swaggermodels.CSSResourceSharedModel'
javascript:
description: The JavaScript resources of the widget.
type: array
items:
$ref: '#/definitions/swaggermodels.JavaScriptResourceSharedModel'
id:
description: The unique identifier of the search page.
type: string
example: 12b627f9-e3aa-49db-a0f5-5c0c1392e59e
lastModified:
description: The time at which the search page was last modified.
type: string
example: '2019-10-31T20:17:35-04:00'
name:
description: The unique name of the search page.
type: string
example: My_Page
orgId:
description: The unique identifier of the parent Coveo Cloud organization.
type: string
example: mycoveocloudv2organizationg8tp8wu3
title:
description: The search page HTML title tag value.
type: string
example: My page
token:
description: The [search token](https://docs.coveo.com/en/1346/) to request when initializing the InAppWidget.
allOf:
- $ref: '#/definitions/swaggermodels.searchTokenConfigurationResponseModel'
'400':
description: Bad Request
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorBadRequest'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorUnauthorized'
'403':
description: Forbidden
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorForbidden'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorInternalServerError'
/rest/organizations/{organizationID}/pages/inappwidgets/ids:
post:
security:
- OAuth2:
- full
description: 'lists InAppWidgets by ids in a [Coveo Cloud organization](https://docs.coveo.com/en/185/). <br/><br/>**Required privilege:** Search Pages - View<br/><details><summary>Privilege required</summary>```{ "owner": "SEARCH_API", "targetDomain": "SEARCH_PAGES", "type": "VIEW", "targetId": "*" }```</details>'
produces:
- application/json
tags:
- In-App
summary: List InAppWidgets by Ids
parameters:
- type: string
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/) (e.g., 'mycoveocloudv2organizationg8tp8wu3').
name: organizationID
in: path
required: true
- description: The list of ids
name: payload
in: body
required: true
schema:
type: array
items:
type: string
responses:
'200':
description: OK
schema:
type: array
items:
type: object
required:
- name
- title
properties:
button:
description: The button.
type: object
properties:
buttonCSS:
description: The button's CSS.
type: array
items:
$ref: '#/definitions/swaggermodels.buttonCSSResponseModel'
buttonCSSClasses:
description: The CSS classes of the button.
type: array
items:
type: string
example:
- btn
- mod-primary
buttonColor:
description: The button's colors.
type: object
properties:
color:
description: The value of the button CSS background-color property.
type: string
example: '#2a2aa2'
textColor:
description: The value of the CSS color property.
type: string
example: '#e0e0e0'
buttonFont:
description: The button's font.
type: object
properties:
family:
description: The value of the CSS font-family property.
type: string
example: '''Courier New'', Courier, monospace'
size:
description: The value of the CSS font-size property.
type: string
example: 24px
buttonIcon:
description: The button's icon.
type: object
properties:
value:
description: The icon's stringified HTML.
type: string
default: "\n\t\t<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\"> \n <g fill=\"currentColor\"> \n <path d=\"m1,11c0,5.52 4.48,10 10,10s10,-4.48 10,-10s-4.48,-10 -10,-10s-10,4.48 -10,10z\" fill=\"transparent\"></path> \n <path d=\"m11,22c-6.07,0 -11,-4.935 -11,-11s4.935,-11 11,-11s11,4.935 11,11s-4.935,11 -11,11m0,-20c-4.962,0 -9,4.04 -9,9s4.04,9 9,9s9,-4.04 9,-9s-4.04,-9 -9,-9\"></path> \n <path d=\"m10,17l2,0l0,-2l-2,0l0,2m1,-12.344c-2.21,0 -4,1.79 -4,4l2,0c0,-1.1 0.9,-2 2,-2s2,0.9 2,2c0,2 -3,1.75 -3,5l2,0c0,-2.25 3,-2.5 3,-5c0,-2.21 -1.79,-4 -4,-4\"></path> \n </g>\n </svg>\n\t\t"
example: <svg><circle/></svg>
buttonJS:
description: The button's JavaScript.
type: array
items:
$ref: '#/definitions/swaggermodels.buttonJavaScriptResponseModel'
buttonPosition:
description: The button's text alignment.
type: object
properties:
horizontalPosition:
description: The horizontal alignment of the button.
type: string
default: Right
enum:
- Undefined
- Left
- Center
- Right
example: Center
verticalPosition:
description: 'The vertical alignment of the button.
The vertical alignment.'
type: string
default: Bottom
enum:
- Undefined
- Top
- Middle
- Bottom
example: Middle
content:
description: The HTML body content of the widget's page.
type: string
example: <main><h1>My page</h1></main>
hasToken:
description: Whether or not this InAppWidget has a search token.
type: boolean
default: true
example: true
header:
description: The HTML head content of the widget's page.
type: object
properties:
css:
description: The CSS resources of the widget.
type: array
items:
$ref: '#/definitions/swaggermodels.CSSResourceSharedModel'
javascript:
description: The JavaScript resources of the widget.
type: array
items:
$ref: '#/definitions/swaggermodels.JavaScriptResourceSharedModel'
id:
description: The unique identifier of the search page.
type: string
example: 12b627f9-e3aa-49db-a0f5-5c0c1392e59e
lastModified:
description: The time at which the search page was last modified.
type: string
example: '2019-10-31T20:17:35-04:00'
name:
description: The unique name of the search page.
type: string
example: My_Page
orgId:
description: The unique identifier of the parent Coveo Cloud organization.
type: string
example: mycoveocloudv2organizationg8tp8wu3
title:
description: The search page HTML title tag value.
type: string
example: My page
token:
description: The [search token](https://docs.coveo.com/en/1346/) to request when initializing the InAppWidget.
allOf:
- $ref: '#/definitions/swaggermodels.searchTokenConfigurationResponseModel'
'400':
description: Bad Request
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorBadRequest'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorUnauthorized'
'403':
description: Forbidden
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorForbidden'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorInternalServerError'
/rest/organizations/{organizationID}/pages/inappwidgets/projectid:
get:
security:
- OAuth2:
- full
description: 'lists InAppWidgets by project id in a [Coveo Cloud organization](https://docs.coveo.com/en/185/). <br/><br/>**Required privilege:** Search Pages - View<br/><details><summary>Privilege required</summary>```{ "owner": "SEARCH_API", "targetDomain": "SEARCH_PAGES", "type": "VIEW", "targetId": "*" }```</details>'
produces:
- application/json
tags:
- In-App
summary: List InAppWidgets by Project ID
parameters:
- type: string
description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/) (e.g., 'mycoveocloudv2organizationg8tp8wu3').
name: organizationID
in: path
required: true
- type: string
description: The project id
name: projectid
in: query
responses:
'200':
description: OK
schema:
type: array
items:
type: object
required:
- name
- title
properties:
button:
description: The button.
type: object
properties:
buttonCSS:
description: The button's CSS.
type: array
items:
$ref: '#/definitions/swaggermodels.buttonCSSResponseModel'
buttonCSSClasses:
description: The CSS classes of the button.
type: array
items:
type: string
example:
- btn
- mod-primary
buttonColor:
description: The button's colors.
type: object
properties:
color:
description: The value of the button CSS background-color property.
type: string
example: '#2a2aa2'
textColor:
description: The value of the CSS color property.
type: string
example: '#e0e0e0'
buttonFont:
description: The button's font.
type: object
properties:
family:
description: The value of the CSS font-family property.
type: string
example: '''Courier New'', Courier, monospace'
size:
description: The value of the CSS font-size property.
type: string
example: 24px
buttonIcon:
description: The button's icon.
type: object
properties:
value:
description: The icon's stringified HTML.
type: string
default: "\n\t\t<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\"> \n <g fill=\"currentColor\"> \n <path d=\"m1,11c0,5.52 4.48,10 10,10s10,-4.48 10,-10s-4.48,-10 -10,-10s-10,4.48 -10,10z\" fill=\"transparent\"></path> \n <path d=\"m11,22c-6.07,0 -11,-4.935 -11,-11s4.935,-11 11,-11s11,4.935 11,11s-4.935,11 -11,11m0,-20c-4.962,0 -9,4.04 -9,9s4.04,9 9,9s9,-4.04 9,-9s-4.04,-9 -9,-9\"></path> \n <path d=\"m10,17l2,0l0,-2l-2,0l0,2m1,-12.344c-2.21,0 -4,1.79 -4,4l2,0c0,-1.1 0.9,-2 2,-2s2,0.9 2,2c0,2 -3,1.75 -3,5l2,0c0,-2.25 3,-2.5 3,-5c0,-2.21 -1.79,-4 -4,-4\"></path> \n </g>\n </svg>\n\t\t"
example: <svg><circle/></svg>
buttonJS:
description: The button's JavaScript.
type: array
items:
$ref: '#/definitions/swaggermodels.buttonJavaScriptResponseModel'
buttonPosition:
description: The button's text alignment.
type: object
properties:
horizontalPosition:
description: The horizontal alignment of the button.
type: string
default: Right
enum:
- Undefined
- Left
- Center
- Right
example: Center
verticalPosition:
description: 'The vertical alignment of the button.
The vertical alignment.'
type: string
default: Bottom
enum:
- Undefined
- Top
- Middle
- Bottom
example: Middle
content:
description: The HTML body content of the widget's page.
type: string
example: <main><h1>My page</h1></main>
hasToken:
description: Whether or not this InAppWidget has a search token.
type: boolean
default: true
example: true
header:
description: The HTML head content of the widget's page.
type: object
properties:
css:
description: The CSS resources of the widget.
type: array
items:
$ref: '#/definitions/swaggermodels.CSSResourceSharedModel'
javascript:
description: The JavaScript resources of the widget.
type: array
items:
$ref: '#/definitions/swaggermodels.JavaScriptResourceSharedModel'
id:
description: The unique identifier of the search page.
type: string
example: 12b627f9-e3aa-49db-a0f5-5c0c1392e59e
lastModified:
description: The time at which the search page was last modified.
type: string
example: '2019-10-31T20:17:35-04:00'
name:
description: The unique name of the search page.
type: string
example: My_Page
orgId:
description: The unique identifier of the parent Coveo Cloud organization.
type: string
example: mycoveocloudv2organizationg8tp8wu3
title:
description: The search page HTML title tag value.
type: string
example: My page
token:
description: The [search token](https://docs.coveo.com/en/1346/) to request when initializing the InAppWidget.
allOf:
- $ref: '#/definitions/swaggermodels.searchTokenConfigurationResponseModel'
'400':
description: Bad Request
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorBadRequest'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorUnauthorized'
'403':
description: Forbidden
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorForbidden'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorInternalServerError'
/rest/organizations/{organizationID}/pages/{pageID}/inappwidget/loader:
get:
security:
- OAuth2:
- full
description: Retrieves the JavaScript code that can initialize a specific InAppWidget configured in a [Coveo Cloud organization](https://docs.coveo.com/en/185). <br/><br/>**Required privilege:** None<br/>
produces:
- text/javascript
tags:
- In-App
summary: Get InAppWidget Loader
parameters:
- type: string
description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) whose InAppWidget loader should be retrieved (e.g., 'mycoveocloudv2organizationg8tp8wu3').
name: organizationID
in: path
required: true
- type: string
description: The unique identifier of the search page whose corresponding InAppWidget loader should be retrieved (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e').
name: pageID
in: path
required: true
- type: string
description: <p>An access token (e.g., [search token](https://docs.coveo.com/en/1346/) or API key) the loader should initialize the InAppWidget with.</p><p>If provided, this token:</p><ul><li>Must grant the **Allowed** [access level](https://docs.coveo.com/en/2818/) on the **Execute Queries** [domain](https://docs.coveo.com/en/2819/), and the **Push** access level on the **Analytics Data** domain in the target [organization](https://docs.coveo.com/en/185/).</li><li>Will completely override the search token configuration specified the InAppWidget.</li></ul>
name: access_token
in: query
responses:
'200':
description: OK
schema:
type: string
'400':
description: Bad Request
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorBadRequest'
'403':
description: Forbidden
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorForbidden'
'404':
description: Not Found
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorNotFound'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/swaggermodels.ResponseApplicationErrorInternalServerError'
components:
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
definitions:
swaggermodels.CSSResourceSharedModel:
type: object
properties:
inlineContent:
description: The content of the header "style" tag.
type: string
example: 'body { color: #e0e0e0; background-color: #2a2aa2; }'
name:
description: The identifier of the header "style" tag.
type: string
example: CoveoSearchUI
url:
description: The URL of CSS stylesheet.
type: string
example: https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css
swaggermodels.searchTokenConfigurationResponseModel:
type: object
required:
- pipeline
- searchHub
properties:
filter:
description: The [constant query expression ('cq')](https://docs.coveo.com/en/179/) to apply when executing search requests with the token.
type: string
example: '@source==KnowledgeBase'
pipeline:
description: The name of the [query pipeline](https://docs.coveo.com/en/180/) to enforce when executing search requests with the token.
type: string
example: InternalSearch
searchHub:
description: The name of the [search hub](https://docs.coveo.com/en/1342/) / [origin level 1](https://docs.coveo.com/en/1337/) to pass when executing search requests and logging usage analytics events with the token.
type: string
example: SupportHub
userDisplayName:
descrip
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/openapi/coveo-in-app-api-openapi.yml