REST over HTTPS with JSON bodies. Authenticate with a secret key as a bearer token (authentication). Test keys see only test data and never dial. Errors follow one shape (errors and limits).
https://api.dialerseat.com/v1/meWhich platform and environment a key belongs to, and whether it can dial. The first call to make.
curl https://api.dialerseat.com/v1/me \
-H "Authorization: Bearer dsk_test_..."/seatsCreate or update the DialerSeat seat for one of your users, keyed on your own user id.
curl -X POST https://api.dialerseat.com/v1/seats \
-H "Authorization: Bearer dsk_test_..." \
-H "Content-Type: application/json" \
-d '{ "external_user_id": "usr_829", "email": "ana@acme.com", "name": "Ana Ruiz", "billed_to": "user" }'/seatsEvery seat on the platform with its status and who pays for it.
curl https://api.dialerseat.com/v1/seats \
-H "Authorization: Bearer dsk_test_..."/seats/{id}One seat, including its dial-mode exception if it has one.
curl https://api.dialerseat.com/v1/seats/seat_123 \
-H "Authorization: Bearer dsk_test_..."/seats/{id}Change a seat's name, billing (user or platform) or dial mode.
curl -X PATCH https://api.dialerseat.com/v1/seats/seat_123 \
-H "Authorization: Bearer dsk_test_..." \
-H "Content-Type: application/json" \
-d '{ "billed_to": "platform" }'/seats/{id}Stop a seat dialing. Its call history is kept.
curl -X DELETE https://api.dialerseat.com/v1/seats/seat_123 \
-H "Authorization: Bearer dsk_test_..."/seats/{id}/sessionsA 15-minute token that signs the seat into the embedded dialer with no second login.
curl -X POST https://api.dialerseat.com/v1/seats/seat_123/sessions \
-H "Authorization: Bearer dsk_test_..."/campaignsTie one of your CRM campaigns to a DialerSeat campaign: dial mode, AMD, voicemail drop, calling hours, dispositions.
curl -X POST https://api.dialerseat.com/v1/campaigns \
-H "Authorization: Bearer dsk_test_..." \
-H "Content-Type: application/json" \
-d '{ "external_id": "crm_campaign_77", "name": "November renewals", "dial_mode": "power" }'/campaignsEvery campaign with lead counts and progress.
curl https://api.dialerseat.com/v1/campaigns \
-H "Authorization: Bearer dsk_test_..."/campaigns/{id}Pause, resume, or change its dial mode and settings.
curl -X PATCH https://api.dialerseat.com/v1/campaigns/crm_campaign_77 \
-H "Authorization: Bearer dsk_test_..."/campaigns/{id}/leadsPush up to 500 leads per request. Each keeps your external id so results map back to your record.
curl -X POST https://api.dialerseat.com/v1/campaigns/crm_campaign_77/leads \
-H "Authorization: Bearer dsk_test_..." \
-H "Content-Type: application/json" \
-d '{ "leads": [ { "external_id": "c_5501", "phone": "+15125550142", "first_name": "Dana", "consent_source": "web form" } ] }'/campaigns/{id}/leads/{external_id}Take a lead out of the queue before it is dialled.
curl -X DELETE https://api.dialerseat.com/v1/campaigns/crm_campaign_77/leads/c_5501 \
-H "Authorization: Bearer dsk_test_..."/dispositionsYour disposition codes and the outcome each one maps to.
curl https://api.dialerseat.com/v1/dispositions \
-H "Authorization: Bearer dsk_test_..."/dispositionsAdd one of your CRM's outcomes so agents pick it in the miniplayer.
curl -X POST https://api.dialerseat.com/v1/dispositions \
-H "Authorization: Bearer dsk_test_..." \
-H "Content-Type: application/json" \
-d '{ "code": "APPT_SET", "label": "Appointment set", "outcome": "conversion" }'/callsCalls since a timestamp, with outcome, talk time, AMD result and disposition.
curl https://api.dialerseat.com/v1/calls \
-H "Authorization: Bearer dsk_test_..."/calls/{id}One call, including a short-lived recording link when the campaign records.
curl https://api.dialerseat.com/v1/calls/seat_123 \
-H "Authorization: Bearer dsk_test_..."/dncSuppress a number across every campaign on the platform.
curl -X POST https://api.dialerseat.com/v1/dnc \
-H "Authorization: Bearer dsk_test_..." \
-H "Content-Type: application/json" \
-d '{ "phone": "+15125550142" }'/usageSeat-weeks and dials for a period, per seat and in total.
curl https://api.dialerseat.com/v1/usage \
-H "Authorization: Bearer dsk_test_..."Signed with your endpoint's secret. How to verify.
| Event | Sent when |
|---|---|
seat.activated | A seat can dial: payment went through, or the platform covers it. |
seat.payment_failed | A user-billed seat's weekly charge failed. Dialing stops at the end of the paid days. |
seat.disabled | A seat stopped: cancelled, or disabled through the API. |
call.started | A line started ringing. |
call.answered | The lead answered and is connected to the agent. amd_result is pending while answering-machine detection is still listening, or not_run when it is off. |
call.ended | The call ended. Includes duration, talk seconds, who hung up (lead, agent, amd, no_answer, busy, failed, agent_unreachable) and the final AMD result. |
call.dispositioned | The agent picked a disposition. Your code, your label, our outcome class. |
recording.ready | A recording is stored and can be fetched. |
lead.exhausted | A lead used every attempt the campaign allows. |
campaign.completed | Every lead in a campaign is dialled or exhausted. |