swagger: '2.0'
info:
description: Service in charge of CRUD operations for Coveo Cloud hosted search pages
title: Coveo Search Pages API
termsOfService: http://www.coveo.com/en/support/terms-agreements
contact:
name: Coveo Community
url: https://answers.coveo.com/
version: '1.0'
host: platform.cloud.coveo.com
basePath: /
paths:
/pages/{organizationID}/zendesk/unlink:
delete:
security:
- OAuth2:
- full
description: 'Remove the link between the Zendesk Installation and the Coveo Organization. <br/><br/>**Required privilege:**
Search Pages - Edit<br/><details><summary>Privilege required</summary>```{ "owner": "SEARCH_API", "targetDomain":
"SEARCH_PAGES", "type": "EDIT", "targetId": "*" }```</details>'
tags:
- Zendesk
summary: Unlink the Zendesk Installation
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 Zendesk Installation Id.
name: installationId
in: query
required: true
responses:
'204':
description: The organization was successfully unlinked
'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:
get:
security:
- OAuth2:
- full
description: 'Gets the JSON definition of search pages hosted in the target Coveo Cloud organization. <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:
- Search Pages
summary: List Search Pages
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 _name_ metadata value of a specific search page to retrieve (e.g., _mysearchpage_).
name: name
in: query
responses:
'200':
description: OK
schema:
type: array
items:
$ref: '#/definitions/swaggermodels.ResponsePage'
'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'
post:
security:
- OAuth2:
- full
description: 'Creates a new empty search page in the target Coveo Cloud organization. <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:
- Search Pages
summary: Create Search Page
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
- description: The new page metadata.
name: payload
in: body
required: true
schema:
$ref: '#/definitions/swaggermodels.RequestCreateEmptyPage'
responses:
'201':
description: Created
schema:
$ref: '#/definitions/swaggermodels.ResponsePage'
'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/ids:
post:
security:
- OAuth2:
- full
description: 'Gets the JSON definition of search pages hosted in the target Coveo Cloud organization. <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:
- Search Pages
summary: List Search Pages by Ids
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
- 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:
$ref: '#/definitions/swaggermodels.ResponsePage'
'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:
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:
- Undefine
# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/openapi/coveo-search-pages-openapi-original.yml