API Usage

Provides an overview of the EngageOne™ Communicate REST API, with links to the Swagger API documentation for more details

EngageOne™ Communicate offers a REST API that gives programmatic access to the actions available in the EngageOne™ Communicate web application, such as adding assets to the Asset Library and creating campaigns.

For some code examples of using the EngageOne™ Communicate API, see API Examples.

The following APIs are available:

Type Description Swagger documentation
Public API Endpoints for actions that do not require authentication, such as adding an email address to the unsubscribe list or verifying an email address for use when sending emails. https://docs.api.communicate.engageone.co/public.html
Private API Endpoints for actions that require authentication because they access the company's campaigns, communications, templates and assets. To use the Private API, you must provide an authentication token as part of the header. https://docs.api.communicate.engageone.co/private.html
Users API Endpoints for login and authentication. https://docs.api.communicate.engageone.co/users.html
Document Channel API Endpoints for actions connected with document channel, includes templates and communications operations as well as PDF generation. https://docs.api.communicate.engageone.co/document-channel.html
Chat Channel API Endpoints for actions connected with chat channel, includes templates and communications operations. https://docs.api.communicate.engageone.co/chat-channel.html
Video Channel API Endpoints for actions connected with video channel, includes communications operations. https://docs.api.communicate.engageone.co/video-channel.html
Video Delivery API Endpoints for actions connected with video player/video delivery. https://docs.api.communicate.engageone.co/video-delivery-player.html
Archiving API Endpoints for actions connected with archiving. https://docs.api.communicate.engageone.co/archiving-channel.html
Push notification API Endpoints for actions connected with push notifications. https://docs.api.communicate.engageone.co/push-notification.html
NLU Endpoints for actions connected with communicate Natural Language Understanding. https://docs.api.communicate.engageone.co/nlu.html
API Endpoints for transferring communications and email campaign sending. https://docs.api.communicate.engageone.co/api.html
Note: Public and private APIs are regional. Please select the correct endpoint for your Communicate team.

To use the APIs, you need to:

  1. Get the client credentials for your company account.
  2. Get an authentication token (JWT) using the User Services API /authenticate endpoint.

  3. Invoke the Private API with your authentication headers.

Get client credentials

In order to invoke the endpoints in the Private API, you require a set of client credentials. You can obtain this from the Account Settings screen. You need to be an administrator to access this page. For details of creating client credentials, see Client credentials.

Once credentials have been added, hover over the CustomerID, ClientID and Secret and select Copy to Clipboard to copy these to the clipboard.

In particular, keep the Secret token for use later — the Secret is only shown once (the customer ID and client ID will not change). If you lose the Secret token, you will need to generate a new one.

Note: If client credentials already exist and you don't know the Secret token, click Regenerate Secret to get a new token. You will then need to update any existing integration that uses the Secret token.

Get authentication token

In order to call the endpoints in the Private API, you need to provide two authentication headers:

Header Details
PB-Customer-Id The ID of the Communicate company you are acting on. This is the name of the company prefixed with eocm-, and with spaces replaced by hyphens. This is case sensitive.
Authorization Takes the form of Bearer {token} where {token} is a JWT token obtained with the client credentials calling the /authenticate endpoint in the Users API.

Remove API access

To remove API access, delete the client credentials.