REST API
How API access works, how requests are authenticated, and how to request credentials for building against EasyChatDesk.
Updated August 7, 2026
EasyChatDesk exposes a REST API for reading and managing your workspace data programmatically — pulling conversations into a reporting warehouse, syncing contacts, or building an internal tool on top of your support data.
When you need the API
Most integrations do not. Reach for the API when:
- You need to read historical data in bulk — conversations, tickets, contacts — rather than react to individual events.
- You are building an internal dashboard or feeding a data warehouse.
- You need custom logic that neither Zapier nor the built-in connectors cover.
If you want to be notified when something happens, use webhooks instead. Polling an API for new conversations is the wrong shape and will hit rate limits.
Authentication
API requests are authenticated with a token tied to your account. Treat that token exactly as you would a password:
- Server-side only. Never put it in front-end JavaScript, a mobile app binary or a public repository. Anything shipped to a browser is public.
- One token per integration, so you can revoke one without breaking the others.
- Rotate it if you suspect exposure, and whenever someone with access to it leaves.
The chat widget does not use this token — it authenticates separately with short-lived, domain-bound session tokens issued per visitor, which is why your license key being visible in page source is not a credential leak. See security.
Getting access
API credentials are issued per account. Email [email protected] with your account details and a short description of what you are building, and we will set you up and send the current endpoint reference.
We ask what you are building for a practical reason: quite often the thing you want already exists as a connector or a webhook, and that is less code for you to maintain.
Rate limits
The API is rate limited per account. Design for it:
- Batch where you can rather than making one request per record.
- Back off exponentially on a rate limit response instead of retrying immediately.
- Cache anything that does not change often.
Related
- Zapier and webhooks — the no-code and event-driven paths
- Connectors — what is already built
- Security — how tokens and the widget session model work
Still stuck? Message us from the widget in the corner of this page, or get in touch. A person answers.