For the complete documentation index, see llms.txt. This page is also available as Markdown.

Authentication

Every request carries a user token. Create a user for each service and get its token once.

Every request to the Inbox API is authorized with a user token, sent in the Authorization header:

Authorization: Token <token>

You create the user in the Inbox admin panel, request its token once, and send that token with every call.

Get a token

1

Create a user in the admin panel

Open the admin panel of your Inbox. Either:

  • In the Inbox, open the menu (⋮) in the top right and select Admin panel, or

  • Go to your Inbox URL followed by /hub, such as https://your-stack.inbox.getchat.360dialog.io/hub

The Inbox menu, with Admin panel second from the bottom
Admin panel, in the Inbox menu

Go to Users and select Add user. Fill in:

  • Username — letters and digits only, such as crmsync. Pick a name your team will recognise: it shows as the sender of every message the service sends

  • Password — a strong password. You need it once, in the next step

  • Groups — add the App integration group

Save the user.

2

Request its token

Send the username and password to the token endpoint:

curl -X POST $INBOX/api/v1/auth/token/ \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "username=crmsync" \
  --data-urlencode "password=your-password"

The response contains the token:

{"token": "8aeb44f5a318542d32bb13019d68198467ee21f0"}

Store it in your system's secrets. If you request it again for the same user, you get the same token back.

Reference: Create auth token

3

Use it in every request

Send the token in the Authorization header, with the Token prefix:

curl -H "Authorization: Token $SERVICE_TOKEN" $INBOX/api/v1/users/current/

The call returns the user you created, so you can check which user your system acts as.

Reference: Retrieve current user

Why each service needs its own user

In the Inbox, a lot belongs to a user, not to the number:

  • Webhooks are registered per user

  • New-message counts and received status are tracked per user — a message your CRM has processed still counts as new for your bot

  • Permissions — which chats a user can read and write — are set per user

  • Assignment puts a chat on a user or a group

  • Audit logs record which user did what

If several services share one user, they mark each other's messages as received, you cannot give them different permissions, and the audit log cannot tell them apart.

So give each service — your CRM sync, your bot, your data pipeline — its own user and its own token. People who work in the hosted Inbox sign in as themselves; never share a service's token with them.

Last updated

Was this helpful?