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
email 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.
email 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
email 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...
Response Preview 200 OK
Select an API category to view sample payload