Docs · Overview

Every call, understood.

Whizz Pulse is a REST API that analyzes recorded customer-service calls. Upload audio; minutes later you have a diarized transcript, summary, sentiment, pain points, agent coaching rewrites, predicted CSAT, risk flags, and an explainable QA scorecard with quotes cited from the transcript. Every call gets scored — not the ~2% a manual QA program samples.

What the API does#

Upload. One POST /v1/calls with up to 25 recordings creates a call per file and starts an analysis job for each. The pipeline transcribes with best-in-class speech recognition (diarized, word timestamps, 90+ languages), redacts PII, runs frontier AI analysis, and scores the call against your QA scorecard.

Retrieve. GET /v1/calls/{id} returns the full result: transcript segments per speaker, summary and topics, sentiment overall and per speaker, pain points and service gaps, agent coaching suggestions (what was said → a better version → why), predicted CSAT, escalation and churn risk, compliance flags, and the weighted QA scorecard — every criterion score backed by a quote from the transcript.

Integrate. Cursor-paginated listing with filters, webhooks when analysis finishes, and a usage endpoint for metering. No seats, no per-user pricing — you pay per call analyzed.

Arabic-first, by design#

Pulse handles Saudi and Egyptian Arabic dialects natively — not as an afterthought — along with English, code-switched calls, and 90+ other languages. Analysis output is written in the language of the call. Pass an optional language_hint (ISO 639-3, e.g. ara) when you already know what your queue speaks.

The flow#

01

POST /v1/calls — multipart upload

Up to 25 recordings per request, 60MB each. Each file becomes a call plus an analyze_call job. 1 credit per call, refunded automatically if analysis fails.

{ "calls": [{ "id": "…", "job_id": "…", "status": "uploaded" }] }

02

Wait — webhook or poll

Analysis lands in minutes. Subscribe to job.succeeded / job.failed, or poll GET /v1/calls/{id} until status is analyzed.

03

GET /v1/calls/{id} — the full result

Diarized transcript, summary, sentiment, topics, pain points, coaching rewrites, predicted CSAT, escalation/churn risk, compliance flags, and the cited QA scorecard.

list and filter the whole corpus with GET /v1/calls

Base URL#

Base URL
https://pulse.whizztech.ai/v1

All endpoints live under /v1 and speak JSON over HTTPS (the upload endpoint accepts multipart/form-data). Responses carry rate-limit headers on every call.

Authentication at a glance#

Every request is authenticated with an API key in the Authorization header. Keys are created in the dashboard and start with wz_live_ or wz_test_:

Authenticated request
curl https://pulse.whizztech.ai/v1/calls \
  -H "Authorization: Bearer wz_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Details — key format, storage, and failure shapes — are on the Authentication page.

Explainable QA, not a black box#

Every criterion score on the QA scorecard cites the exact transcript quote it was judged on, and low-confidence results are flagged needs_review for a human instead of being presented as certain. Pulse analyzes recordings you already have — it never places calls to your customers.