Upload a porting document
Upload ONE porting document and get back its documentId. For the
signed LOA / carrier invoice the id goes to loaDocumentId /
invoiceDocumentId; for a country-specific document requirement
(international ports) it becomes that requirement's fieldValue.
Requirement documents are normalized to PDF automatically (regulators
reject raw images). PDF, JPEG, or PNG, 10MB max. Uploads must be
attached to an order within 30 minutes or the carrier deletes them.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
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.uploadPhoneNumberPortInDocument();console.log(data);{ "documentId": "string"}A port-in order's pending requirements
The live requirements on an EXISTING porting order: which are filled, which are still pending, and which bounced on review (`requirement-info-exception`). Use it to fix and resubmit a rejected international port. Same field shape as the country-level requirements endpoint, plus per-requirement status.
Cancel a port-in
Cancel an in-flight port (wrong number, staying with the old carrier). Only orders that haven't ported can be cancelled; a completed port is a normal number release instead. The carrier may report `cancel-pending` briefly while the losing carrier acknowledges; it settles to `cancelled`.