rizzdial
Official Python SDK for the RizzDial API.
Also available:
- Node.js SDK —
rizzdialon npm:npm install rizzdial- CLI —
@rizzdial/cli:npm install -g @rizzdial/cli- Source & issues — github.com/rizlerai/rizzdial-sdk
- Single dependency:
httpx - One normalized
RizzdialErrorfor every API failure - Pagination helper for list endpoints
- Python 3.9+
Install
pip install rizzdial
Authentication
Every request sends Authorization: Bearer <token>.
from rizzdial import Rizzdial
# Option A: bring your own token
client = Rizzdial(token="eyJ...")
# Option B: obtain a token with credentials
client = Rizzdial.login("you@example.com", "secret")
print(client.get_token()) # persist it if you want to reuse it
Custom environment:
client = Rizzdial(
token="...",
base_url="https://staging.rizzdial.com/api", # default: https://app.rizzdial.com/api
timeout=60.0, # default: 30.0
)
Usage
Contacts
fields = client.contacts.fields()
page = client.contacts.list(per_page=20)
# Iterate every contact across all pages
for contact in client.contacts.list_all(per_page=30):
print(contact["phone_number"])
added = client.contacts.add({
"phone_number": "+15551234567",
"powerlist_id": 12,
"first_name": "Jane",
})
contact = client.contacts.get(added["contact_id"])
AI Agents
agents = client.ai_agents.list()
agent = client.ai_agents.get("agent_abc123")
created = client.ai_agents.create({
"agent_name": "Sales Qualifier",
"general_prompt": "You are a friendly sales assistant...",
})
# Trigger an outbound AI call
client.ai_agents.create_call(
created["data"]["agent_id"],
"+15551234567",
first_name="Jane",
)
AI Phone Numbers
numbers = client.ai_numbers.list()
found = client.ai_numbers.search(area_code="205", country="US")
client.ai_numbers.purchase({"phone_token": "..."})
client.ai_numbers.assign("MQ==", "agent_abc123", type="inbound")
Workflows
workflows = client.workflows.list()
wf = client.workflows.create({"name": "Lead follow-up", "status": "draft"})
client.workflows.update_status("wf_id", "active")
client.workflows.enroll_contact("wf_id", "contact_id")
logs = client.workflows.execution_logs(status="All")
Dashboard
summary = client.dashboard.summary(date_range="Last 7 Days")
pickup = client.dashboard.pickup_rate(
date_range="Custom", start_date="2026-06-01", end_date="2026-06-30"
)
dispositions = client.dashboard.filter_dispositions()["dispositions"]
Other resources
client.powerlists.list()
client.powerlists.notes("MTI=")
client.tags.contact()
client.tags.powerlist()
client.dispositions.list()
client.campaigns.voice()
client.templates.sms()
client.templates.voice()
client.auth.validate() # verify token / whoami
Error handling
from rizzdial import RizzdialError
try:
client.contacts.get("bad-id")
except RizzdialError as error:
print(error.status) # HTTP status (e.g. 404)
print(error.code) # API error code, when provided
print(error.message) # human-readable message
print(error.body) # raw response body
Notes on the API
- Many IDs are base64-encoded strings (e.g.
"MQ=="); pass them back exactly as received. - List endpoints accept
per_page(default 15, max 30 on most endpoints) andpage. contacts.addupserts by phone number: an existing contact with the same number is updated.
License
MIT
Metadata
Release files for rizzdial 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rizzdial-0.1.2.tar.gz | 11.3 kB | Without provenance | Details for rizzdial-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rizzdial-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for rizzdial-0.1.2-py3-none-any.whl |
Total release size: 27.2 kB
Release files / rizzdial-0.1.2.tar.gz
| Download URL | rizzdial-0.1.2.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd42b9fb578025fa661c12a506153d20dc1a39ac251d81be89d0817571db6c1f
|
|
BLAKE2b-256 checksum How to use checksums |
a182d63af8a2ec85d86fc0c2d115120f32eaeccb2418b8b7633460ab96043649
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / rizzdial-0.1.2-py3-none-any.whl
| Download URL | rizzdial-0.1.2-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9fc4b05a405991ec2947de1d9912ce19f5156e79db28765409f31c582a43287e
|
|
BLAKE2b-256 checksum How to use checksums |
879f81708c6b017795eea98e301ee07a88df8e67897a3b5da8b33da5bbc8242c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for rizzdial 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.