A lightweight Python client for the Zendesk Support and Help Center APIs with retries, cursor/offset pagination, and broad endpoint coverage.
Project description
Zendesk API Python Library
A lightweight, retry-safe Python client for the Zendesk Support and Help Center APIs with broad endpoint coverage and clean helpers.
Features
- ✅ API token or OAuth bearer authentication
- ♻️ Automatic retries for 429/5xx with
Retry-Afterbackoff - ⏱️ Timeouts and session reuse
- 🔁 Offset and Cursor pagination helpers
- 🧱 Two namespaces sharing one HTTP client:
zendesk_toolkit.support—tickets,users,organizations,groups,macros,views,custom_fields,uploads,side_conversations,search,commentszendesk_toolkit.help_center—articles,categories,sections,translations,attachments,comments,labels,votes,search,locales,user_segments
- ⚠️ Unified error handling via
ZendeskError(includes HTTP status andX-Request-Id)
Install
# With uv (recommended)
uv add zendesk-toolkit
# Or with pip
pip install zendesk-toolkit
Requires Python >=3.11.
Quick Start — Support
from zendesk_toolkit import ZendeskClient
from zendesk_toolkit.support import tickets
client = ZendeskClient(
subdomain="yoursubdomain",
email="agent@company.com",
token="ZENDESK_API_TOKEN",
)
resp = tickets.create_ticket(client, {
"subject": "Printer on Floor 3 is jammed",
"comment": {"body": "Happens every morning around 9am."},
"priority": "normal",
})
print("New ticket:", resp["ticket"]["id"])
Quick Start — Help Center
from zendesk_toolkit import ZendeskClient
from zendesk_toolkit.help_center import articles, search
client = ZendeskClient(
subdomain="yoursubdomain",
email="agent@company.com",
token="ZENDESK_API_TOKEN",
)
# Create an article in a section
created = articles.create_article(client, section_id=12345, article={
"title": "Resetting your password",
"body": "<p>Click the reset link.</p>",
"locale": "en-us",
}, locale="en-us")
# Search the Help Center
results = search.search_articles(client, query="password reset", locale="en-us")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zendesk_toolkit-0.2.0.tar.gz.
File metadata
- Download URL: zendesk_toolkit-0.2.0.tar.gz
- Upload date:
- Size: 58.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09b5664d954f9bf77fc1601569c38a96fd4be7db48d9787d6b09f0addc05c2e3
|
|
| MD5 |
bf1e2a1a7ebb5f63163433abde8bf95b
|
|
| BLAKE2b-256 |
6f0a35f5f329369ed56e8d9f9906a94ed866e2814f8b234ee35179d7774922f1
|
Provenance
The following attestation bundles were made for zendesk_toolkit-0.2.0.tar.gz:
Publisher:
publish.yml on turner-marc/zendesk-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zendesk_toolkit-0.2.0.tar.gz -
Subject digest:
09b5664d954f9bf77fc1601569c38a96fd4be7db48d9787d6b09f0addc05c2e3 - Sigstore transparency entry: 1648791731
- Sigstore integration time:
-
Permalink:
turner-marc/zendesk-toolkit@ed355056ff9de6f4cd7992efb06780d14e0c04da -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/turner-marc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed355056ff9de6f4cd7992efb06780d14e0c04da -
Trigger Event:
push
-
Statement type:
File details
Details for the file zendesk_toolkit-0.2.0-py3-none-any.whl.
File metadata
- Download URL: zendesk_toolkit-0.2.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b95669f6f11048e794c0fb428bf8c4e54d6175d92bd86099211c674e2343b2b5
|
|
| MD5 |
11c94462d254d505a20e75c5559ca5d0
|
|
| BLAKE2b-256 |
6eed897b83fd496a0fbef3fa96b24d47cfc475644194d36cc7aa2828749ea559
|
Provenance
The following attestation bundles were made for zendesk_toolkit-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on turner-marc/zendesk-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zendesk_toolkit-0.2.0-py3-none-any.whl -
Subject digest:
b95669f6f11048e794c0fb428bf8c4e54d6175d92bd86099211c674e2343b2b5 - Sigstore transparency entry: 1648791895
- Sigstore integration time:
-
Permalink:
turner-marc/zendesk-toolkit@ed355056ff9de6f4cd7992efb06780d14e0c04da -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/turner-marc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed355056ff9de6f4cd7992efb06780d14e0c04da -
Trigger Event:
push
-
Statement type: