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.
Use a user token, not your channel's API key. The D360-Api-Key header from the WhatsApp API is not supported for Inbox API requests.
Get a token
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 ashttps://your-stack.inbox.getchat.360dialog.io/hub

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 sendsPassword — a strong password. You need it once, in the next step
Groups — add the App integration group
Save the user.
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
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?