✦ Log Domain API
A unified API for virtual number verification, social media account purchasing, and social media boosting services. Powered by 6 provider portals across three service categories.
Introduction
This API gives you programmatic access to three distinct service categories:
Portal 1 · Portal 2 — SMS verification numbers
Portal 3 · Portal 5 — Purchase aged social profiles
Portal 4 · Portal 6 — Likes, followers, views & more
Single key for all services
All endpoints use JSON request/response bodies. Authenticate with the Authorization: Bearer header.
Authentication
Every request requires an API key in the Authorization header.
Keys are generated from your account dashboard and work across all service categories.
Authorization: Bearer YOUR_API_KEY
A missing or invalid key returns:
HTTP/1.1 401 Unauthorized
{
"status": "error",
"message": "Invalid API key."
}
Base URL
https://api.logdomain.com/v1
All endpoints live under /v1/. For testing, use the staging environment at api.logdomain.com/v1.
Response Format
Every response follows this structure:
{
"status": "success", // "success" or "error"
"data": { … }, // Response payload
"errors": null // null on success; error details otherwise
}
HTTP Status Codes
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad request — missing or invalid parameter |
401 | Unauthorized — invalid or expired API key |
402 | Payment required — insufficient account balance |
404 | Not found — resource does not exist |
405 | Method not allowed — wrong HTTP verb |
500 | Internal server error |
502 | Bad gateway — upstream provider is unreachable |
Section 1 — Number Rentals
Rent temporary virtual phone numbers for SMS verification. Two provider portals are available:
| Portal | Provider | Identity |
|---|---|---|
portal1 | Portal 1 (BloomSMS) | REST JSON API with Bearer authentication |
portal2 | Portal 2 (DaisySMS) | Query-param API with URL-based authentication |
Workflow: List countries → List services → Rent a number → Poll for SMS → Cancel if unused. Both portals are queried transparently — you don't need to know which one owns your activation.
GET /countries
Returns a list of countries with available phone numbers for the specified portal.
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
portal | string | Yes | portal1 or portal2 |
Example Request
curl -X GET "https://api.logdomain.com/v1/countries?portal=portal1" \
-H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"status": "success",
"data": {
"portal": "portal1",
"provider": "Portal 1",
"count": 45,
"countries": [
{ "id": 12, "name": "United States", "code": "US" },
{ "id": 44, "name": "United Kingdom", "code": "GB" },
…
]
},
"errors": null
}
GET /services
Returns available services (apps/platforms) for a given portal and country, with final prices in NGN including platform markup.
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
portal | string | Yes | portal1 or portal2 |
country | string | Portal 1 only | Country ID (e.g. 12 for US) |
Example Request
curl -X GET "https://api.logdomain.com/v1/services?portal=portal1&country=12" \
-H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"status": "success",
"data": {
"portal": "portal1",
"provider": "Portal 1",
"country_id": "12",
"count": 28,
"services": [
{ "code": "wa", "name": "WhatsApp", "amount": "270.00", "currency": "NGN" },
{ "code": "tg", "name": "Telegram", "amount": "225.00", "currency": "NGN" },
…
]
},
"errors": null
}
GET /rent
Rent a virtual phone number. Your balance is deducted immediately. Save the transaction_id and activation_id — you'll need them to poll status and cancel.
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
portal | string | Yes | portal1 or portal2 |
country | string | Portal 1 only | Country ID |
code | string | Yes | Service code (e.g. wa, tg, go) |
Example Request
curl -X GET "https://api.logdomain.com/v1/rent?portal=portal1&country=12&code=wa" \
-H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"status": "success",
"message": "Number rented successfully.",
"data": {
"transaction_id": "TXN20260805_A3F8B2C1_D4E5F6",
"portal": "portal1",
"provider": "Portal 1",
"service": "wa",
"service_name": "WhatsApp",
"country_id": "12",
"activation_id": "ACT12345678",
"phone_number": "+12345678901",
"amount": "270.00",
"currency": "NGN",
"balance_before": "5000.00",
"balance_after": "4730.00",
"expires_at": "2026-08-05T15:00:00Z"
},
"errors": null
}
transaction_id and activation_id.
Use them to poll for SMS codes via GET /status and to cancel/refund via POST /status or POST /rental_cancel.
POST /rental_cancel
Cancel a rental and receive an automatic refund. The server checks both portals for the SMS status first — if a code was already received, cancellation is denied (the service was used).
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
list_id | string | Yes | The transaction_id returned by GET /rent |
Example Request
curl -X POST "https://api.logdomain.com/v1/rental_cancel" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"list_id": "TXN20260805_A3F8B2C1_D4E5F6"}'
Success Response
{
"status": "success",
"data": {
"list_id": "TXN…",
"activation_id": "ACT…",
"successful_provider": "Portal 1",
"refund": {
"balance_before": 4730,
"balance_after": 5000,
"refund_amount": 270
},
"transaction": {
"old_status": "pending",
"new_status": "refunded"
}
},
"errors": null
}
Already Cancelled (Idempotent)
{
"status": "success",
"data": {
"list_id": "TXN…",
"status": "refunded",
"message": "Transaction already refunded"
}
}
GET POST /status
Dual-method endpoint: Poll for SMS status (GET) or manually update an activation (POST). Auto-detects SMS codes, syncs them to your transaction history, and auto-refunds expired numbers.
GET Check Activation Status
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
activation_id | string | Yes | Activation ID from GET /rent |
Example Request
curl -X GET "https://api.logdomain.com/v1/status?activation_id=ACT12345678" \
-H "Authorization: Bearer YOUR_API_KEY"
Waiting for SMS
{
"data": {
"activation_id": "ACT…",
"portal": "Portal 1",
"status": "waiting",
"phone_number": "+12345678901"
}
}
SMS Received!
{
"data": {
"status": "code_received",
"sms": {
"code": "45678",
"full_text": "Your WhatsApp code is 45678"
}
}
}
Expired (Auto-Refunded)
{
"data": {
"status": "expired",
"refunded": true,
"refund": { "refund_amount": 270, "balance_after": 5000 },
"message": "Number has expired. Refund processed."
}
}
POST Update Activation Status
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
activation_id | string | Yes* | Activation ID. *Or use list_id |
list_id | string | Yes* | Alternative: transaction_id |
status | string | Yes | cancel or complete/done |
Cancel + Refund
curl -X POST "https://api.logdomain.com/v1/status" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"activation_id": "ACT…", "status": "cancel"}'
Mark as Complete
curl -X POST "https://api.logdomain.com/v1/status" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"activation_id": "ACT…", "status": "complete"}'
Common Service Codes
| Code | Service | Code | Service |
|---|---|---|---|
wa | tg | Telegram | |
ig | fb | ||
tw | Twitter/X | lf | TikTok |
go | ai | OpenAI/ChatGPT | |
ms | Microsoft | amazon | Amazon |
ds | Discord | sn | Snapchat |
si | Signal | tn | |
gp | Google Play | pp | PayPal |
yt | YouTube | sp | Spotify |
tb | Tinder | dd | DoorDash |
ub | Uber | airbnb | Airbnb |
vn | Venmo | cb | Cash App |
st | Stripe | ap | Apple |
Section 2 — Social Accounts
Purchase aged or fresh social media accounts across major platforms. Two provider portals for account sourcing:
| Portal | Provider | Description |
|---|---|---|
portal3 | Portal 3 | Social media account marketplace |
portal5 | Portal 5 | Social media account marketplace |
Planned endpoints: Browse available accounts by platform (Facebook, TikTok, Instagram, etc.), view account details (age, followers, verification status), purchase an account, and check order status.
🚧 These endpoints are currently in development and will be available in an upcoming release. The API key and authentication system will be shared with the Number Rentals section.
Section 3 — Social Boosting
Boost your social media presence with followers, likes, views, comments, and other engagement services. Two provider portals for boosting:
| Portal | Provider | Description |
|---|---|---|
portal4 | Portal 4 | Social media engagement & growth services |
portal6 | Portal 6 | Social media engagement & growth services |
Planned endpoints: Browse boost categories (followers, likes, views, comments, shares), view service details with pricing per quantity, place an order with a target URL/link, track order progress (pending → in progress → completed), and check delivery status.
🚧 These endpoints are currently in development and will be available in an upcoming release. The API key and authentication system will be shared with all other sections.
© 2026 Log Domain — API Documentation last updated August 5, 2026 · Section 1 (Number Rentals) fully available · Section 2 & Section 3 coming soon