Phone Numbers
List DID orders
Returns current and historical DID orders.
/api/v1/dids/ordersBefore you start
Use the documented filters to find your number orders.
Result
Read order state and requirements before changing routing or submitting documents.
Charges and safe retries
A saved or pending order does not necessarily mean the number is active.
Authentication
Send your account API key in the X-Api-Key header. Keep it on your server; never embed it in browser code.
Request examples
Replace the example values with your own inputs. Examples do not run on this page. Production requests can change your account or incur charges.
cURL
curl -X GET "https://api.illyvoip.com/api/v1/dids/orders" \
-H "X-Api-Key: ${ILLYVOIP_API_KEY:?Set ILLYVOIP_API_KEY}"Node.js
const response = await fetch("https://api.illyvoip.com/api/v1/dids/orders", {
method: "GET",
headers: {
"X-Api-Key": process.env.ILLYVOIP_API_KEY
}
});
const data = await response.json();
console.log(response.status, data);PHP
<?php
$ch = curl_init('https://api.illyvoip.com/api/v1/dids/orders');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-Api-Key: ' . getenv('ILLYVOIP_API_KEY')
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status . PHP_EOL;
echo $response;Python
import os
import json
import requests
response = requests.request(
"GET",
"https://api.illyvoip.com/api/v1/dids/orders",
headers={
"X-Api-Key": os.environ["ILLYVOIP_API_KEY"]
},
)
print(response.status_code)
print(response.json())Node.js examples run on the server (Node.js 22.17+). Python examples require requests; PHP examples require cURL. Set the environment variables referenced in each example.
Request behavior
Use this to reconcile provisioning, KYC state, and routing changes.
Response fields
status: Request outcome. Read the resource state separately; success does not always mean delivery or completion.totals: Aggregated customer charges for the quoted selection.orders: Your number orders and their current service or review status.
HTTP responses
Expand a status to inspect its documented response format and examples. Example prices, IDs and timestamps are illustrative values, not quotes or account records.
200 Successful customer-facing response.
application/json
{
"status": "success",
"totals": {
"active": 1,
"monthly_active": 1
},
"orders": {
"active": [
{
"order_id": 123,
"id": 123,
"order_label": "CART-A1B2C3D4E5F6",
"number": "+12494251304",
"status": {
"code": "active",
"label": "Active"
},
"destination": {
"country": "Canada",
"region": "Area code 249"
},
"fees": {
"monthly": 1,
"per_minute": 0.01,
"connection_fee": 0,
"renewal_date": "2026-09-01"
},
"created_at": "2026-08-24T10:00:00Z",
"regulation": {
"status": "verified",
"requires_action": false,
"rejected": false,
"can_resubmit": false,
"documents_required": false,
"address_required": false,
"identity_required": false,
"document_labels": [],
"rejection_reasons": [],
"message": "Regulatory verification is complete."
}
}
],
"pending": [
{
"order_id": 124,
"id": 124,
"order_label": "DID-000124",
"number": "to be issued",
"status": {
"code": "pending",
"label": "Pending"
},
"destination": {
"country": "Canada",
"region": "Area code 249"
},
"fees": {
"monthly": 1,
"per_minute": 0.01,
"connection_fee": 0,
"renewal_date": null
},
"created_at": "2026-08-24T10:05:00Z",
"regulation": {
"status": "pending",
"requires_action": false,
"rejected": false,
"can_resubmit": false,
"documents_required": false,
"address_required": false,
"identity_required": false,
"document_labels": [],
"rejection_reasons": [],
"message": "Regulatory verification is pending."
}
}
],
"cancelled": [
{
"order_id": 126,
"id": 126,
"order_label": "DID-000126",
"number": "+12494251306",
"status": {
"code": "cancelled",
"label": "Cancelled"
},
"destination": {
"country": "Canada",
"region": "Area code 249"
},
"fees": {
"monthly": 1,
"per_minute": 0.01,
"connection_fee": 0,
"renewal_date": null
},
"created_at": "2026-08-24T10:15:00Z",
"regulation": {
"status": "verified",
"requires_action": false,
"rejected": false,
"can_resubmit": false,
"documents_required": false,
"address_required": false,
"identity_required": false,
"document_labels": [],
"rejection_reasons": [],
"message": "Regulatory verification is complete."
}
}
],
"rejected": [
{
"order_id": 125,
"id": 125,
"order_label": "DID-000125",
"number": "+12494251305",
"status": {
"code": "rejected",
"label": "Rejected"
},
"destination": {
"country": "Canada",
"region": "Area code 249"
},
"fees": {
"monthly": 1,
"per_minute": 0.01,
"connection_fee": 0,
"renewal_date": null
},
"created_at": "2026-08-24T10:10:00Z",
"regulation": {
"status": "rejected",
"requires_action": true,
"rejected": true,
"can_resubmit": true,
"documents_required": true,
"address_required": false,
"identity_required": false,
"document_labels": [
"Proof of address"
],
"rejection_reasons": [
"The submitted regulatory information needs review."
],
"message": "Review and resubmit the required regulatory information."
}
}
]
}
}statusstringrequiredtotalsobjectrequiredView nested fields
activeintegerrequiredmonthly_activeintegerrequiredAdditional properties: not allowed.
ordersobjectrequiredView nested fields
activearray<object>requiredView nested fields
Array items
order_idintegerrequiredidintegerrequiredorder_labelstringrequirednumberstringrequiredstatusobjectrequiredView nested fields
codestringrequiredlabelstringrequiredAdditional properties: not allowed.
destinationobjectrequiredView nested fields
countrystringrequiredregionstringrequiredAdditional properties: not allowed.
feesobjectrequiredView nested fields
monthlyintegerrequiredper_minutenumberrequiredconnection_feenumberrequiredCustomer connection charge per incoming call in EUR, when available.
renewal_datestringrequiredAdditional properties: not allowed.
created_atstringrequiredregulationobjectrequiredView nested fields
statusstringrequiredrequires_actionbooleanrequiredrejectedbooleanrequiredcan_resubmitbooleanrequireddocuments_requiredbooleanrequiredaddress_requiredbooleanrequiredidentity_requiredbooleanrequireddocument_labelsarray<string>requiredView nested fields
Array items
Type: string
rejection_reasonsarray<string>requiredView nested fields
Array items
Type: string
messagestringrequiredAdditional properties: not allowed.
Additional properties: not allowed.
pendingarray<object>requiredView nested fields
Array items
order_idintegerrequiredidintegerrequiredorder_labelstringrequirednumberstringrequiredstatusobjectrequiredView nested fields
codestringrequiredlabelstringrequiredAdditional properties: not allowed.
destinationobjectrequiredView nested fields
countrystringrequiredregionstringrequiredAdditional properties: not allowed.
feesobjectrequiredView nested fields
monthlyintegerrequiredper_minutenumberrequiredconnection_feenumberrequiredCustomer connection charge per incoming call in EUR, when available.
renewal_datestringrequiredAdditional properties: not allowed.
created_atstringrequiredregulationobjectrequiredView nested fields
statusstringrequiredrequires_actionbooleanrequiredrejectedbooleanrequiredcan_resubmitbooleanrequireddocuments_requiredbooleanrequiredaddress_requiredbooleanrequiredidentity_requiredbooleanrequireddocument_labelsarray<string>requiredView nested fields
Array items
Type: string
rejection_reasonsarray<string>requiredView nested fields
Array items
Type: string
messagestringrequiredAdditional properties: not allowed.
Additional properties: not allowed.
cancelledarray<object>requiredView nested fields
Array items
order_idintegerrequiredidintegerrequiredorder_labelstringrequirednumberstringrequiredstatusobjectrequiredView nested fields
codestringrequiredlabelstringrequiredAdditional properties: not allowed.
destinationobjectrequiredView nested fields
countrystringrequiredregionstringrequiredAdditional properties: not allowed.
feesobjectrequiredView nested fields
monthlyintegerrequiredper_minutenumberrequiredconnection_feenumberrequiredCustomer connection charge per incoming call in EUR, when available.
renewal_datestringrequiredAdditional properties: not allowed.
created_atstringrequiredregulationobjectrequiredView nested fields
statusstringrequiredrequires_actionbooleanrequiredrejectedbooleanrequiredcan_resubmitbooleanrequireddocuments_requiredbooleanrequiredaddress_requiredbooleanrequiredidentity_requiredbooleanrequireddocument_labelsarray<string>requiredView nested fields
Array items
Type: string
rejection_reasonsarray<string>requiredView nested fields
Array items
Type: string
messagestringrequiredAdditional properties: not allowed.
Additional properties: not allowed.
rejectedarray<object>requiredView nested fields
Array items
order_idintegerrequiredidintegerrequiredorder_labelstringrequirednumberstringrequiredstatusobjectrequiredView nested fields
codestringrequiredlabelstringrequiredAdditional properties: not allowed.
destinationobjectrequiredView nested fields
countrystringrequiredregionstringrequiredAdditional properties: not allowed.
feesobjectrequiredView nested fields
monthlyintegerrequiredper_minutenumberrequiredconnection_feenumberrequiredCustomer connection charge per incoming call in EUR, when available.
renewal_datestringrequiredAdditional properties: not allowed.
created_atstringrequiredregulationobjectrequiredView nested fields
statusstringrequiredrequires_actionbooleanrequiredrejectedbooleanrequiredcan_resubmitbooleanrequireddocuments_requiredbooleanrequiredaddress_requiredbooleanrequiredidentity_requiredbooleanrequireddocument_labelsarray<string>requiredView nested fields
Array items
Type: string
rejection_reasonsarray<string>requiredView nested fields
Array items
Type: string
messagestringrequiredAdditional properties: not allowed.
Additional properties: not allowed.
Additional properties: not allowed.
Additional properties: not allowed.
Full schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"status": {
"type": "string",
"enum": [
"success"
]
},
"totals": {
"type": "object",
"additionalProperties": false,
"properties": {
"active": {
"type": "integer"
},
"monthly_active": {
"type": "integer"
}
},
"required": [
"active",
"monthly_active"
]
},
"orders": {
"type": "object",
"additionalProperties": false,
"properties": {
"active": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"order_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"order_label": {
"type": "string"
},
"number": {
"type": "string"
},
"status": {
"type": "object",
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"code",
"label"
]
},
"destination": {
"type": "object",
"additionalProperties": false,
"properties": {
"country": {
"type": "string"
},
"region": {
"type": "string"
}
},
"required": [
"country",
"region"
]
},
"fees": {
"type": "object",
"additionalProperties": false,
"properties": {
"monthly": {
"type": "integer"
},
"per_minute": {
"type": "number"
},
"connection_fee": {
"type": "number",
"nullable": true,
"description": "Customer connection charge per incoming call in EUR, when available."
},
"renewal_date": {
"type": "string"
}
},
"required": [
"monthly",
"per_minute",
"connection_fee",
"renewal_date"
]
},
"created_at": {
"type": "string"
},
"regulation": {
"type": "object",
"additionalProperties": false,
"properties": {
"status": {
"type": "string"
},
"requires_action": {
"type": "boolean"
},
"rejected": {
"type": "boolean"
},
"can_resubmit": {
"type": "boolean"
},
"documents_required": {
"type": "boolean"
},
"address_required": {
"type": "boolean"
},
"identity_required": {
"type": "boolean"
},
"document_labels": {
"type": "array",
"items": {
"type": "string"
}
},
"rejection_reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
}
},
"required": [
"status",
"requires_action",
"rejected",
"can_resubmit",
"documents_required",
"address_required",
"identity_required",
"document_labels",
"rejection_reasons",
"message"
]
}
},
"required": [
"order_id",
"id",
"order_label",
"number",
"status",
"destination",
"fees",
"created_at",
"regulation"
]
}
},
"pending": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"order_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"order_label": {
"type": "string"
},
"number": {
"type": "string"
},
"status": {
"type": "object",
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"code",
"label"
]
},
"destination": {
"type": "object",
"additionalProperties": false,
"properties": {
"country": {
"type": "string"
},
"region": {
"type": "string"
}
},
"required": [
"country",
"region"
]
},
"fees": {
"type": "object",
"additionalProperties": false,
"properties": {
"monthly": {
"type": "integer"
},
"per_minute": {
"type": "number"
},
"connection_fee": {
"type": "number",
"nullable": true,
"description": "Customer connection charge per incoming call in EUR, when available."
},
"renewal_date": {
"type": "string",
"nullable": true
}
},
"required": [
"monthly",
"per_minute",
"connection_fee",
"renewal_date"
]
},
"created_at": {
"type": "string"
},
"regulation": {
"type": "object",
"additionalProperties": false,
"properties": {
"status": {
"type": "string"
},
"requires_action": {
"type": "boolean"
},
"rejected": {
"type": "boolean"
},
"can_resubmit": {
"type": "boolean"
},
"documents_required": {
"type": "boolean"
},
"address_required": {
"type": "boolean"
},
"identity_required": {
"type": "boolean"
},
"document_labels": {
"type": "array",
"items": {
"type": "string"
}
},
"rejection_reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
}
},
"required": [
"status",
"requires_action",
"rejected",
"can_resubmit",
"documents_required",
"address_required",
"identity_required",
"document_labels",
"rejection_reasons",
"message"
]
}
},
"required": [
"order_id",
"id",
"order_label",
"number",
"status",
"destination",
"fees",
"created_at",
"regulation"
]
}
},
"cancelled": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"order_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"order_label": {
"type": "string"
},
"number": {
"type": "string"
},
"status": {
"type": "object",
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"code",
"label"
]
},
"destination": {
"type": "object",
"additionalProperties": false,
"properties": {
"country": {
"type": "string"
},
"region": {
"type": "string"
}
},
"required": [
"country",
"region"
]
},
"fees": {
"type": "object",
"additionalProperties": false,
"properties": {
"monthly": {
"type": "integer"
},
"per_minute": {
"type": "number"
},
"connection_fee": {
"type": "number",
"nullable": true,
"description": "Customer connection charge per incoming call in EUR, when available."
},
"renewal_date": {
"type": "string",
"nullable": true
}
},
"required": [
"monthly",
"per_minute",
"connection_fee",
"renewal_date"
]
},
"created_at": {
"type": "string"
},
"regulation": {
"type": "object",
"additionalProperties": false,
"properties": {
"status": {
"type": "string"
},
"requires_action": {
"type": "boolean"
},
"rejected": {
"type": "boolean"
},
"can_resubmit": {
"type": "boolean"
},
"documents_required": {
"type": "boolean"
},
"address_required": {
"type": "boolean"
},
"identity_required": {
"type": "boolean"
},
"document_labels": {
"type": "array",
"items": {
"type": "string"
}
},
"rejection_reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
}
},
"required": [
"status",
"requires_action",
"rejected",
"can_resubmit",
"documents_required",
"address_required",
"identity_required",
"document_labels",
"rejection_reasons",
"message"
]
}
},
"required": [
"order_id",
"id",
"order_label",
"number",
"status",
"destination",
"fees",
"created_at",
"regulation"
]
}
},
"rejected": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"order_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"order_label": {
"type": "string"
},
"number": {
"type": "string"
},
"status": {
"type": "object",
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"code",
"label"
]
},
"destination": {
"type": "object",
"additionalProperties": false,
"properties": {
"country": {
"type": "string"
},
"region": {
"type": "string"
}
},
"required": [
"country",
"region"
]
},
"fees": {
"type": "object",
"additionalProperties": false,
"properties": {
"monthly": {
"type": "integer"
},
"per_minute": {
"type": "number"
},
"connection_fee": {
"type": "number",
"nullable": true,
"description": "Customer connection charge per incoming call in EUR, when available."
},
"renewal_date": {
"type": "string",
"nullable": true
}
},
"required": [
"monthly",
"per_minute",
"connection_fee",
"renewal_date"
]
},
"created_at": {
"type": "string"
},
"regulation": {
"type": "object",
"additionalProperties": false,
"properties": {
"status": {
"type": "string"
},
"requires_action": {
"type": "boolean"
},
"rejected": {
"type": "boolean"
},
"can_resubmit": {
"type": "boolean"
},
"documents_required": {
"type": "boolean"
},
"address_required": {
"type": "boolean"
},
"identity_required": {
"type": "boolean"
},
"document_labels": {
"type": "array",
"items": {
"type": "string"
}
},
"rejection_reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
}
},
"required": [
"status",
"requires_action",
"rejected",
"can_resubmit",
"documents_required",
"address_required",
"identity_required",
"document_labels",
"rejection_reasons",
"message"
]
}
},
"required": [
"order_id",
"id",
"order_label",
"number",
"status",
"destination",
"fees",
"created_at",
"regulation"
]
}
}
},
"required": [
"active",
"pending",
"cancelled",
"rejected"
]
}
},
"required": [
"status",
"totals",
"orders"
]
}400 The request failed validation.
application/json
statusstringrequiredmessagestringrequirederror_codestringoptionalPublic incident or validation code when the endpoint provides one.
fieldsobjectoptionalPublic validation details when supplied by the endpoint.
Additional properties: not allowed.
Full schema
{
"type": "object",
"additionalProperties": false,
"required": [
"status",
"message"
],
"properties": {
"status": {
"type": "string",
"enum": [
"error"
]
},
"message": {
"type": "string"
},
"error_code": {
"type": "string",
"nullable": true,
"description": "Public incident or validation code when the endpoint provides one."
},
"fields": {
"type": "object",
"additionalProperties": true,
"description": "Public validation details when supplied by the endpoint."
}
}
}401 The API key or browser token is missing or invalid.
application/json
statusstringrequiredmessagestringrequirederror_codestringoptionalPublic incident or validation code when the endpoint provides one.
fieldsobjectoptionalPublic validation details when supplied by the endpoint.
Additional properties: not allowed.
Full schema
{
"type": "object",
"additionalProperties": false,
"required": [
"status",
"message"
],
"properties": {
"status": {
"type": "string",
"enum": [
"error"
]
},
"message": {
"type": "string"
},
"error_code": {
"type": "string",
"nullable": true,
"description": "Public incident or validation code when the endpoint provides one."
},
"fields": {
"type": "object",
"additionalProperties": true,
"description": "Public validation details when supplied by the endpoint."
}
}
}403 The account is not allowed to perform this operation.
application/json
statusstringrequiredmessagestringrequirederror_codestringoptionalPublic incident or validation code when the endpoint provides one.
fieldsobjectoptionalPublic validation details when supplied by the endpoint.
Additional properties: not allowed.
Full schema
{
"type": "object",
"additionalProperties": false,
"required": [
"status",
"message"
],
"properties": {
"status": {
"type": "string",
"enum": [
"error"
]
},
"message": {
"type": "string"
},
"error_code": {
"type": "string",
"nullable": true,
"description": "Public incident or validation code when the endpoint provides one."
},
"fields": {
"type": "object",
"additionalProperties": true,
"description": "Public validation details when supplied by the endpoint."
}
}
}429 The request rate limit was exceeded.
application/json
statusstringrequiredmessagestringrequirederror_codestringoptionalPublic incident or validation code when the endpoint provides one.
fieldsobjectoptionalPublic validation details when supplied by the endpoint.
Additional properties: not allowed.
Full schema
{
"type": "object",
"additionalProperties": false,
"required": [
"status",
"message"
],
"properties": {
"status": {
"type": "string",
"enum": [
"error"
]
},
"message": {
"type": "string"
},
"error_code": {
"type": "string",
"nullable": true,
"description": "Public incident or validation code when the endpoint provides one."
},
"fields": {
"type": "object",
"additionalProperties": true,
"description": "Public validation details when supplied by the endpoint."
}
}
}500 An unexpected service error occurred.
application/json
statusstringrequiredmessagestringrequirederror_codestringoptionalPublic incident or validation code when the endpoint provides one.
fieldsobjectoptionalPublic validation details when supplied by the endpoint.
Additional properties: not allowed.
Full schema
{
"type": "object",
"additionalProperties": false,
"required": [
"status",
"message"
],
"properties": {
"status": {
"type": "string",
"enum": [
"error"
]
},
"message": {
"type": "string"
},
"error_code": {
"type": "string",
"nullable": true,
"description": "Public incident or validation code when the endpoint provides one."
},
"fields": {
"type": "object",
"additionalProperties": true,
"description": "Public validation details when supplied by the endpoint."
}
}
}503 The service is temporarily unavailable.
application/json
statusstringrequiredmessagestringrequirederror_codestringoptionalPublic incident or validation code when the endpoint provides one.
fieldsobjectoptionalPublic validation details when supplied by the endpoint.
Additional properties: not allowed.
Full schema
{
"type": "object",
"additionalProperties": false,
"required": [
"status",
"message"
],
"properties": {
"status": {
"type": "string",
"enum": [
"error"
]
},
"message": {
"type": "string"
},
"error_code": {
"type": "string",
"nullable": true,
"description": "Public incident or validation code when the endpoint provides one."
},
"fields": {
"type": "object",
"additionalProperties": true,
"description": "Public validation details when supplied by the endpoint."
}
}
}Sandbox scenarios
Use https://sandbox-api.illyvoip.com with Sandbox credentials and the X-Illyvoip-Sandbox-Scenario header. Omit the header for the documented success default. This header belongs to sandbox requests.
success, not-found, rate-limited, forbidden, service-unavailable, completed, pending-documents, rejected
Try this operation in Sandbox · Environment setup and limitations