Skip to main content

rizzdial

Official Python SDK for the RizzDial API.

Also available:

  • Single dependency: httpx
  • One normalized RizzdialError for 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) and page.
  • contacts.add upserts 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)

Source distribution for rizzdial 0.1.2
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)

Table of built distributions (wheels) for rizzdial 0.1.2
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page