Skip to main content
The Dialtu public API lets your own systems — a CRM, a website form, an n8n or Zapier flow, your backend — do the things you would otherwise do by hand in the dashboard:
  • Schedule AI voice calls to a phone number, now or at a given time.
  • Create contacts and push leads into a Salesflow pipeline.
  • Book appointments on your calendar and manage its waiting lists.
  • Read WhatsApp conversation history for reporting or syncing.
Every endpoint is documented from the same source the platform runs on, so the field lists, examples and error shapes you see here are exactly what the API accepts and returns.

Authentication

Create an API key in the dashboard and send it with every request.

Errors

The two response shapes you will meet, and every error_code by endpoint.

Sync WhatsApp conversations

Pull transcripts incrementally and attribute messages to agents and people.

Book calendar appointments

Everything a booking needs, and how to wire it into n8n.

Base URL

All paths in this reference are relative to the base URL and start with /api/v2/public/. Use the Try it panel on any endpoint page to send a real request from your browser — pick the server, paste your key, and fill in the fields.

Conventions

  • JSON in, JSON out. Send Content-Type: application/json on requests with a body.
  • Timestamps are UTC, ISO 8601 (2026-06-30T15:39:33.482Z) unless an endpoint says otherwise — the calendar endpoints take local times plus an IANA timezone and return UTC.
  • Phone numbers are best sent in E.164 (+525512345678).
  • IDs are integers and are stable: a client_id returned by Create a client is the same ID the Salesflow, calendar and WhatsApp endpoints use.

Versioning and compatibility

The API is versioned in the path (/api/v2/). Within a version, changes are additive: new fields may appear in responses and new optional fields may be accepted in requests. Ignore fields you do not recognise rather than failing on them. Breaking changes ship under a new version.

Limits

  • No request rate limit is enforced today. Please page responsibly (limit ≤ 50 on list endpoints) rather than requesting maximal payloads in a tight loop.
  • Read-only where it says so. The WhatsApp endpoints never modify conversations, and media files are not downloadable through the API — only their metadata is returned.
  • No outbound webhooks yet. Poll the list endpoints with updated_after for changes.

What a key can see

A key belongs to the account it was created in. If your account is a partner account with sub-accounts (separate locations, branches or client businesses), one key covers exactly one sub-account — the one you were in when you created it. Create a key inside each sub-account you integrate. See Authentication for details.

Need something that isn’t here?

Reading and cancelling appointments, outbound webhooks and rate-limit headers are not part of the API yet. If your integration needs one of them, write to support@dialtu.com — it helps us order the roadmap.