API Documentation - ResellPortal

ResellPortal API

Integrate 26+ white-label services directly into your application. Create clients, provision services, and manage subscriptions programmatically.

Base URL
https://panel.resellportal.com/wp-json/resellportal/v1/
📌 Get Your API Credentials: Log in to your ResellPortal Panel to access your API Key and API Secret under the API Access section.

Authentication

All API requests require authentication using your API Key and API Secret in the request headers.

Required Headers
X-API-Key: your_api_key
X-API-Secret: your_api_secret
Content-Type: application/json

Core Resources

GET /balance Get your current wallet balance
Response
{
  "success": true,
  "balance": 150.00,
  "currency": "USD"
}
GET /products List all available products and pricing
Response
{
  "success": true,
  "products": [
    {
      "key": "ai_business_tools",
      "name": "AI Business Suite",
      "description": "AI-powered tools for business"
    },
    {
      "key": "vpn",
      "name": "VPN Service",
      "pricing": {
        "monthly": 6.00,
        "annual": 54.00
      }
    }
  ]
}
GET /clients List all your clients
Response
{
  "success": true,
  "clients": [
    {
      "id": 123,
      "name": "John Doe",
      "email": "john@example.com",
      "created_at": "2025-01-15"
    }
  ]
}
POST /clients Create a new client
Request Body
{
  "name": "John Doe",
  "email": "john@example.com",
  "phone": "+1234567890",
  "company": "Acme Inc"
}
Response
{
  "success": true,
  "client_id": 123,
  "message": "Client created successfully"
}
GET /services List all services

Query Parameters: ?status=active (optional)

Response
{
  "success": true,
  "services": [
    {
      "id": 456,
      "client_id": 123,
      "service_type": "web_hosting",
      "status": "active",
      "monthly_cost": 15.00
    }
  ]
}

Helper APIs

Use these endpoints to fetch data needed for creating orders.

GET /esim-packages Search 2000+ E-SIM packages

Query Parameters: ?location=US (optional country code)

Response
{
  "success": true,
  "packages": [
    {
      "package_code": "PHAJHEAYP",
      "name": "United States 1GB 7Days",
      "price": 1.80,
      "location": "US"
    }
  ]
}
GET /smm-services Search 150+ SMM services

Query Parameters: ?search=instagram

Response
{
  "success": true,
  "services": [
    {
      "service_id": "1234",
      "name": "Instagram Followers [Real]",
      "rate_per_1000": 2.50
    }
  ]
}

Creating Orders

All orders use POST /orders. The request body changes based on the product_key.

POST /orders AI Business Tools
Request Body
{
  "client_id": 123,
  "product_key": "ai_business_tools",
  "ai_tools": ["ai_voice_agent", "ai_live_chat_bot"]
}
Response
{
  "success": true,
  "service_id": 456,
  "message": "AI Business Tools activated",
  "tools_activated": ["AI Voice Agent", "AI Live Chat Bot"],
  "amount_charged": 45.00,
  "new_balance": 105.00
}
POST /orders VPN Service
Request Body
{
  "client_id": 123,
  "product_key": "vpn",
  "billing_cycle": "monthly"
}
Response
{
  "success": true,
  "service_id": 597,
  "message": "VPN Service activated successfully",
  "billing_cycle": "monthly",
  "amount_charged": 6.00,
  "new_balance": 144.00,
  "vpn_credentials": {
    "username": "johndoe123",
    "password": "generatedPass"
  }
}
POST /orders E-SIM Data Plans

Get package_code from GET /esim-packages first.

Request Body
{
  "client_id": 123,
  "product_key": "esim",
  "package_code": "PHAJHEAYP"
}
Response
{
  "success": true,
  "service_id": 789,
  "message": "E-SIM activated successfully",
  "package": {
    "name": "United States 1GB 7Days",
    "location": "US"
  },
  "amount_charged": 1.80,
  "esim_details": {
    "qr_code_url": "https://...",
    "iccid": "8901234567890123456"
  }
}
POST /orders Web Hosting (cPanel)
Request Body
{
  "client_id": 123,
  "product_key": "web_hosting",
  "cpanel_username": "clientuser",
  "primary_domain": "clientdomain.com",
  "billing_cycle": "monthly"
}
Response
{
  "success": true,
  "service_id": 635,
  "message": "Web Hosting activated successfully",
  "hosting": {
    "username": "clientuser",
    "domain": "clientdomain.com",
    "password": "generatedPass123"
  },
  "amount_charged": 15.00
}
POST /orders Invoice AI
Request Body
{
  "client_id": 123,
  "product_key": "invoice_ai",
  "subdomain": "clientbrand",
  "business_name": "Acme Corp"
}
Response
{
  "success": true,
  "service_id": 599,
  "message": "Invoice AI activated successfully",
  "portal": {
    "subdomain": "clientbrand",
    "url": "https://clientbrand.invoicepaypro.com",
    "business_name": "Acme Corp"
  },
  "amount_charged": 10.00,
  "client_credentials": {
    "email": "client@example.com",
    "password": "generatedPass123"
  }
}
POST /orders Appointment Booking
Request Body
{
  "client_id": 123,
  "product_key": "appointments",
  "subdomain": "citysalon",
  "business_name": "City Salon"
}
Response
{
  "success": true,
  "service_id": 600,
  "message": "Appointment Booking activated successfully",
  "booking_page": {
    "subdomain": "citysalon",
    "url": "https://citysalon.quickreserve.net",
    "business_name": "City Salon"
  },
  "amount_charged": 20.00
}
POST /orders SMM Services

Get service_id from GET /smm-services first.

Request Body
{
  "client_id": 123,
  "product_key": "smm",
  "service_id": "1234",
  "link": "https://instagram.com/user",
  "quantity": 1000
}
Response
{
  "success": true,
  "service_id": 601,
  "message": "SMM order placed successfully",
  "order": {
    "smm_order_id": "789456",
    "service_name": "Instagram Followers [Real]",
    "quantity": 1000,
    "status": "pending"
  },
  "amount_charged": 2.50
}
POST /orders Domain Registration

Check availability with GET /domain-search first.

Request Body
{
  "client_id": 123,
  "product_key": "domain_registration",
  "domain": "mybusiness.com",
  "ns1": "ns1.hostingprovider.com",
  "ns2": "ns2.hostingprovider.com"
}
Response
{
  "success": true,
  "service_id": 605,
  "message": "Domain mybusiness.com registered successfully",
  "domain": {
    "name": "mybusiness.com",
    "expiration": "2027-01-20 12:00:00",
    "nameservers": {
      "ns1": "ns1.hostingprovider.com",
      "ns2": "ns2.hostingprovider.com"
    }
  },
  "amount_charged": 27.00
}
POST /orders Document Signing Software
Request Body
{
  "client_id": 123,
  "product_key": "docsign",
  "company_name": "Acme Legal Services",
  "billing_cycle": "monthly"
}
Response
{
  "success": true,
  "service_id": 610,
  "message": "Document Signing Software activated",
  "portal": {
    "company_name": "Acme Legal Services",
    "login_url": "https://yourbrand.docsigner.app"
  },
  "amount_charged": 8.00,
  "client_credentials": {
    "email": "client@example.com",
    "password": "generatedPass123"
  }
}
POST /orders CRM System
Request Body
{
  "client_id": 123,
  "product_key": "crm",
  "subdomain": "acmesales",
  "billing_cycle": "monthly"
}
Response
{
  "success": true,
  "service_id": 615,
  "message": "CRM System provisioning started",
  "portal": {
    "subdomain": "acmesales",
    "url": "https://acmesales.crmdesk.net"
  },
  "amount_charged": 15.00,
  "note": "CRM deployment takes ~30 seconds"
}
POST /orders Website Builder
Request Body
{
  "client_id": 123,
  "product_key": "website_builder",
  "billing_cycle": "monthly"
}
Response
{
  "success": true,
  "service_id": 620,
  "message": "Website Builder activated successfully",
  "billing_cycle": "monthly",
  "amount_charged": 10.00,
  "client_credentials": {
    "email": "client@example.com",
    "password": "generatedPass123"
  }
}
POST /orders WordPress Plugin Installer
Request Body
{
  "client_id": 123,
  "product_key": "wp_plugin_installer",
  "plugin_name": "My Custom Tool",
  "description": "Plugin description",
  "author": "Your Company"
}
Response
{
  "success": true,
  "service_id": 625,
  "message": "WordPress Plugin Installer Pack activated",
  "plugin": {
    "name": "My Custom Tool",
    "author": "Your Company",
    "license_key": "RPWPI-A1B2C3D4-E5F6G7H8"
  },
  "amount_charged": 10.00
}
POST /orders Social Media Automation
Request Body
{
  "client_id": 123,
  "product_key": "social_media_automation",
  "billing_cycle": "monthly"
}
Response
{
  "success": true,
  "service_id": 630,
  "message": "Social Media Automation activated",
  "billing_cycle": "monthly",
  "amount_charged": 15.00,
  "credentials": {
    "email": "client@example.com",
    "password": "generatedPass123"
  }
}