Plan requirement
| Subscription | Any plan |
| Access | Admin |
The API reads and writes almost everything: tickets, users, organisations, fields, configuration. Anything the interface does, and some things it does not. Two numbers decide whether your integration survives contact with real volume, and both depend on your plan.
Know your rate limit before you write anything
| Plan | Support API requests per minute |
| Support Team, Suite Team | 200 |
| Support Professional, Suite Growth, Suite Professional | 400 |
| Support Enterprise, Suite Enterprise | 700 |
| Suite Enterprise Plus | 2500 |
| With the High Volume API add-on | 2500 |
Exceed it and the API answers 429 Too Many Requests. The Retry-After header says how many seconds to wait, and X-Rate-Limit reports your account's limit. Handle the 429 and honour Retry-After: an integration that ignores this works perfectly in testing and fails on your busiest morning.
Use cursor pagination, not offset
Offset pagination with per_page and page is capped at the first 100 pages and 10,000 resources, a limit in force since 15 August 2023. Anything that might grow past that has to use cursor pagination.
Cursor pagination uses page[size] and page[after], with most endpoints allowing at most 100 records per page. Keep requesting until meta[has_more] is false. On offset, you stop when next_page is null.
Use a service account
Not somebody's personal credentials. When that person leaves and their account is deactivated, every integration using it stops, usually on the day they leave. That breaks the integration, and a dedicated account avoids it entirely.
Give it the narrowest role that works, too. An integration that reads tickets does not need admin, and scoping it means a mistake or a leaked token cannot reach further than the job requires.
Try configuration first, genuinely
Triggers, webhooks and fields cover a great deal. Code has to be maintained by somebody who understands it, and that person will eventually change jobs.
When you do build, test in a sandbox rather than against live tickets, and log what the integration does on your side. When something changes tickets unexpectedly, that log is how you tell a person from an integration.
Write down what it does
What it touches, why it exists, who owns it, which account it uses, and what its rate-limit behaviour is. That note is what makes it maintainable, and it is the thing nobody writes.
Comments
0 comments
Article is closed for comments.