Base URL
Production Endpoint
All paths in this guide are relative to the current API base URL. Protected endpoints require bearer authentication.
https://logsdomain.com/api/v1
Generate your API key from API Access . Copy it immediately; it is displayed only once. Generating a new key revokes the previous key.
401 Response
{
"success": false,
"status": 401,
"message": "Unauthenticated. Please provide a valid bearer token.",
"code": "UNAUTHENTICATED"
}
GET
Wallet Balance
/wallet
Returns the authenticated user's wallet balance. Requires bearer authentication.
cURL Request
Copy
curl -X GET "https://logsdomain.com/api/v1/wallet" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
200 Response
{
"success": true,
"data": {
"balance": "12500.00",
"currency": "NGN"
}
}
Production Flow
Number Checkout
Send the country, service, optional area code preference, and idempotency key. The API calculates the final NGN price, validates wallet balance, reserves the number, stores the order, and returns a stable JSON response.
Live catalog
Wallet-backed
Idempotent checkout
Code polling
GET
List Countries
/numbers/countries
Returns cached countries available for number activations. Requires bearer authentication.
cURL Request
Copy
curl -X GET "https://logsdomain.com/api/v1/numbers/countries" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
200 Response
{
"success": true,
"data": [
{
"id": "1",
"name": "United States",
"short": "us",
"calling_code": "1",
"region": "North America",
"image": "https://flagcdn.com/20x15/us.png"
}
]
}
GET
List Number Services
/numbers/services
Fetches available activation services for a country, including final wallet prices, current availability, and recent delivery success rate. Requires bearer authentication.
Query
Type
Description
country_id
integer
Required. Country ID from the countries endpoint.
cURL Request
Copy
curl -G "https://logsdomain.com/api/v1/numbers/services" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
--data-urlencode "country_id=1"
200 Response
{
"success": true,
"data": [
{
"service_id": "123",
"service_name": "Telegram",
"country_id": "1",
"country_name": "United States",
"price": "850.00",
"currency": "NGN",
"available_quantity": 24,
"success_rate": 92,
"category": "Activation"
}
]
}
GET
List Area Codes
/numbers/area-codes
Returns optional area codes for services that support area filtering. If no specific area codes are available, the API returns Random so your integration can purchase any available number. Requires bearer authentication.
Query
Type
Description
country_id
integer
Required. Country ID.
service_id
integer
Required. Service ID.
cURL Request
Copy
curl -G "https://logsdomain.com/api/v1/numbers/area-codes" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
--data-urlencode "country_id=1" \
--data-urlencode "service_id=123"
200 Response
{
"success": true,
"data": {
"codes": ["Random"]
}
}
POST
Purchase Number
/numbers/orders
Purchases one phone number for the selected country and service. Requires bearer authentication.
Do not send prices from your integration. The API calculates the charge from the current service price and deducts the authenticated wallet. Use a unique idempotency_key for every checkout attempt.
Body
Type
Description
country_id
integer
Required. Country ID from the countries endpoint.
service_id
integer
Required. Service ID from the services endpoint.
selected_area_codes
array
Optional. Area code strings to include.
idempotency_key
string
Required. Unique key for this checkout attempt.
cURL Request
Copy
curl -X POST "https://logsdomain.com/api/v1/numbers/orders" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{"country_id":1,"service_id":123,"selected_area_codes":["917"],"idempotency_key":"number-order-20260501-0001"}'
201 Response
{
"success": true,
"data": {
"order_id": "123456789",
"status": "waiting_for_code",
"number": "+1234567890",
"service_id": "123",
"service_name": "Telegram",
"country_id": "1",
"country_name": "United States",
"price": "850.00",
"currency": "NGN",
"time_left": 1200,
"balance_after": "9150.00"
}
}
GET
List Number Orders
/numbers/orders
Returns the authenticated user's number activation order history. Requires bearer authentication.
cURL Request
Copy
curl -X GET "https://logsdomain.com/api/v1/numbers/orders" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
200 Response
{
"success": true,
"data": [
{
"order_id": "123456789",
"status": "waiting_for_code",
"number": "+1234567890",
"service_name": "Telegram",
"country_name": "United States",
"price": "850.00",
"currency": "NGN",
"code": null,
"refunded": false
}
]
}
GET
Get Number Order
/numbers/orders/{order_id}
Retrieves the stored details of a single number order owned by the authenticated account. Use this endpoint for order lookups, audit views, and displaying the most recently saved status without running a live code check.
cURL Request
Copy
curl -X GET "https://logsdomain.com/api/v1/numbers/orders/123456789" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
200 Response
{
"success": true,
"data": {
"order_id": "123456789",
"status": "waiting_for_code",
"number": "+1234567890",
"service_id": "123",
"service_name": "Telegram",
"country_id": "1",
"country_name": "United States",
"price": "850.00",
"currency": "NGN",
"code": null,
"message": "Still waiting...",
"time_left": 1200,
"refunded": false,
"created_at": "2026-05-01T12:00:00.000000Z"
}
}
POST
Check Number Code
/numbers/orders/{order_id}/check
Runs a live code check for the number order and returns the latest status. In production, poll this endpoint every 5-10 seconds after purchase until code contains the received SMS verification code.
cURL Request
Copy
curl -X POST "https://logsdomain.com/api/v1/numbers/orders/123456789/check" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
200 Response
{
"success": true,
"data": {
"order_id": "123456789",
"status": "completed",
"number": "+1234567890",
"service_id": "123",
"service_name": "Telegram",
"country_id": "1",
"country_name": "United States",
"price": "850.00",
"currency": "NGN",
"code": "12345",
"message": "Code Received",
"time_left": 875,
"refunded": false,
"created_at": "2026-05-01T12:00:00.000000Z"
}
}
POST
Cancel Number
/numbers/orders/{order_id}/cancel
Cancels and refunds an eligible number order when no SMS code has been received.
cURL Request
Copy
curl -X POST "https://logsdomain.com/api/v1/numbers/orders/123456789/cancel" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
200 Response
{
"success": true,
"data": {
"order_id": "123456789",
"status": "refunded",
"number": "+1234567890",
"code": null,
"message": "Order cancelled and refunded",
"refunded": true
}
}
Reference
Error Responses
JSON
Error Format
{
"success": false,
"status": 422,
"message": "No number is available for this service right now.",
"code": "NUMBER_OUT_OF_STOCK"
}
USER_DISABLEDThe buyer account is disabled.
USER_BANNEDThe buyer account is banned.
UNAUTHENTICATEDThe bearer token is missing, invalid, or revoked.
VALIDATION_FAILEDOne or more request fields are missing or invalid.
INSUFFICIENT_BALANCEThe wallet balance cannot cover the purchase.
NUMBER_SERVICE_NOT_FOUNDThe selected number service does not exist for the selected country.
NUMBER_ORDER_NOT_FOUNDThe requested number order does not exist for the authenticated account.
NUMBER_OUT_OF_STOCKNo phone number is available for the selected service right now.
NUMBER_PRICE_CHANGEDThe number service price changed. Fetch services again before retrying.
NUMBER_CODE_ALREADY_RECEIVEDThe number already received a code and cannot be cancelled.
NUMBER_REFUND_FAILEDThe number was cancelled, but local refund completion needs support review.
IDEMPOTENCY_KEY_REUSEDThe idempotency key was used for a different request.