Create a Push Source
Create a Push Source
A Push source requires you to use the Push API to manage its content, whereas a non-Push source manages its content with Coveo crawlers.
If you want to index content from enterprise systems for which no specific or generic connector is appropriate in the Coveo Platform, you need to create a Push source.
Prerequisites:
-
The license of the target Coveo organization must allow you to create
PUSH
type sources (see Get the Organization License Information). -
The following limits must not have been reached in the target Coveo organization (see Get the Organization Limit Status):
-
numberOfSourcesLimit
. -
numberOfSecurityProvidersLimit
(if you want to create a secured Push source).
-
Use the Create a source from simple configuration operation to create a Push source in a Coveo organization.
You can also create a source from the Coveo Administration Console.
Request template
POST https://platform.cloud.coveo.com/rest/organizations/<MyOrganizationId>/sources HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <MyAccessToken>
Payload
{
"sourceType": "PUSH",
"name": <MyPushSourceName>,
"sourceVisibility": <"PRIVATE"|"SECURED"|"SHARED">,
"pushEnabled": true
}
In the request path:
- Replace
<MyOrganizationId>
with the actual ID of the target Coveo organization (see Retrieve the organization ID).
In the Authorization
HTTP header:
- Replace
<MyAccessToken>
with an access token that grants the privilege to edit sources (that is, the Edit access level on the Sources domain) in the target organization (see Create an API key, Get the privileges of an access token, Manage privileges, and Get your Coveo access token).
In the request body:
-
Replace
<MyPushSourceName>
with a meaningfulname
string.You can’t change the name of a source once it has been created, so make sure you choose one that fits the intended content of that source.
-
Replace
<"PRIVATE"|"SECURED"|"SHARED">
with one of the validsourceVisibility
strings.-
The
sourceVisibility
parameter determines who can access your Push source’s content in their Coveo search results. The supported values are the following:sourceVisibility
Items can be accessed by Permission level Administration console content security equivalent PRIVATE
Specified identities only Source Specific users and groups SECURED
Users and groups following the repository’s permission system Item Same users and groups as in your content system SHARED
All users (public) Source Everyone -
You can set source-level permissions for
PRIVATE
andSHARED
sources by modifying their JSON configuration.
-
The body of a successful response contains information about the source you just created. The id
property value is important, as it’s a required parameter in many Coveo REST API operations. You can always retrieve this ID later.
Immediately after you create a secured Push source, you should create a security identity provider for it (see Create a Security Identity Provider for a Secured Push Source). A security identity provider allows you to push expandable identity definitions in order to faithfully replicate the security model of the system you’re planning to index with your source.
Sample Request
Creating a secured Push source
POST https://platform.cloud.coveo.com/rest/organizations/mycoveocloudv2organizationg8tp8wu3/sources HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer **********-****-****-****-************
Payload
{
"sourceType": "PUSH",
"name": "My Secured Push Source",
"sourceVisibility": "SECURED",
"pushEnabled": true
}
Successful response - 201 Created
{
"sourceType": "PUSH",
"id": "mycoveocloudv2organizationg8tp8wu3-rp5rxzbdz753uhndklv2ztkfgy",
"name": "My Secured Push Source",
"owner": "asmith@example.com",
"sourceVisibility": "SECURED",
"information": {
// ...Additional source information...
},
"pushEnabled": true,
// ...Additional information...
}