Build secure, production-ready integrations with the NonVoIP API using Bearer authentication and optional IP whitelisting.
https://nonvoip.com/api/v1
All endpoints require an API token in the Authorization header as a Bearer token.
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
Content-Type: application/json
Login to your account and generate API key from Account Page.
Account page supports token generate, regenerate, delete and IP whitelist configuration.
If API whitelist is enabled in account settings, requests are allowed only from configured IP addresses.
When blocked, API returns 403 with whitelist error message.
{
"success": true,
"data": {},
"message": "..."
}
https://nonvoip.com/api/v1/account
Account
Returns authenticated user profile and current balance.
{
"success": true,
"account": {
"name": "John Doe",
"email": "john@example.com",
"balance": "120.50"
}
}
https://nonvoip.com/api/v1/products?type=short-term
Products
Fetch available short-term services.
| Query | Required | Value |
|---|---|---|
type | Yes | short-term |
https://nonvoip.com/api/v1/orders?type=short-term&per_page=20
Orders List
| Query | Required | Details |
|---|---|---|
type | Yes | short-term |
per_page | No | 1 to 100 |
https://nonvoip.com/api/v1/orders
Create Order
Content-Type from collection is multipart/form-data (form-data fields).
| Body | Required | Details |
|---|---|---|
type | Yes | short-term |
provider | Yes | gt or qk |
name | Yes | Service name from products list |
is_premium | No | Boolean |
https://nonvoip.com/api/v1/orders/reuse-mdn
Reuse Order MDN
| Body | Required | Details |
|---|---|---|
order_id | Yes | Existing order ID |
https://nonvoip.com/api/v1/orders/reject
Reject Order
| Body | Required | Details |
|---|---|---|
order_id | Yes | Existing order ID |
https://nonvoip.com/api/v1/products?type=long-term
Products
| Query | Required | Value |
|---|---|---|
type | Yes | long-term |
https://nonvoip.com/api/v1/orders?type=long-term&per_page=20
Orders List
| Query | Required | Details |
|---|---|---|
type | Yes | long-term |
per_page | No | 1 to 100 |
https://nonvoip.com/api/v1/orders
Create Order
| Body | Required | Details |
|---|---|---|
type | Yes | long-term |
provider | Yes | gt or qk |
name | Yes | Service name from products list |
is_premium | No | Boolean |
https://nonvoip.com/api/v1/orders/connect-mdn
Connect Order/ Online MDN
| Body | Required | Details |
|---|---|---|
order_id | Yes | Existing order ID |
https://nonvoip.com/api/v1/orders/reject
Reject Order
| Body | Required | Details |
|---|---|---|
order_id | Yes | Existing order ID |
https://nonvoip.com/api/v1/orders/renew
Renew Order
| Body | Required | Details |
|---|---|---|
order_id | Yes | Existing order ID |
https://nonvoip.com/api/v1/products?type=unlimited
Products
| Query | Required | Value |
|---|---|---|
type | Yes | unlimited |
https://nonvoip.com/api/v1/orders?type=unlimited&per_page=20
Orders List
| Query | Required | Details |
|---|---|---|
type | Yes | unlimited |
per_page | No | 1 to 100 |
https://nonvoip.com/api/v1/orders
Create Order
| Body | Required | Details |
|---|---|---|
type | Yes | unlimited |
carrier | Yes | 1st-point or att |
country_code | Yes | US, UK, AU |
https://nonvoip.com/api/v1/orders/reject
Reject Order
| Body | Required | Details |
|---|---|---|
order_id | Yes | Existing order ID |
https://nonvoip.com/api/v1/orders/renew
Renew Order
| Body | Required | Details |
|---|---|---|
order_id | Yes | Existing order ID |
When a new SMS arrives, NonVoIP can POST SMS data to your webhook URL.
Set your webhook URL from Account Page under SMS Webhook URL.
https://your-domain.com/webhooks/nonvoip-sms
Incoming Webhook Request
A request is sent by NonVoIP to your configured URL whenever an SMS is received on your number.
| Field | Type | Details |
|---|---|---|
service | string|null | Service/app name associated with the SMS. |
from_number | string|null | Sender phone number. |
to_number | string|null | Receiver number (your rented MDN). |
message | string|null | SMS text content. |
otp | string|null | Parsed OTP/pin value. |
created_at | string|null | SMS created datetime in Y-m-d H:i:s format. |
Payload Example
{
"service": "Facebook",
"from_number": "32099",
"to_number": "17282176619",
"message": "290865 is your Facebook code. Do not share it.",
"otp": "290865",
"created_at": "2026-04-18 02:49:38"
}
Recommended Response From Your Server
{
"success": true
}