Api Documentation

Welcome to the Logspanel API Documentation. This guide helps you integrate securely with the Logspanel system by providing access to logs, categories, virtual numbers, SMS verification, and boosting services.

The API now uses token-based authentication. You must include your unique token in the Authorization header for all requests.

Example header:

Authorization: Bearer YOUR_TOKEN_HERE

This documentation covers:

  • Authentication via Token
  • Check Wallet Balance
  • Fetching Categories (with parent and log count)
  • Parent Categories
  • Purchasing Logs
  • SMS Number Purchase & Code Retrieval
  • Boosting Orders, Status Checks, and Cancellation

Base URL: https://logspanel.com

πŸ“Œ Endpoint
GET /api/check-balance
πŸ” Authentication

Authentication is handled using a Logspanel API Token. You must include your token in the Authorization header for every request.

Authorization: Bearer YOUR_API_TOKEN_HERE

You can generate or manage your API tokens from the Account page. Each token has specific abilities/scopes, e.g., check-balance.

πŸ“‹ Required Headers

Accept: application/json
Authorization: Bearer YOUR_API_TOKEN_HERE
            
🐘 PHP Example (Pure cURL)

<?php
$apiUrl = "https://logspanel.com/api/check-balance";
$apiToken = "YOUR_API_TOKEN_HERE"; // Replace with your Logspanel token

$ch = curl_init($apiUrl);

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "Authorization: Bearer {$apiToken}"
    ],
    CURLOPT_TIMEOUT => 30,
]);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo "cURL Error: " . curl_error($ch);
    curl_close($ch);
    exit;
}

curl_close($ch);

// Raw API response
echo $response;
            
βœ… Success Response (200 OK)

{
    "success": true,
    "data": {
        "balance": 5500,
        "name": "John Doe",
        "email": "[email protected]"
    }
}
            
🚫 Error Responses
  • 401 Unauthorized – Token missing or invalid
  • 403 Forbidden – Token does not have the check-balance ability
πŸ” Example cURL Request

curl -X GET https://logspanel.com/api/check-balance \
  -H "Accept: application/json" \
  -H "Authorization: Bearer 2|zHELaPBPe75YKmsDWaXg8JRrz8eV9RjAwzvvtBIFb152b72b"
            

Note: The balance, name, and email fields are returned inside the data object. Only tokens with the check-balance ability can access this endpoint.

Endpoint
GET /api/parent-categories
Authentication

Requires API token with the ability parent-categories-view. Include your token in the Authorization header.

Authorization: Bearer YOUR_API_KEY_HERE
Required Headers

Accept: application/json
Authorization: Bearer YOUR_API_KEY_HERE
            
PHP Example (cURL)

<?php

$apiUrl = "https://logspanel.com/api/parent-categories";
$apiKey = "YOUR_API_KEY_HERE";

$ch = curl_init($apiUrl);

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "Authorization: Bearer {$apiKey}"
    ],
    CURLOPT_TIMEOUT => 30,
]);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo "cURL Error: " . curl_error($ch);
    curl_close($ch);
    exit;
}

curl_close($ch);

echo $response;
            
Success Response (200 OK)

[
    {
        "id": 1,
        "name": "General",
        "image_slug": "https://logspanel.com/storage/uploads/parent_categories/general.png"
    },
    {
        "id": 2,
        "name": "Premium",
        "image_slug": "https://logspanel.com/storage/uploads/parent_categories/premium.png"
    }
]
            
Error Responses
  • 401 Unauthorized – Invalid or missing API token
  • 403 Forbidden – Token does not have parent-categories-view ability
Usage Tips:
  • Use this endpoint to fetch all parent categories for logs.
  • Ideal for populating dropdown filters or grouping logs on your frontend.
  • Requires authentication; make sure the API token has the parent-categories-view ability.

Endpoint: GET /api/categories

Authentication

Requires API Token generated from your account. Include it in the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE
Query Parameters (optional):
  • parent_category_id – Filter categories by parent category ID (integer)
Headers:
Accept: application/json
Authorization: Bearer YOUR_API_KEY_HERE
      
PHP Example:

<?php
$apiUrl = "https://logspanel.com/api/categories";
$apiKey = "YOUR_API_KEY_HERE";

$ch = curl_init($apiUrl);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "Authorization: Bearer {$apiKey}"
    ],
    CURLOPT_TIMEOUT => 30,
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
      
Success Response (200 OK)

[
  {
    "id": 23,
    "category_name": "USA Outlook",
    "category_image": "https://example.com/storage/uploads/log_categories/usa_outlook.png",
    "category_price": 5000,
    "count": 12,
    "parent_category": {
      "id": 390,
      "name": "General",
      "image_slug": "https://example.com/storage/uploads/parent_categories/general.png"
    }
  },
  {
    "id": 24,
    "category_name": "Gmail Combo",
    "category_image": "https://example.com/storage/uploads/log_categories/gmail_combo.png",
    "category_price": 3000,
    "count": 5,
    "parent_category": {
      "id": 390,
      "name": "General",
      "image_slug": "https://example.com/storage/uploads/parent_categories/general.png"
    }
  }
]
      
Error Responses:
  • 401 Unauthorized – Invalid or missing API token
  • 403 Forbidden – Token does not have the required ability
  • 404 Not Found – No categories found (if applicable)
Usage Tips:
  • Use this endpoint to fetch log categories with their parent category and available logs count.
  • Add ?parent_category_id=<id> to filter categories under a specific parent.
  • Ideal for dropdown filters or categorized listings on your frontend.

Endpoint
GET /api/categories-with-logs
Authentication

Authentication is handled using a API Token. The token must have the categories-view ability.

Authorization: Bearer YOUR_API_KEY_HERE
Query Parameters (optional)
  • parent_category_id – Filter categories by parent category ID (integer). If null or omitted, all categories with logs are returned.
Required Headers

Accept: application/json
Authorization: Bearer YOUR_API_KEY_HERE
      
PHP Example (Pure cURL)

<?php

$apiUrl = "https://logspanel.com/api/categories-with-logs";
$apiKey = "YOUR_API_KEY_HERE"; // Replace with your API token

// Optional query parameter
$parentCategoryId = null; // set null or omit to fetch all categories

$url = $apiUrl;
if (!is_null($parentCategoryId)) {
    $url .= "?parent_category_id={$parentCategoryId}";
}

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "Authorization: Bearer {$apiKey}"
    ],
    CURLOPT_TIMEOUT => 30,
]);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo "cURL Error: " . curl_error($ch);
    curl_close($ch);
    exit;
}

curl_close($ch);

echo $response;
      
Success Response (200 OK)

[
  {
    "id": 12,
    "category_name": "UK Fullz",
    "category_image": "https://logspanel.com/storage/uploads/log_categories/uk_fullz.png",
    "category_price": 4500,
    "count": 7,
    "parent_category": {
      "id": 390,
      "name": "General",
      "image_slug": "https://logspanel.com/storage/uploads/parent_categories/general.png"
    }
  },
  {
    "id": 14,
    "category_name": "Canadian Logs",
    "category_image": "https://logspanel.com/storage/uploads/log_categories/canada.png",
    "category_price": 6000,
    "count": 3,
    "parent_category": {
      "id": 391,
      "name": "Premium",
      "image_slug": "https://logspanel.com/storage/uploads/parent_categories/premium.png"
    }
  }
]
      
Example cURL Request (All categories with logs)

curl -X GET https://logspanel.com/api/categories-with-logs \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_HERE"
      
Example cURL Request (Filtered by parent_category_id)

curl -X GET "https://logspanel.com/api/categories-with-logs?parent_category_id=390" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_HERE"
      
Example cURL Request (parent_category_id=null)

curl -X GET "https://logspanel.com/api/categories-with-logs?parent_category_id=" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_HERE"
      
Error Responses
  • 401 Unauthorized – Invalid or missing API token
  • 403 Forbidden – Token does not have categories-view ability
  • 404 – No categories found (empty or invalid filter)
  • 500 – Internal server error
Usage Notes
  • Returns only categories that have logs available (logs count > 0).
  • Supports filtering via ?parent_category_id=<id> to target a specific parent category.
  • If parent_category_id is null or omitted, all categories with logs are returned.
  • Perfect for frontend listings where only active categories are needed.

Endpoint
POST /api/buy-log
Authentication

Requires a valid API token with the buy-log ability.

Authorization: Bearer YOUR_API_KEY_HERE
Headers

Accept: application/json
Authorization: Bearer YOUR_API_KEY_HERE
Content-Type: application/json
      
Request Body
{
  "cat_id": 23,
  "log_quantity": 2
}
PHP Example (Pure cURL)

<?php

$apiUrl = "https://logspanel.com/api/buy-log";
$apiKey = "YOUR_API_KEY_HERE"; // API token with buy-log ability

$data = [
    "cat_id" => 23,
    "log_quantity" => 2
];

$ch = curl_init($apiUrl);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($data),
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "Authorization: Bearer {$apiKey}",
        "Content-Type: application/json"
    ],
    CURLOPT_TIMEOUT => 30,
]);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo "cURL Error: " . curl_error($ch);
    curl_close($ch);
    exit;
}

curl_close($ch);
echo $response;
      
Success Response – 200 OK

{
  "message": "Log(s) purchased successfully",
  "order_id": "ABCD123XYZ",
  "log_details": [
    "1. [email protected] | password123",
    "2. [email protected] | password321"
  ],
  "amount_paid": 10500,
  "category_name": "UK Bank Logs",
  "category_image": "https://logspanel.com/images/categories/ukbank.png"
}
      
Example cURL Request

curl -X POST https://logspanel.com/api/buy-log \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"cat_id":23, "log_quantity":2}'
      
Error Responses
  • 400 – Not enough logs available
  • 401 – Unauthorized (missing or invalid token)
  • 403 – Insufficient funds
  • 404 – Log category not found
  • 422 – Validation failed (missing or invalid fields)
  • 500 – Internal server error
Usage Notes
  • Check balance using /api/check-balance before attempting a purchase.
  • Ensure cat_id exists by calling /api/categories-with-logs.
  • amount_paid includes price + profit per log Γ— quantity.
  • log_details contains purchased logs as individual strings.
  • Use category_name and category_image to display purchased log type in your frontend.

Get Available Countries

Endpoint: GET /api/number/countries

Headers:
Accept: application/json
Authorization: Bearer {YOUR_API_TOKEN}
Success Response:
{
  "success": true,
  "countries": [
    {
      "id": 1,
      "name": "United States",
      "short_name": "us",
      "cc": 1,
      "region": "North America",
      "flag_url": "https://flagcdn.com/20x15/us.png"
    },
    {
      "id": 53,
      "name": "Mexico",
      "short_name": "mx",
      "cc": 52,
      "region": "North America",
      "flag_url": "https://flagcdn.com/20x15/mx.png"
    }
  ]
}
Example PHP cURL:
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://logspanel.com/api/number/countries",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "Authorization: Bearer YOUR_API_TOKEN"
    ],
]);

$response = curl_exec($curl);
curl_close($curl);

$data = json_decode($response, true);
print_r($data);

Get Services for a Country

Endpoint: POST /api/number/services

Authentication:

This endpoint requires Bearer Token authentication. The API token must include the following ability:

number-services-view
Headers:
Accept: application/json
Content-Type: application/json
Authorization: Bearer {YOUR_API_TOKEN}
Request Body:
{
  "country_id": 1
}
Success Response:
{
  "success": true,
  "country": {
    "id": 1,
    "name": "United States",
    "code": "us"
  },
  "services": [
    {
      "service_id": "telegram",
      "service_name": "Telegram",
      "country_id": 1,
      "country_name": "United States",
      "short_name": "us",
      "pool": "premium",
      "usd_price": 0.25,
      "price_naira": 1875.00
    },
    {
      "service_id": "whatsapp",
      "service_name": "WhatsApp",
      "country_id": 1,
      "country_name": "United States",
      "short_name": "us",
      "pool": "standard",
      "usd_price": 0.20,
      "price_naira": 1800.00
    }
  ]
}
Error Responses:
  • 401 Unauthorized – Missing or invalid API token
  • 403 Forbidden – Token does not have number-services-view ability
  • 500 Server Error – SMSPool API or internal failure
PHP cURL Example:
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://logspanel.com/api/number/services",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "Content-Type: application/json",
        "Authorization: Bearer YOUR_API_TOKEN"
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "country_id" => 1
    ]),
]);

$response = curl_exec($curl);
curl_close($curl);

$data = json_decode($response, true);
print_r($data);

Note: This endpoint now requires authentication. Prices are calculated using live exchange rates + platform's configured markup.

Endpoint: POST /api/number/purchase-sms

Authentication:

This endpoint requires Bearer Token authentication. The API token must include the following ability:

number-purchase
Headers:
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
Content-Type: application/json
Request Body:
{
  "country_id": "1",
  "service_id": "1",
  "pool": "7"   // Optional (defaults to 7)
}
Success Response – 200 OK:
{
  "success": true,
  "order_id": "DVULMHZM",
  "number": "12514077564",
  "amount_paid": 3200,
  "status": "STATUS_WAIT_CODE",
  "timestamp": "2025-06-29T16:00:00Z"
}
PHP cURL Example:
<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://logspanel.com/api/number/purchase-sms",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_TOKEN",
        "Accept: application/json",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "country_id" => "1",
        "service_id" => "1",
        "pool"       => "7"
    ]),
]);

$response = curl_exec($curl);

if (curl_errno($curl)) {
    echo 'Curl error: ' . curl_error($curl);
}

curl_close($curl);

$result = json_decode($response, true);
print_r($result);
Error Responses:
  • 401 Unauthorized – Missing or invalid API token
  • 400 Bad Request – Out of stock or provider error
  • 422 Unprocessable Entity – Validation failed
  • 500 Server Error – Internal or third-party API failure
Tips:
  • Always check balance using /api/check-balance before purchase.
  • pool defaults to 7 if omitted.
  • Amount charged = SMSPool price Γ— exchange rate + markup.
  • Purchased numbers must be checked using /api/number/check-sms.

Endpoint: POST /api/number/check-sms

Headers:
Authorization: Bearer <YOUR_API_TOKEN>
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Request Body:
request_id=DVULMHZM
Success Responses – 200 OK:
Code Received:
{
  "status": "3",
  "message": "Code received successfully.",
  "code": "487203",
  "action_status": 1
}
Still Waiting:
{
  "status": "3",
  "message": "Still waiting for SMS code.",
  "action_status": 0
}
Refund Successful:
{
  "status": "6",
  "message": "The order has been cancelled and refunded successfully.",
  "action_status": 1
}
Refund Pending:
{
  "status": "6",
  "message": "Refund not available yet. Please wait.",
  "action_status": 0
}
PHP cURL Example:
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://logspanel.com/api/number/check-sms",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_TOKEN",
        "Accept: application/json",
        "Content-Type: application/x-www-form-urlencoded"
    ],
    CURLOPT_POSTFIELDS => "request_id=DVULMHZM",
]);

$response = curl_exec($curl);
curl_close($curl);

$data = json_decode($response, true);
print_r($data);
Error Responses:
  • error – Request not found or already closed
  • error – Code already received
  • error – User not authenticated or refund failed
  • error – API connection or third-party error
Tips:
  • Only use this endpoint after a successful purchase from /api/number/purchase-sms.
  • If status is 6, refund is only processed after 20 minutes of inactivity.
  • You can poll this endpoint every 15–30 seconds until status = 3 or 6.

Endpoint: POST /api/number/cancel-order

Authentication:

This endpoint requires API authentication. Your API token must include the following ability:

number-cancel-order
Headers:
Authorization: Bearer <your_token>
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Request Body:
request_id=DVULMHZM
Success Response – 200 OK:
{
  "status": true,
  "message": "The order has been cancelled and refunded successfully.",
  "action_status": 1,
  "html": "<span class='text-success'>The order has been cancelled and refunded successfully.</span>"
}
Example cURL Request:
curl -X POST https://logspanel.com/api/number/cancel-order \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "request_id=DVULMHZM"
PHP cURL Example:
<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://logspanel.com/api/number/cancel-order",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_TOKEN",
        "Accept: application/json",
        "Content-Type: application/x-www-form-urlencoded",
    ],
    CURLOPT_POSTFIELDS => http_build_query([
        'request_id' => 'DVULMHZM'
    ]),
]);

$response = curl_exec($curl);

if (curl_errno($curl)) {
    echo 'Curl error: ' . curl_error($curl);
}

curl_close($curl);

$result = json_decode($response, true);
print_r($result);
Error Responses:
  • status: false – Unauthorized (missing or invalid token)
  • status: false – Order not found
  • status: false – Code already received; refund not allowed
  • status: false – Order already refunded
  • status: false – API or server error
Tips:
  • You can only cancel orders that have not received a code and are not yet refunded.
  • Cancellation refunds are processed instantly when supported by SMSPool.
  • Always ensure the API token includes the number-cancel-order permission.

Endpoint: GET /api/boost/categories

Returns a distinct list of all available social media service categories, including how many services belong to each category.

Headers:

Authorization: Bearer <your_token>
Accept: application/json
Success Response – 200 OK:

{
  "status": true,
  "message": "Distinct categories with service count retrieved successfully.",
  "data": [
    {
      "category": "Instagram Followers",
      "count": 8
    },
    {
      "category": "TikTok Views",
      "count": 5
    }
  ]
}
Example cURL Request:

curl -X GET https://logspanel.com/api/boost/categories \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
PHP cURL Example:

<?php

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => "https://logspanel.com/api/boost/categories",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_TOKEN",
        "Accept: application/json"
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Error Responses:
  • 401 Unauthorized – Missing or invalid token
  • 500 Server Error – Provider or internal failure
Notes:
  • Categories are grouped case-insensitively but returned as-is.
  • Some categories may include emojis or special characters.
  • Use this endpoint to build filters, tabs, or dropdown menus.
  • Only authenticated API tokens can access this endpoint.

Endpoint: GET /api/boost/category/{category}

This endpoint returns all available boosting services under a specific category. Prices are dynamically calculated and returned in Nigerian Naira (₦).

Headers:

Authorization: Bearer <your_token>
Accept: application/json
URL Parameter:
  • category – Service category name (e.g. instagram followers, tiktok views)
Success Response – 200 OK:

{
  "status": true,
  "message": "Filtered services retrieved successfully.",
  "category": "instagram followers",
  "data": [
    {
      "service_id": "8231",
      "name": "Instagram Followers [High Quality]",
      "category": "Instagram Followers",
      "price_naira": 1200.00
    }
  ]
}
Error Response – 404 Not Found:

{
  "status": false,
  "message": "No services found for this category.",
  "data": []
}
Example cURL Request:

curl -X GET https://logspanel.com/api/boost/category/instagram%20followers \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
PHP cURL Example:

<?php
// IMPORTANT: encode real UTF-8 category
$category = rawurlencode('Buy Facebook Group Members – Real & Active Users');

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => "https://logspanel.com/api/boost/category/" . $category,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $api_token",
        "Accept: application/json"
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Error Responses:
  • 401 Unauthorized – Missing or invalid API token
  • 403 Forbidden – Token lacks boost-read-services ability
  • 404 Not Found – No services for the given category
  • 500 Server Error – Exchange rate or provider error
Notes:
  • Dynamic Pricing: Prices are calculated in real-time.
  • Forex Buffer: A ₦200 buffer is added to exchange rate.
  • Markup: Configurable percentage gain is applied.
  • Case-Insensitive: Category matching ignores case.
  • URL Encoding: Categories with spaces or emojis must be URL-encoded.
  • Use with Categories API: Fetch valid categories from /api/boost/categories.

Endpoint: GET /api/boost/services/{service_id}

Returns full details for a specific boost service including pricing, limits, refill support, and optional descriptions.

Headers:

Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
            
Token Ability Required:
boost-read-service-details
URL Parameter:
  • service_id – Unique service identifier (e.g. 7993)
Success Response – 200 OK:
{
  "status": true,
  "message": "Service details fetched successfully.",
  "data": {
    "service_id": "7993",
    "name": "Facebook Followers [All Type Profile/Page]",
    "category": "Facebook",
    "type": "Default",
    "rate": 1621.15,
    "min": 100,
    "max": 500000,
    "dripfeed": false,
    "refill": true,
    "cancel": false,
    "description": "This service provides real, high-quality followers."
  }
}
Error Responses:
{
  "status": false,
  "message": "Unauthorized."
}
{
  "status": false,
  "message": "Forbidden. Invalid token ability."
}
{
  "status": false,
  "message": "Service not found"
}
PHP cURL Example:
<?php
$apiToken = "YOUR_API_TOKEN";
$serviceId = "7993";

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => "https://logspanel.com/api/boost/services/" . $serviceId,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $apiToken",
        "Accept: application/json"
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
            
Notes:
  • Prices are converted from USD to NGN using live exchange rate + markup.
  • +200 margin is added to exchange rate for buffer.
  • Descriptions are optionally loaded from public/bstingfile.json.
  • Service matching is case-insensitive.

Endpoint: /api/boost/order

Method: POST

Authentication: Bearer Token with boost-create-order ability

Description: Place a social media boost order for supported services. Rate is calculated internally using exchange rate and markup. Users must have sufficient balance.

Headers:

Accept: application/json
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
        
Example cURL Request:

curl -X POST https://logspanel.com/api/boost/order \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "service": "7993",
  "type": "Default",
  "link": "https://instagram.com/yourtargetlink",
  "quantity": 500
}'
        
PHP cURL Example:

<?php
$apiUrl = "https://logspanel.com/api/boost/order";
$apiKey = "YOUR_API_KEY";

$data = [
    "service" => "7993",
    "type" => "Default",
    "link" => "https://instagram.com/yourtargetlink",
    "quantity" => 500
];

$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Accept: application/json",
    "Authorization: Bearer $apiKey",
    "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
print_r($result);
?>
        

Base Parameters

Field Type Required Description
servicestringβœ”Service ID from /api/boost/services
typestringβœ”Service type/category (Default, Custom Comments, Mentions, Subscriptions, etc.)
linkstringConditionalTarget content URL. Required by most types.
quantityintegerConditionalAmount of boost units. Must be within min/max bounds fetched internally.
runsintegerOptionalFor Default type: Number of runs
intervalintegerOptionalFor Default type: Interval between runs (seconds)
commentsstring/JSONConditionalRequired for Custom Comments and Comment Replies
usernamesstringConditionalRequired for Mentions services (comma-separated or array)
hashtagsstringConditionalRequired for Mentions with Hashtags
usernamestringConditionalRequired for Subscriptions, Mentions User Followers, Comment Likes, Comment Replies
minintegerConditionalMinimum quantity for Subscriptions
maxintegerConditionalMaximum quantity for Subscriptions
delayintegerConditionalDelay between subscription deliveries
expiryintegerOptionalExpiration of subscription service (days)
postsintegerOptionalPost restriction for Subscriptions (0 = all)
groupsstringConditionalRequired for Invites from Groups
mediastringConditionalRequired for Mentions Media Likers or Package type

Rules by type

  • link - required
  • quantity - required
  • runs, interval - optional

  • link - required
  • comments - required (string or JSON array)

  • link - required
  • quantity - required
  • usernames - required
  • hashtags - required

  • link - required
  • usernames - required

  • link - required
  • quantity - required
  • hashtag - required

  • link - required
  • quantity - required
  • username - required

  • link - required
  • quantity - required
  • media - required (for Mentions Media Likers)

  • username, min, max, delay - required
  • expiry, posts - optional

  • link, quantity, username - required

  • link, quantity, answer_number - required

  • link, username, comments - required

  • link, quantity, groups - required
Notes & Best Practices:
  • Rate, min, max: Calculated internally. Do not send these values. Pricing integrity is enforced.
  • Authentication: Must use a valid Bearer token with boost-create-order ability.
  • Insufficient Balance: Orders rejected if user balance < computed rate.
  • Quantity: Must respect internal min/max limits; otherwise 422 error returned.
  • Comments / Mentions: Must be strings or JSON arrays depending on type.
  • Mentions: Comma-separated usernames/hashtags or arrays if using programmatically.
Success Response Example (200):

{
  "status": 1,
  "message": "Order placed successfully",
  "data": {
    "order_id": "12345678-abcd-efgh-ijkl-9876543210",
    "service": "7993",
    "service_name": "Instagram Likes Package",
    "quantity": 500,
    "amount_paid": 1500,
    "cancel": true
  }
}
        
Error Response Examples:

// Unauthenticated
{ "status": 0, "message": "Unauthorized." }

// Token missing ability
{ "status": 0, "message": "Forbidden. Invalid token ability." }

// Invalid quantity
{ "status": 0, "errors": { "quantity": ["The quantity must be between 100 and 5000."] } }

// Insufficient balance
{ "status": 0, "message": "Insufficient funds" }

// Service not found
{ "status": 0, "message": "Service not found" }

// API failure
{ "status": 0, "message": "Failed to process order" }
        

Endpoint: /api/boost/status

Method: POST

Authentication: Token-based (with ability boost-status)

Description: Retrieve the current status of a previously placed boost order. This can include statuses like Pending, Processing, Completed, Canceled, or Partial, along with delivery stats.

Headers:

Accept: application/json
Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN
Content-Type: application/json
      
Example cURL Request:

curl -X POST https://logspanel.com/api/boost/status \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "order_id": "123456789"
}'
      
PHP cURL Example:

<?php
$apiUrl = "https://logspanel.com/boost/status";
$token = "YOUR_PERSONAL_ACCESS_TOKEN";

$data = json_encode([
    "order_id" => "123456789"
]);

$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Accept: application/json",
    "Authorization: Bearer $token",
    "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    $result = json_decode($response, true);
    print_r($result);
}

curl_close($ch);
?>
      

Parameters

Field Type Required Description
order_id string yes The ID of the boost order you want to check the status for

Sample Success Response

{
  "status": true,
  "message": "Boost order status retrieved successfully.",
  "data": {
    "charge": "0.00",
    "start_count": "0",
    "status": "Canceled",
    "remains": "100",
    "currency": "USD"
  }
}
      

Sample Error Response

{
  "status": false,
  "message": "Failed to fetch status: Order not found"
}
      
πŸ’‘ Notes:
  • order_id is required and must match an existing boost order placed through your account.
  • Typical statuses: Pending, Processing, Completed, Canceled, or Partial.
  • start_count refers to the number of followers/views/likes when the order started.
  • remains tells you how many units are yet to be delivered.
  • charge shows how much the order cost (in external currency).
  • The currency returned is usually USD.
  • The token **must have the ability** boost-status to access this endpoint.

Endpoint: /api/boost/cancel

Method: POST

Authentication: Bearer Token (Required, ability: boost-cancel)

Description: Request to cancel a specific boost order. Eligible orders will be refunded and marked as canceled.

Headers:

Accept: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
      
Example cURL Request:

curl -X POST https://logspanel.com/api/boost/cancel \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "order_id": "123456789"
}'
      
PHP cURL Example:

<?php
$apiUrl = "https://logspanel.com/api/boost/cancel";
$token = "YOUR_ACCESS_TOKEN";

$data = json_encode([
    "order_id" => "123456789"
]);

$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Accept: application/json",
    "Authorization: Bearer $token",
    "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);
if(curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    $result = json_decode($response, true);
    print_r($result);
}
curl_close($ch);
?>
      

Parameters

Field Type Required Description
order_id string yes The ID of the boost order you want to cancel.

Sample Success Response

{
  "order_id": "123456789",
  "status": "Canceled",
  "cancel": 1,
  "message": "Boost order cancelled and processed successfully."
}

Sample Error Response

{
  "order_id": "123456789",
  "status": "Not Found",
  "cancel": 0,
  "message": "Boost order not found or you do not have permission."
}
πŸ’‘ Notes:
  • order_id must belong to the authenticated user.
  • Only orders that are eligible (not Completed or already Canceled) can be canceled.
  • Upon successful cancellation, the user's wallet is refunded automatically.
  • If the order is already completed, cancellation may fail depending on the external API.
Loading