---
title: "Zendesk Ticketing API: Auth, Endpoints & Rate Limits"
url: "https://lb.getknit.dev/blog/zendesk-ticketing-api/"
date: "2026-06-20T00:00:00+00:00"
modified: "2026-08-22T15:11:16+00:00"
type: "post"
---

# Zendesk Ticketing API: Auth, Endpoints & Rate Limits

[Blog](https://lb.getknit.dev/blog) / [Developers](https://lb.getknit.dev/blogs/developers/) / Zendesk Ticketing API: Auth, Endpoints &amp; Rate Limits [Developers](https://lb.getknit.dev/blogs/developers/) · June 20, 2026 

Zendesk Ticketing API: Auth, Endpoints &amp; Rate Limits
========================================================

 ![](https://storage.googleapis.com/knit-website-media/2026/08/64c34c8eb1ffc79e7f787ecd_Akshat-3-150x150.png)Akshat Jain

5 min read

 

 

 [](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Flb.getknit.dev%2Fblog%2Fzendesk-ticketing-api%2F) [](https://twitter.com/intent/tweet?url=https%3A%2F%2Flb.getknit.dev%2Fblog%2Fzendesk-ticketing-api%2F&text=Zendesk%20Ticketing%20API%3A%20Auth%2C%20Endpoints%20%26%23038%3B%20Rate%20Limits)  

 

 

 

  Table of Contents - [Authentication](#authentication)
- [Core objects and endpoints](#core-objects-and-endpoints)
- [Common tasks](#common-tasks)
- [Rate limits and pagination](#rate-limits-and-pagination)
- [Build it yourself vs. use a unified API](#build-it-yourself-vs-use-a-unified-api)
- [FAQ](#faq)
 
  The Zendesk Ticketing API (part of Zendesk’s Support API, under `/api/v2/`) is the REST interface for managing tickets, users, organizations, and views in a Zendesk account. It authenticates with an API token (Basic auth) or an OAuth access token (Bearer), returns JSON, and is rate-limited per minute based on your Zendesk plan.

This page covers how authentication works, the endpoints and objects you’ll use most, rate limits and pagination, and where Knit’s [unified API](/integration-categories/ticketing-api) fits if you’re connecting Zendesk alongside other ticketing tools.

Authentication
--------------

Zendesk supports two authentication methods: **API tokens**, sent as Basic auth using `{email}/token:{api_token}`, and **OAuth access tokens**, sent as `Authorization: Bearer <access_token>`. API token access must be explicitly enabled by an admin before tokens work, and OAuth is required if you’re distributing an integration to multiple Zendesk accounts ([Zendesk Developer Docs, Security and authentication](https://developer.zendesk.com/api-reference/introduction/security-and-auth/)).

For the full walkthrough – enabling token access, generating a token, and a working curl example – see [How to Get a Zendesk API Token](/integration/zendesk-ticketing/api-key).

Core objects and endpoints
--------------------------

ResourceExample endpointWhat it’s forTickets`GET/POST/PUT /api/v2/tickets.json`, `/api/v2/tickets/{id}.json`Create, read, update, and list support ticketsUsers`GET /api/v2/users.json`, `/api/v2/users/{id}.json`List or look up agents, admins, and end usersOrganizations`GET /api/v2/organizations.json`List and manage customer organizationsSearch`GET /api/v2/search.json?query={query}`Query tickets, users, and organizations with a unified search syntaxTicket comments`GET /api/v2/tickets/{id}/comments.json`Read the conversation history on a ticketViews`GET /api/v2/views/{id}/execute.json`Run a predefined ticket view (saved filter)Incremental exports`GET /api/v2/incremental/tickets/cursor.json`Bulk-export tickets (or users/organizations) changed since a point in time



Common tasks
------------

- **Create a ticket**: `POST /api/v2/tickets.json` with a `ticket` object containing `subject`, `comment.body`, and a `requester` (email or ID).
- **Update a ticket**: `PUT /api/v2/tickets/{id}.json` with the fields to change, such as `status` or `priority` – note the 30-updates-per-10-minutes-per-agent limit on this endpoint.
- **List or search tickets**: `GET /api/v2/search.json?query=type:ticket status:open` for filtered results, or `GET /api/v2/tickets.json` for all tickets with pagination.
- **Read a ticket’s conversation**: `GET /api/v2/tickets/{id}/comments.json` returns the public and internal comments on a ticket in order.
- **Bulk-sync changed records**: use the incremental export endpoints (`/api/v2/incremental/tickets/cursor.json`, etc.) to pull everything changed since a given timestamp – the recommended approach for keeping an external system in sync.

Rate limits and pagination
--------------------------

Zendesk’s Support and Help Center API rate limits depend on your plan, documented at [developer.zendesk.com/api-reference/introduction/rate-limits](https://developer.zendesk.com/api-reference/introduction/rate-limits/):

PlanRequests per minuteTeam200Growth / Professional400Enterprise700Enterprise Plus / High Volume add-on2,500



Every response includes `X-Rate-Limit` and `X-Rate-Limit-Remaining` headers (Ticketing endpoints also add `ratelimit-limit`, `ratelimit-remaining`, and `ratelimit-reset`). Exceeding the limit returns `429 Too Many Requests` with a `Retry-After` header. Some endpoints carry their own tighter limits regardless of plan – for example, the **Update Ticket** endpoint allows only 30 updates to the same ticket by the same agent within 10 minutes, and incremental export endpoints are capped at 10 requests/minute (30 with the High Volume add-on).

For pagination, Zendesk recommends **cursor pagination**: pass `page[size]` (max 100) and follow `links.next` until `meta.has_more` is `false`. The older offset pagination (`page=N&per_page=...`) is capped at the first 100 pages / 10,000 records – requests beyond that return `400 Bad Request` ([Zendesk Developer Docs, Pagination](https://developer.zendesk.com/api-reference/introduction/pagination/)).

Build it yourself vs. use a unified API
---------------------------------------

Calling the Zendesk API directly works well for a single account: enable token access, handle the Basic-auth encoding, and watch the per-minute and per-endpoint rate limits. It gets more involved once you’re connecting Zendesk alongside other ticketing systems – each with its own auth scheme, object model, and pagination style.

Knit’s [unified Ticketing API](/integration-categories/ticketing-api) normalizes Zendesk tickets, users, and comments alongside connectors like Freshdesk, Intercom, and Jira behind one schema, handles the token/OAuth setup described in the [Zendesk API token guide](/blog/zendesk-ticketing-api-key/), and manages rate-limit backoff for you. See Knit’s Zendesk Ticketing connector for what’s available, or [talk to a human](/book-demo) to see it against your own account. You can also [sign up free](https://dashboard.getknit.dev/signup) and connect a sandbox Zendesk account.

FAQ
---

**Is the Zendesk Ticketing API a REST API?**

**‍**Yes – it follows REST conventions under `/api/v2/`, using GET, POST, PUT, and DELETE on resource URLs with JSON bodies. It’s part of Zendesk’s broader Support API, which also includes the Help Center API (separate rate limit) and Side Conversations API.

**How do I authenticate to the Zendesk Ticketing API?**

**‍**Use either an API token with Basic auth (`{email}/token:{api_token}`, base64-encoded) or an OAuth access token sent as `Authorization: Bearer <token>`. API token access must be turned on by an admin in Admin Center before tokens work. See the Zendesk API token guide for setup steps.

**How do I sync all my Zendesk tickets into another system?**

**‍**Use the incremental export endpoints (`/api/v2/incremental/tickets/cursor.json` and equivalents for users and organizations), which return everything changed since a given timestamp using cursor-based pagination — designed for bulk sync rather than one-off queries. These endpoints have their own tighter rate limit (10/minute, or 30/minute with the High Volume add-on). Knit’s unified API exposes equivalent sync primitives across ticketing connectors without needing endpoint-specific incremental-export logic.

**What happens if I exceed Zendesk’s API rate limits?**

**‍**Zendesk returns `429 Too Many Requests` with a `Retry-After` header specifying how many seconds to wait. The `X-Rate-Limit` and `X-Rate-Limit-Remaining` headers on every response let you monitor usage before hitting the limit. Limits range from 200 to 2,500 requests/minute depending on your plan, and some endpoints (like ticket updates) have their own separate caps. Knit handles this backoff automatically across the Zendesk connections it manages.

---

**Ready to build this integration?**
Explore Knit’s [Zendesk integration](/integration/zendesk/) or read more about our [Unified Ticketing API](/integration-categories/unified-ticketing-api/).

 

 ![](https://storage.googleapis.com/knit-website-media/2026/08/64c34c8eb1ffc79e7f787ecd_Akshat-3-150x150.png)Written by Akshat Jain

Coding chaos into innovation and building from zero to scale

 

 

 

 

 

   Keep Reading
------------

  ![](https://storage.googleapis.com/knit-website-media/2026/08/blog-banner-yellow-scaled-640x400.png) [API Directory](https://lb.getknit.dev/blogs/api-directory/) 

### [Zendesk CRM API Directory](https://lb.getknit.dev/blog/zendesk-crm-api-directory/)

Zendesk CRM API integration guide covering key features, endpoints, use cases, FAQs, and best practices to automate customer data, sales…

 August 13, 2026 · 5 min read 

 

   ![](https://storage.googleapis.com/knit-website-media/2026/08/blog-banner-yellow-scaled-640x400.png) [Tutorials](https://lb.getknit.dev/blogs/tutorials/) 

### [Developer Guideto Retrieve Detailed Customer Information from Zendesk CRM API](https://lb.getknit.dev/blog/developer-guideto-retrieve-detailed-customer-information-from-zendesk-crm-api/)

Learn how to get detailed customer information from the Zendesk CRM API using Python. Step-by-step guide covering authentication, endpoints, pagination,…

 August 13, 2026 · 4 min read 

 

   ![](https://storage.googleapis.com/knit-website-media/2026/08/blog-banner-yellow-scaled-640x400.png) [Developers](https://lb.getknit.dev/blogs/developers/) 

### [How to Get a Zendesk API Token (Step-by-Step)](https://lb.getknit.dev/blog/zendesk-ticketing-api-key/)

Enable API token access in Zendesk Admin Center, generate an API token, and call the Zendesk API with Basic auth…

 June 20, 2026 · 7 min read 

 

  

 

  \#1 in Ease of Integrations
---------------------------

![4.9 out of 5 stars](/wp-content/themes/knit/assets/images/g2/g2-star-rating.svg)

4.9 out of 5 stars on G2

![G2 Leader, Spring 2026](/wp-content/themes/knit/assets/images/g2/g2-leader.svg)![G2 Fastest Implementation, Spring 2026](/wp-content/themes/knit/assets/images/g2/g2-fastest-implementation.svg)![G2 High Performer, Spring 2026](/wp-content/themes/knit/assets/images/g2/g2-high-performer.svg)![G2 Best Est. ROI, Spring 2026](/wp-content/themes/knit/assets/images/g2/g2-best-roi.svg)

 

  Put Integrations on Autopilot. Talk to Experts.
-----------------------------------------------

Knit is loved by customers across the globe due to our seamless product and white glove support. You'll love us too!

 [Talk to a Human](/book-demo)
