Registry / devops / zammad-py

zammad-py

JSON →
library3.2.1pypypi✓ verified 83d ago

Python client for the Zammad helpdesk/ticketing system API. Current version 3.2.1, supports Python >=3.9, released under MIT license. Active development with regular releases.

pip install zammad-py
INSTALL
IMPORT
SIG · ZAMMAD-PY
Z
zammad-py
devopspythonv3.2.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ZammadAPI
from zammad_py import ZammadAPI
Correct main class import
Ticket
from zammad_py import Ticket
Resource class for tickets
Organization
from zammad_py import Organization
Resource class for organizations
User
from zammad_py import User
Resource class for users

Initialize client with URL and credentials, then use resource objects like `client.ticket`.

from zammad_py import ZammadAPI client = ZammadAPI( url='https://your-zammad-instance.com', username='your_username', password='your_password' ) # Example: fetch tickettickets = client.ticket.all() print(tickets) # Create a ticket new_ticket = client.ticket.create( title='Test Ticket', group='Users', customer='customer@example.com', article={ 'subject': 'Test', 'body': 'Hello, this is a test ticket.', 'type': 'note', 'internal': False } ) print(new_ticket)
Debug
Known issues
breakingVersion 3.x changed authentication: `ZammadAPI` no longer accepts `token` parameter without `http_token` flag. Use `http_token=True` or switch to password auth.
fix
Use `ZammadAPI(url, username='...', password='...')` or set `http_token=True` for token auth.
affects: >=3.0.0
deprecatedThe `search` method on resources uses Elasticsearch-like query syntax; simple `all()` with filters is preferred.
fix
Use `client.ticket.all(query: {'title__contains': 'test'})` instead of `search`.
affects: >=2.0.0
gotchaWhen creating a ticket, the `article` dictionary must include `type` field. Common mistake: omitting `type` or using incorrect values like 'note' vs 'email'.
fix
Always include `'type': 'note'` or `'type': 'email'` in article dict.
affects: all
Errors
Common errors & fixes
zammad_py.exceptions.ZammadError: HTTP 422 - Unprocessable Entity
Missing required fields when creating a ticket or resource.
fix
Ensure all mandatory fields are provided: group, customer, title, and article with body.
zammad_py.exceptions.ZammadError: HTTP 401 - Unauthorized
Invalid credentials or token not properly configured.
fix
Verify username/password or token. For token auth, pass `http_token=True` to ZammadAPI.
AttributeError: 'ZammadAPI' object has no attribute 'ticket'
Old import pattern using `from zammad_py import ZammadAPI` but using wrong client instantiation or outdated version.
fix
Check that you are using the latest version and call `client.ticket` (lowercase).
Upgrade
Version history
3.2.1latest on PyPI · released Feb 4, 2026
Audit
Dependencies
requestsrequiredHTTP library for API calls
Agent activity
22 hits · last 30 days
node
20
Resources
zammad-py — pip install zammad-py · libregistry