Custom Objects API
You can use the Custom Objects API to create, read, update, and delete objects that you define yourself. You can also use it to define and manage relationships with other objects, including native Zendesk objects like tickets and users.
The Custom Objects API is available on the Enterprise plan of Zendesk Support.
Run in Postman
If you use Postman, you can import the Custom Objects endpoints as a collection into your Postman app, then try out different requests to learn how the API works. Click the following button to get started:
If you don't use Postman, you can sign up for a free account on the Postman website and download the app.
This is the reference documentation for the Custom Objects API.
In addition to this API reference, the following resources are available in the Develop Help Center:
To get started, see Getting started with the Custom Objects API
For a concise developer guide, see the Custom objects handbook
To ask questions, provide answers, and join discussions, see the Custom Objects community
Enabling custom objects
Custom objects are available on the Enterprise plan. If you're interested in becoming a Zendesk developer partner, you can convert a trial account into a sponsored Zendesk Support account. The sponsored account is on the Enterprise plan with up to 5 agents. See Getting a trial or sponsored account for development in the Develop Help Center.
Custom objects must be enabled by an administrator in Zendesk Support. If you're not a Support admin, ask one to enable them for you.
To enable custom objects in your account
In Zendesk Support, click the Admin icon () in the sidebar, then select Manage > Custom Objects.
The Custom Objects page opens in Admin Center.
Click the Activate Custom Objects button.
The Custom Objects API introduces a more modern API design. Unlike Zendesk v2 APIs, the path doesn't have a version number and the resource doesn't have a .json extension. Example:
The endpoint paths were updated in March 2019 to use new /api/sunshine/ paths. The previous endpoint paths will redirect to the new paths until further notice. For a mapping of the old and new endpoint paths, see Custom Objects API path renaming.
Zendesk v2 APIs are unaffected by the redesign.
Authentication works as described in the Security and Authentication in the Zendesk v2 API documentation.
Pagination works as described in Pagination in the Zendesk v2 API documentation, except for the following differences:
sort_orderparameter is called
order=in the Custom Objects API
per_pageparameter in the Custom Objects API can take up to 1,000 records rather than 100 records per page on most endpoints in the Zendesk v2 API
The response body is also different. The response object doesn't have "next_page" and "previous_page" properties. Instead, it has a "link" property at the top level with "next" and "previous" child properties.
All POST requests require a "Content-Type: application/json" header
All PATCH requests require a "Content-Type: application/merge-patch+json" header
All GET requests should return "Content-Type: application/json"
The API uses the following standard response codes.
- "200 - Ok"
- "201 - Created"
- "400 - Bad Request" (the request could not be understood)
- "422 - Unprocessable Entity" (the request could be understood, but was invalid for some reason)
- "204 - No Content"
- "200 - Ok"
In addition, a "404 - Not Found" can be returned from any endpoint that takes a URL parameter that does not exist, or any incorrect URL. A "500 - Internal Server Error" can be returned at any time from any endpoint in case of failures in the service. Any endpoint can also return "429 - Too Many Requests" as documented in the next section.
The rate limit is 1,000 requests per minute. This includes requests made from the Zendesk Apps framework.
If you exceed the rate limit, the API responds with a HTTP 429 Too Many Requests response code and a body that details the reason for the rate limiter kicking in. The response has a "Retry-After" header that tells you for how many seconds to wait before retrying.
You can create up to 10,000 object records and 10,000 relationship records per 24 hours:
|POST requests per 24 hrs|