Reseller API Reference
Welcome to the NexoraFox Reseller API documentation. This API allows external resellers to programmatically search catalog offerings, verify client accounts, register end-users, and generate payment links for service provisioning.
API Endpoint Details
All API endpoints described in this guide are prefix-grouped under: https://cloud.nexorafox.in/api/reseller/v1
Authentication
Reseller requests must authenticate by sending the active reseller token key inside the request headers or request parameters.
To acquire your reseller key, go to the Admin dashboard settings and create a new Reseller API Key.
| Header Key | Type | Description |
|---|---|---|
| X-Reseller-Key | string | Your custom reseller token (e.g. rfx_xxx...). Prefixing it with Authorization: Bearer rfx_xxx is also supported. |
Error Handling
All responses return JSON payloads. If a query is successful, the payload includes "success": true. In the event of a failure, it will contain "success": false along with a detailed error message describing the reason.
List Categories
GET
/categories
Retrieves all root service categories with their corresponding child categories. Useful for rendering navigation submenus or filters on the reseller side.
List Products
GET
/products
Lists available catalog items with their corresponding price configurations and structural specs.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| category_id | integer | Optional | Filter products by category ID. |
| type | string | Optional | Filter by module type (pterodactyl, cyberpanel, virtualizor, easypanel). |
Get Product Info
GET
/products/{id}
Retrieves specific hardware specs, description, pricing tiers and metadata details for a particular service offering.
Check User Email
GET
🔑 Auth
/users/check
Checks whether an email address is already registered on the cloud system. Resellers can use this to determine if they need to prompt the user to register or create their user account automatically.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Required | The target email address to verify. |
Create User
POST
🔑 Auth
/users
Registers a new client account on the platform, automatically pre-verifying the email so they can log in immediately.
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Required | User's full name. |
| string | Required | Unique email address. | |
| password | string | Required | Password (min 8 characters). |
Create Order
POST
🔑 Auth
/orders
Generates a service checkout token and payment URL. If the email doesn't exist, passing the user_name creates the user automatically. Supports both new purchases (via product_id) and renewals (via service_id).
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_email | string | Required | User's email address. |
| product_id | integer | Conditional | Target product database ID. Required unless service_id is provided. |
| service_id | integer | Conditional | Target service/host database ID. Required for service renewals unless product_id is provided. |
| billing_cycle | string | Optional | One of: hourly, weekly, monthly, yearly (Default: monthly or the service's current billing cycle). |
| user_name | string | Optional | Required if the email is not registered yet (enables auto user registration). Only applicable for new purchases. |
Payment Callbacks
Admins can configure a webhook URL and/or success redirect URL in Admin > Settings > Reseller API. The webhook is sent server-to-server after a payment is verified, so it works even when the customer closes the browser.
Webhook
The configured URL receives a POST request with JSON:
{
"event": "payment.completed",
"data": {
"order_id": 42,
"token": "AbCdEf...",
"status": "paid",
"amount": 299.0,
"currency": "INR",
"transaction_id": "cf_order_123",
"paid_at": "2026-09-04T12:00:00+00:00",
"user": { "id": 5, "name": "John Doe", "email": "customer@example.com" },
"service_id": 17,
"invoice_id": 88,
"service_status": "pending"
}
}
If a webhook secret is configured, verify the X-NexoraFox-Signature header as sha256=HMAC_SHA256(raw_request_body, secret). Return a 2xx response after accepting the event.
Success Redirect
After the hosted payment page succeeds, the customer is redirected to the configured URL with event, order_id, token, status, amount, currency, and transaction_id query parameters. Use the webhook as the trusted server-side signal; the redirect is for updating the customer's browser.
Get Order Details
GET
🔑 Auth
/orders/{token}
Check transaction status, payment execution state, currency amount, and service deployment status using the order token returned from the order creation endpoint.
List Your Orders
GET
🔑 Auth
/orders
Paginated history of all orders created by the reseller API key. Ideal for reseller billing panels or bot administration summaries.
Get User Services
GET
🔑 Auth
/user-services
Retrieves all cloud hosting packages, active nodes, billing intervals and deployment statuses associated with a specific customer email.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Required | User email address. |
Renew Service
POST
🔑 Auth
/services/{id}/renew
Generates a renewal invoice and payment link specifically linked to an existing service/host. Use this to allow clients to renew active or suspended services.
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| expires_in | integer | Optional | Payment link expiration time in hours (Default: 24). |
| billing_cycle | string | Optional | Renew with a different cycle: hourly, weekly, monthly, or yearly. |
| notes | string | Optional | Internal notes linked to the checkout. |
Loading snippet...
Select an API category to view sample payload