Driansh Softtech

API overview

Learn the three EngageOne APIs: the Application API for your account, the Client API for custom chat apps, and the Platform API for multi-tenant setups.

On this page

EngageOne has three REST APIs. Pick the one that matches who is making the call: your team, your customer, or the person who runs the whole installation.

The three APIs at a glance

API Who calls it Base path How it authenticates
Application API Your own scripts, back-office tools and bots, acting for an agent or a bot /api/v1/accounts/<account_id>/... A user or agent bot access token
Client API Your app, acting for a customer in an API inbox /public/api/v1/inboxes/<inbox_identifier>/... The inbox identifier and the contact's source_id in the path
Platform API The installation's super admin, for multi-tenant or reseller setups /platform/api/v1/... A platform app access token

All paths start with your EngageOne address, for example:

https://<your-engageone-domain>/api/v1/accounts/<account_id>/conversations

Tip: Your account ID is the number after /accounts/ in the address bar when you're signed in to EngageOne.

Application API

Use the Application API to do what an agent can do in the dashboard: list and update conversations, send messages, manage contacts, labels, teams, inboxes and reports.

Every request needs an access token in a request header. The header is named api_access_token:

api_access_token: <your-access-token>

The token decides what you're allowed to do. A personal token has the same permissions as the person who owns it. An agent bot token can only reach a small set of conversation endpoints. See Access tokens.

Example: list conversations

This request lists open conversations assigned to you:

curl "https://<your-engageone-domain>/api/v1/accounts/<account_id>/conversations?status=open&assignee_type=me&page=1" \
  -H "api_access_token: <your-access-token>"

Useful query parameters:

Parameter Values
status open, resolved, pending, snoozed or all. Defaults to open
assignee_type me, unassigned or assigned. Leave it out to get all
conversation_type mention, participating or unattended
inbox_id Only conversations in this inbox
team_id Only conversations for this team
labels[] Only conversations with any of these labels
page Page number, starting at 1

The response has two parts. data.meta holds counts such as mine_count, unassigned_count and all_count. data.payload holds the conversations.

Example: send a reply

curl -X POST "https://<your-engageone-domain>/api/v1/accounts/<account_id>/conversations/<conversation_id>/messages" \
  -H "api_access_token: <your-access-token>" \
  -H "Content-Type: application/json" \
  -d '{"content": "Thanks, your refund is on its way.", "message_type": "outgoing", "private": false}'

Set "private": true to add a private note instead of a reply.

Client API

Use the Client API when you build your own chat experience, for example inside a mobile app. Your app calls it on behalf of the customer, so it doesn't use an access token. Instead, each path includes:

  • The Inbox Identifier of an API inbox.
  • The contact's source_id, which you get when you create the contact.
https://<your-engageone-domain>/public/api/v1/inboxes/<inbox_identifier>/contacts/<source_id>/conversations

The API channel article walks through the full flow, from creating a contact to receiving agent replies.

Platform API

The Platform API is for whoever runs the EngageOne installation, for example a reseller who creates accounts for their own customers. It can:

  • Create, update and delete accounts.
  • Create users, add them to accounts and get a single sign-on link for them.
  • Create and manage agent bots.

A super admin creates a platform app in the super admin console and copies its access token. Send it in the same api_access_token header. A platform app can only see and change the accounts, users and bots it created itself.

Note: If you use EngageOne as a hosted service, you normally don't have super admin access. Use the Application API instead, or contact Driansh support.

Errors and limits

Status Meaning
401 The token is missing or wrong, or a bot token called an endpoint bots can't use
403 The account doesn't have API access, or your role doesn't allow the action
404 The account, conversation or other record wasn't found
422 The request body is invalid. The response explains what to fix
429 You sent too many requests in a short time

EngageOne limits how many requests one IP address can send per minute, with tighter limits on a few busy endpoints. If you get a 429, wait a little and retry. Spread large jobs out instead of sending everything at once.

Note: API access is available on plans that include it. If your token works in the dashboard but API calls return 403, ask your administrator to check your plan.

Was this article helpful?

Still need help?Contact us