Get KYC form spec
For a Tier 3/4 country, the fields the end customer must provide (Telnyx regulatory requirements) before a number can be ordered: text, date, address, or file (document) per requirement.
API key authentication - use your Zernio API key as a Bearer token
In: header
Query Parameters
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.getPhoneNumberKycForm({ query: { country: 'string', },});console.log(data);{
"country": "string",
"numberType": "string",
"fields": [
{
"requirementId": "string",
"label": "string",
"kind": "text",
"description": "string",
"example": "string",
"localTo": "string"
}
],
"reusable": {
"available": true,
"fromPhoneNumber": "string",
"details": [
{
"label": "string",
"value": "string"
}
],
"options": [
{
"fromPhoneNumber": "string",
"details": [
{
"label": "string",
"value": "string"
}
]
}
]
}
}{
"error": "Unauthorized"
}Port numbers in POST
Submit a port-in for one or more existing numbers from another carrier. Creates the carrier order(s), attaches the end-user (current account) info plus the LOA and invoice documents, and submits to the losing carrier. The transfer PIN is forwarded to the carrier and never stored. Ported numbers arrive voice-ready (and SMS-ready where the order supports messaging). Run the portability check (POST /v1/phone-numbers/port-in/check) and upload the two documents (POST /v1/phone-numbers/port-in/documents) first. The carrier may split the numbers into several orders (by country, number type, losing carrier); `orders` carries per-order results, and a partial failure still returns 201 with the failed orders' `error` set (they stay as cancellable drafts).
Get declined requirements GET
For a number in `regulatory_declined`, returns ONLY the requirements the reviewer flagged declined, as a form spec (same shape as the KYC form GET). The customer fixes just those — Telnyx supports correcting a declined requirement group and re-submitting it (no new number/group). Falls back to the full spec if the provider exposes no per-requirement flags.