List phone numbers
List all phone numbers purchased by the authenticated user.
By default, released numbers are excluded. Connected (bring-your-own)
WhatsApp numbers are returned in the separate connected array; they
are not billed and have no provisioning lifecycle.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Query Parameters
Filter by status (by default excludes released numbers). NOTE:
status=pending_regulatory returns the "provisioning" view: numbers
still in review PLUS recently-declined (last 30 days) ones, so a
failed registration surfaces (with regulatoryDeclineReason) instead
of silently disappearing. Declined numbers can be re-submitted via
POST /v1/phone-numbers/{id}/remediate. verifying is the
short-lived state after the number is provisioned on our side while
WhatsApp confirms the activation code; the number is not billed until
it reaches active.
Value in
- "provisioning"
- "verifying"
- "pending_payment"
- "pending_regulatory"
- "regulatory_declined"
- "active"
- "suspended"
- "releasing"
- "released"
Filter by profile
Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.phonenumbers.listPhoneNumbers();console.log(data);{ "numbers": [ { "_id": "string", "phoneNumber": "string", "country": "string", "numberType": "string", "status": "pending_payment", "profileId": { "_id": "string", "name": "string" }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "telnyxOrderId": "string", "telnyxAdvancedOrderId": "string", "registrantName": "string", "endUserFirstName": "string", "endUserLastName": "string", "regulatoryDeclineReason": "string", "regulatoryReviewComment": "string", "regulatoryInfoStatus": "string", "onfidoVerificationUrl": "string", "verifyUrl": "string", "onfidoOpened": true, "metaPreverifiedId": "string", "metaVerificationStatus": "pending", "metaVerifiedAt": "2019-08-24T14:15:22Z", "metaVerificationExpiresAt": "2019-08-24T14:15:22Z", "metaPoolAddRejectedAt": "2019-08-24T14:15:22Z", "socialAccountId": "string", "ownerAccountId": "string", "sipTrunkId": "string", "whatsAppRequested": true, "smsRequested": true, "provisionedAt": "2019-08-24T14:15:22Z", "activatedAt": "2019-08-24T14:15:22Z", "connectedAt": "2019-08-24T14:15:22Z", "suspendedAt": "2019-08-24T14:15:22Z", "releasedAt": "2019-08-24T14:15:22Z", "signupError": "string", "signupErrorAt": "2019-08-24T14:15:22Z", "signupErrorStep": "string", "monthlyCents": 0, "hostedByZernio": true, "smsCapable": true, "mmsCapable": true, "domesticOnly": true, "smsRegistrationPending": true, "smsSendApproved": true, "smsBrandName": "string", "features": { "calls": true, "whatsapp": true, "smsPending": true }, "callingEnabled": true, "forwardTo": "string", "sipAuthUsername": "string", "callerIdVerifiedAt": "2019-08-24T14:15:22Z", "maxCallDurationSeconds": 0, "recordingEnabled": true, "transcriptionEnabled": true, "transcriptionLanguage": "auto", "callIconCountries": [ "string" ], "forwardCallerId": "business", "pstnVoiceEnabled": true, "pstnForwardTo": "string", "voicemailEnabled": true, "voicemailGreeting": "string", "businessHoursEnabled": true, "businessHoursTimezone": "string", "businessHours": [ { "day": 0, "open": "string", "close": "string" } ], "blockedCallers": [ "string" ], "ivrEnabled": true, "ivrPrompt": "string", "ivrOptions": [ { "digit": "string", "forwardTo": "string", "label": "string" } ] } ], "connected": [ { "accountId": "string", "phoneNumber": "string", "displayName": "string", "profileId": "string", "connectedAt": "2019-08-24T14:15:22Z", "callingEnabled": true } ], "imessage": [ { "id": "string", "kind": "phone", "region": "US", "handle": "string", "optInLink": "string", "status": "ordering", "priceCents": 0, "provider": "string", "profileId": "string", "displayName": "string", "failureReason": "string", "accountId": "string", "createdAt": "2019-08-24T14:15:22Z" } ], "sandbox": { "phoneNumber": "string", "accountId": "string", "template": { "name": "string", "language": "string" }, "isSandbox": true }}Set product metafields
Creates or updates custom fields by namespace and key.
Get phone number
Retrieve the current status of a purchased phone number. Poll this to track Meta pre-verification (US sync path) and, for regulated (Tier 3/4) numbers, the async lifecycle: pending_regulatory → active (or regulatory_declined). When a regulated number has an Onfido ID step, `onfidoVerificationUrl` appears here once the order is placed. Forward it to the end user. (Or subscribe to the whatsapp.number.* webhooks instead of polling.)