Skip to main content

Python Dialpad API Client

A python wrapper around the Dialpad REST API

This document describes the installation, usage, and development practices of this python library. For information about the API itself, head on over to our API Documentation page!

Installation

Just use everyone's new favourite python package manager: uv

uv add python-dialpad

Usage

The Short Version

TL;DR, this library provides a DialpadClient class, which can be instantiated with an API token and a dialpad URL.

Once a DialpadClient object has been constructed, it can be used to call our API endpoints:

from dialpad import DialpadClient

dp_client = DialpadClient(sandbox=True, token='API_TOKEN_HERE')

print(dp_client.users.get(user_id='1234567'))

Client Constructor Arguments

  • token (required) The API token that will be used to authenticate API requests.
  • sandbox (optional) If the sandbox argument is set to True, then API calls will be routed to https://sandbox.dialpad.com.
  • base_url (optional) Routes requests to a specific url.

API Resources

In general, resources that we support in our public API will be exposed as properties of the client object. For example, the User resource can be accessed using the users property (as demonstrated above).

Each of these resource properties will expose related HTTP methods as methods of that resource property.

For example, GET /api/v2/users/{id} translates to dp_client.users.get('a_user_id').

When in doubt, type annotations and docstrings are sourced directly from the Dialpad API spec, and should behave well with most editors' autocomplete/tooltip features: user list method tooltip

API Responses

In cases where our API responds with a single JSON object, the client method will return a Python dict (as demonstrated above)

In cases where our API responds with a paginated list of many JSON objects, the client method will return an iterator which will lazily request the next page as the iterator is iterated upon.

from dialpad import DialpadClient

dp_client = DialpadClient(sandbox=True, token='API_TOKEN_HERE')

for user in dp_client.users.list():
  print(user)

Async Support

AsyncDialpadClient is a thing now 🌈

from dialpad import AsyncDialpadClient

dp_client = AsyncDialpadClient(sandbox=True, token='API_TOKEN_HERE')

async for user in dp_client.users.list():
  print(user)

Development

This project is now managed with uv, and exposes a cli tool to automate most maintenance tasks. uv run cli --help for details.

Maintenance Releases

Changes/additions to the Dialpad API can be handled (mostly) automatically 👍

Update Procedure

  • Run uv run cli interactive-update

This will take care of pulling down the latest OAS from dialpad.com, updating the client accordingly, and bumping the package version number.

  • Run uv run pytest

    • Never hurts to confirm that nothing got borked 👍
  • Commit the changes, tag the commit, and push up the changes

    • interactive-update provides these in its output for convenience 👍

Pushing up a version tag will trigger GHA to build, test, and publish to PyPI 🍻

Feature Releases

The schema and resource classes in this project are now automatically-generated, but the rest of the project files can still be directly edited to add features or extend functionality

Metadata

Release files for python-dialpad 3.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-dialpad 3.2.0
File Size Uploaded
python_dialpad-3.2.0.tar.gz 354.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-dialpad 3.2.0
File Interpreter ABI Platform
python_dialpad-3.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 500.0 kB

Release files / python_dialpad-3.2.0.tar.gz

Download URL python_dialpad-3.2.0.tar.gz
Size 354.9 kB
Tags Source
SHA-256 checksum
How to use checksums
05fa07fdc8d031576fbebd25724ef28bddaa12a32ca658b1154b52d42db27602
BLAKE2b-256 checksum
How to use checksums
e9c89b69e0234f5261d43b0e9d789afbb096f48a97d9a3a5b086f241f3378ab0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 31, 2026.

Transparency log

Release files / python_dialpad-3.2.0-py3-none-any.whl

Download URL python_dialpad-3.2.0-py3-none-any.whl
Size 145.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
595287e1a0cbae3aa66040589df225aa3c0994ed921534aa581ff1d452cf8adc
BLAKE2b-256 checksum
How to use checksums
f927f2c457aa3fdb46bfce7afe2cebe2c0c2f5cdce05f0856859d97260d9882c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 31, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.2.0 This release

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

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