Keep your Zendesk API scripts: changing one base URL

How the Zendesk-compatible API lets internal services, SDK clients and help-centre widgets keep working after a move to ChaosDesk.

Source code on a dark computer screen
Photo: Chris Ried / Unsplash

Over the years, every support team accumulates small programs that talk to the Zendesk API: a service that opens tickets from the shop, a nightly export, a back-office button that looks up a customer’s requests, an FAQ widget on the marketing site. Rewriting them is often the hidden cost of leaving.

ChaosDesk avoids that cost with a compatible API at /zd/api/v2.

Same requests, same responses

The compatibility layer accepts Zendesk request shapes and answers with Zendesk response shapes. A ticket created through it gets one audit, runs your triggers and SLAs, and records the token’s owner as the actor, exactly like a ticket created in the agent workspace.

It is tested against the requests of the clients teams actually use: the official PHP SDK, the C# clients, plain HTTP clients with OAuth client credentials, and anonymous help-centre readers.

What you change

  1. Create an API token for the integration user in ChaosDesk.
  2. Change the base URL from https://yourcompany.zendesk.com/api/v2 to https://yourcompany.chaosdesk.io/zd/api/v2.
  3. Keep the authentication style: {email}/token:{token} Basic auth, a bearer token, or OAuth client credentials.

Ids stay stable: imported tickets keep their Zendesk numbers, and users, organizations and groups keep their ids, so the references your systems store still point at the right records.

What is covered

AreaEndpoints
Ticketscreate, show, update, delete, show many, update many, count, find by external id
Conversationscomments, audits, tags, uploads
Searchthe Zendesk query syntax, with counts
Exportsincremental ticket and user exports, cursor and time based
Peopleusers (create, create or update, search), organizations, groups
Help centrepublic sections, articles and article search

The endpoint list has the details.

What it does not cover

The compatible API is for software you control. Integrations you did not write and that are hard-wired to *.zendesk.com cannot be pointed at a new address: the Zendesk app for Zapier, Fivetran’s Zendesk connector, the Zendesk mobile SDKs. For those, use ChaosDesk webhooks, the REST API or the messenger.

A tip for the PHP SDK

The PHP SDK builds its URL from a subdomain and hostname. Either set the API base path to zd/api/v2/, or give integrations a dedicated host whose proxy rewrites /api/v2/* to /zd/api/v2/*. The second option needs no code change at all.

Ready to try it with your own scripts? Get early access.

Zendesk is a trademark of Zendesk, Inc. ChaosDesk is not affiliated with Zendesk.

Written by The ChaosDesk team

We build ChaosDesk, a helpdesk that works the way Zendesk does at a fraction of the price. We write about what we learn moving support teams and running support ourselves. About us

Bring your whole Zendesk history. Keep your way of working.

Import tickets, users, rules and the help centre, run both side by side, and switch when your team is ready.

Send us a line from your work address and we will add you to the early access list.