Developer reference

Your first phone intelligence request.

QuietPass exposes POST /v1/phone/check for authenticated phone checks and GET /v1/coverage for public availability. Formatting and validation are included in every phone check. Use a server-side bearer key, request only the checks you need, and inspect each check’s status before using its data.

Before you make a request

Access is currently invitation-only. The onboarding flow requires email verification followed by SMS verification of a unique mobile number. SMS onboarding is not yet enabled, so new developers cannot complete that step or create a usable phone-check key today. Request an invitation while exploring the public coverage API and reference.

Before live approval, requests are limited to the developer’s own SMS-verified number. Keep API keys on your server. Browser-origin requests to the phone-check endpoint are rejected.

1. Check public coverage

curl "https://quietpass.com/v1/coverage?country=NZ"

No API key or phone number is required. Review each feature’s status and the network list. Current carrier, enhanced line type, and SIM-swap supply are not connected.

2. Send an authenticated phone check

curl "https://quietpass.com/v1/phone/check" \
  -H "Authorization: Bearer $QUIETPASS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: first-phone-check" \
  --data '{
    "phone": "YOUR_VERIFIED_NUMBER",
    "checks": ["basic_line_type"]
  }'

Replace YOUR_VERIFIED_NUMBER with your own verified number. For national input, include default_country, such as NZ. A new logical request needs a new idempotency key; retry the same request with the same key while its retained response is available.

3. Choose the layers you need

Phone-check request fields
FieldMeaning
phoneRequired string containing one number.
default_countryTwo-letter country context, required for national-format input.
checksArray containing any of basic_line_type, enhanced_line_type, current_carrier, or sim_swap. Use an empty array for formatting and validation only. Omit it to request basic line type.

4. Handle the result explicitly

The response includes validation, normalized number fields, and per-layer checks. A check can be completed, unavailable, not_requested, or skipped. Preserve an unavailable result as unknown rather than mapping it to “no SIM swap” or another negative finding.

Authentication errors use HTTP 401; requests outside the verified-number scope use 403; idempotency conflicts use 409; request limits use 429. Keep requestId for support. The current release does not execute paid supplier checks or charge for those checks.

Full API reference

Read or download the OpenAPI specification for the authoritative request schema, response envelope, limits, and error descriptions. Coverage describes connected capabilities. The homepage examples provide cURL, Node.js, and Python request templates.

Keep exploring

Request early access