Skip to main content

Official Python SDK for the RizzDial API

Project description

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

Project details


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.2.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rizzdial-0.1.2-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file rizzdial-0.1.2.tar.gz.

File metadata

  • Download URL: rizzdial-0.1.2.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for rizzdial-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fd42b9fb578025fa661c12a506153d20dc1a39ac251d81be89d0817571db6c1f
MD5 6807902cc05cb3f748718d521b3f3407
BLAKE2b-256 a182d63af8a2ec85d86fc0c2d115120f32eaeccb2418b8b7633460ab96043649

See more details on using hashes here.

File details

Details for the file rizzdial-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: rizzdial-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for rizzdial-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9fc4b05a405991ec2947de1d9912ce19f5156e79db28765409f31c582a43287e
MD5 caa52e1e97c046e8ed8118706148c8bc
BLAKE2b-256 879f81708c6b017795eea98e301ee07a88df8e67897a3b5da8b33da5bbc8242c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page