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://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.1.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.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rizzdial-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 4c6f4befae4d194f56bee386be4069ae137db43b6f4e5011f1da8264cf6d9530
MD5 dfa92406ddf02c1d9e68b242244be342
BLAKE2b-256 31a385650937ebc70b04aad53fec26ebf965cd26acd4bc0b97e87468f8431c19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rizzdial-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1f09bfc64b5aa8f429b4ce4a909520e3a7ad8f01244d17c808093b71519d6683
MD5 eabb76b4b29b742239e8131e89badce4
BLAKE2b-256 d847c604f62b040460414cc44206682c3fec2b0bb7224087d0ec6bf10fe2e85a

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