Create a Push source

In this article

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.

Note

Prerequisites:

Use the Create a source from simple configuration operation to create a Push source in a Coveo organization.

Note

Request definition

POST https://platform.cloud.coveo.com/rest/organizations/<MyOrganizationId>/sources HTTP/1.1

Content-Type: application/json
Accept: application/json
Authorization: Bearer <MyAccessToken>

Request body

{
  "sourceType": "PUSH",
  "name": <MyPushSourceName>,
  "sourceVisibility": <"PRIVATE"|"SECURED"|"SHARED">,
  "pushEnabled": true
}

In the request path:

In the Authorization HTTP header:

In the request body:

  • Replace <MyPushSourceName> with a meaningful name string.

Important

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 valid sourceVisibility strings.

Notes
  • 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

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.

Tip
Leading practice: Create a security identity provider

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

The following example shows how to create a secured Push source.

Request definition

POST https://platform.cloud.coveo.com/rest/organizations/mycoveocloudv2organizationg8tp8wu3/sources HTTP/1.1

Content-Type: application/json
Accept: application/json
Authorization: Bearer **********-****-****-****-************

Request body

{
  "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...
}