---
title: "Estimate call cost"
method: GET
path: "/v1/voice/calls/estimate"
tags: ["Voice"]
---

# Estimate call cost

`GET /v1/voice/calls/estimate`

Pre-call cost estimate for a PSTN call: the carrier leg plus optional
recording and transcription add-ons. Same billing formula as the
post-call invoice, so the quote and the final charge can't disagree.
The per-minute figure is deliberately conservative (the real cost
comes from the settled carrier record after the call), so estimates
trend slightly over the actual invoice. Parity endpoint of
`GET /v1/whatsapp/calls/estimate`, minus the Meta line (PSTN calls
have no separate Meta bill, so `totalCostUSD` equals
`billableCostUSD`).

## Query parameters

- `to` string, required
- `minutes` integer
- `recording` boolean
- `transcription` boolean

## Response `200`

Estimate

- object
  - `destinationCountry` string, nullable
  - `minutes` integer
  - `perMinuteUsd` number — Billable cost per minute for the requested options.
  - `breakdown` object
    - `telnyxCostUSD` number
    - `recordingCostUSD` number
    - `transcriptionCostUSD` number
    - `billableCostUSD` number — What Zernio bills for the call.
    - `totalCostUSD` number — Equals billableCostUSD (no separate Meta bill on PSTN); kept for shape parity with the WhatsApp estimate.

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/revisions/3c7cf84cec44/schema)
