NanoTelecom Customer API Reference
The NanoTelecom REST API allows developers to programmatically authenticate, retrieve phone number inventories, query active/pending DIDs, export reports, and integrate carrier telephony features directly into your own applications.
https://portal.nanotelecom.us/api
Authentication & Bearer Tokens
All protected API endpoints require an API token generated via the /api/authenticate endpoint. Authenticated requests must include this token in the Authorization header using the standard Bearer scheme.
Authentication & Token Generation
Authenticates customer credentials (username & password) and provisions or retrieves a persistent 60-character API token for Bearer authentication.
| Header | Type | Description |
|---|---|---|
| Content-Type | string | application/json or application/x-www-form-urlencoded |
| Accept | string | application/json |
| Parameter | Type | Description |
|---|---|---|
| username Required | string | Your NanoTelecom portal customer username. |
| password Required | string | Your account secret password. |
| Field | Type | Description |
|---|---|---|
| status | boolean | true on valid credentials, false on failure. |
| token | string | 60-character API token for Bearer authorization. |
| code | integer | HTTP status code (e.g., 200). |
curl -X POST "https://portal.nanotelecom.us/api/authenticate" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"username": "customer_demo",
"password": "your_secure_password"
}
{
"status": true,
"token": "4f8a12bc9d7e3012a95c479e0f319208a94cb23491f0983274ab1c8e90a5",
"code": 200
}
Retrieve All Numbers
Fetches all phone numbers (DIDs) associated with your customer account across all inventory statuses, including carrier vendor identification.
Requires
Authorization: Bearer <token>
and API access permission on customer profile.
| Parameter | Type | Description |
|---|---|---|
| limit Optional | integer |
Max records to return per request.
Default: 50
|
| offset_number Optional | integer |
Pagination index offset.
Default: 0
|
| Field | Type | Description |
|---|---|---|
| status | boolean | Operation status indicator. |
| allNumber | array | Array of number objects containing number (E.164 string) and vendor_name. |
| code | integer | HTTP response status code. |
curl -X GET "https://portal.nanotelecom.us/api/get-all-number?limit=50&offset_number=0" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
{
"status": true,
"allNumber": [
{
"number": "18005550199",
"vendor_name": "Inteliquent"
},
{
"number": "18005550144",
"vendor_name": "Telinta"
},
{
"number": "18005550188",
"vendor_name": "PeerLess"
}
],
"code": 200
}
Retrieve Active Numbers
Retrieves only phone numbers that are currently active and routed to an active telephony account or trunk.
| Parameter | Type | Description |
|---|---|---|
| limit Optional | integer | Limit result set (default: 50). |
| offset_number Optional | integer | Offset index for pagination (default: 0). |
curl -X GET "https://portal.nanotelecom.us/api/get-all-active-number?limit=50&offset_number=0" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
{
"status": true,
"allNumber": [
{
"number": "18005550199",
"vendor_name": "Inteliquent"
}
],
"code": 200
}
Retrieve Inventory (Available) Numbers
Queries unassigned inventory phone numbers ready for assignment or routing within your account pool.
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Records per page (default: 50). |
| offset_number | integer | Pagination offset (default: 0). |
curl -X GET "https://portal.nanotelecom.us/api/get-inventory-number?limit=50&offset_number=0" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
{
"status": true,
"allNumber": [
{
"number": "18005550123",
"vendor_name": "Telinta"
}
],
"code": 200
}
Retrieve Pending Numbers
Retrieves numbers currently in pending porting or carrier provisioning state.
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Limit results (default: 50). |
| offset_number | integer | Offset pagination (default: 0). |
curl -X GET "https://portal.nanotelecom.us/api/get-pending-number?limit=50&offset_number=0" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"status": true,
"allNumber": [
{
"number": "18005550188",
"vendor_name": "PeerLess"
}
],
"code": 200
}
Export Numbers Data (Excel / XLSX)
Generates and streams an Excel spreadsheet (.xlsx) containing full phone number details, including rate centers, states, PIN codes, notes, activation dates, and network batches.
| Parameter | Type | Description |
|---|---|---|
| name Required | string | Customer username identifier. |
| type Optional | string |
Filter type: "inventory" or "all".
Default: "all"
|
| offset_number Optional | integer | Pagination start offset (default: 0). |
Phone number, Status, State, Rate Center, PIN Code, Note, Activate Date, Network.
curl -X GET "https://portal.nanotelecom.us/api/download-number?name=customer_demo&type=all" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
--output "AllNumbers.xlsx"
HTTP/1.1 200 OK
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Disposition: attachment; filename="AllNumbers26Sep2026.xlsx"
[Binary Spreadsheet Data]
Retrieve Notification Alert Rules
Fetches system and admin alert notification configuration rules and associated triggers.
| Field | Type | Description |
|---|---|---|
| code | integer | HTTP Status Code (200). |
| data | array | List of configured admin number rules. |
curl -X POST "https://portal.nanotelecom.us/api/get-all-notification-number" \
-H "Accept: application/json"
{
"code": 200,
"data": [
{
"id": 1,
"rule_name": "Low Balance Warning",
"phone_number": "18005550199",
"status": 1,
"created_at": "2026-01-15T10:00:00.000000Z"
}
]
}
HTTP Status Codes & Error Handling
The NanoTelecom API uses conventional HTTP response codes to indicate success or failure of API requests.
| Code | Status | Description |
|---|---|---|
| 200 OK | Success | The request was successfully processed and returned JSON data or file stream. |
| 401 Unauthorized | Auth Error | No Bearer token provided, token expired/invalid, or API access is not enabled for your account. |
| 404 Not Found | Not Found | The requested endpoint or customer account does not exist. |
| 500 Internal Error | Server Error | Upstream carrier or server failure. Please retry with exponential backoff or contact support. |