Skip to main content

Official Python SDK for the RizzDial API

Project description

rizzdial

Official Python SDK for the RizzDial API.

  • 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://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.0.tar.gz (11.2 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.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

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

Hashes for rizzdial-0.1.0.tar.gz
Algorithm Hash digest
SHA256 60e54f55770947b5e2686be6e8c1546cceaa2b40beb030761925cb972befcbd8
MD5 9f6b9377ddcc3d56435a26b6e4084266
BLAKE2b-256 3ce85ff7857b4e8d9fde6aa11bc6e632dc186bef42896eb29e6766516dea2627

See more details on using hashes here.

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

Hashes for rizzdial-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e1dee85a9f9061f42c75072a53a851a1a5e810785daad23fb824a9afec901ef
MD5 2a4c50e82843d5c0a7067dab26b91c0e
BLAKE2b-256 d3ca93b59776a664f06ca8d381797cc734677ff1cdcbefbee8acd07aa109e7ca

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