Official Python SDK for the RizzDial API
Project description
rizzdial
Official Python SDK for the RizzDial API.
- 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://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
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
rizzdial-0.1.0.tar.gz
(11.2 kB
view details)
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
rizzdial-0.1.0-py3-none-any.whl
(15.7 kB
view details)
File details
Details for the file rizzdial-0.1.0.tar.gz.
File metadata
- Download URL: rizzdial-0.1.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60e54f55770947b5e2686be6e8c1546cceaa2b40beb030761925cb972befcbd8
|
|
| MD5 |
9f6b9377ddcc3d56435a26b6e4084266
|
|
| BLAKE2b-256 |
3ce85ff7857b4e8d9fde6aa11bc6e632dc186bef42896eb29e6766516dea2627
|
File details
Details for the file rizzdial-0.1.0-py3-none-any.whl.
File metadata
- Download URL: rizzdial-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e1dee85a9f9061f42c75072a53a851a1a5e810785daad23fb824a9afec901ef
|
|
| MD5 |
2a4c50e82843d5c0a7067dab26b91c0e
|
|
| BLAKE2b-256 |
d3ca93b59776a664f06ca8d381797cc734677ff1cdcbefbee8acd07aa109e7ca
|