Admin API v2 Reference
Complete RESTful API specifications for Nexa Follow Panel (SMM Origin / Perfect Panel standard). Authenticate requests using your Admin API key sent via X-Api-Key request header.
Authorization Header:
X-Api-Key: YOUR_ADMIN_API_KEY
Orders
Pull orders
Use this method to get Pending orders for manual services and automatically update their status to Processing after a successful request.
> **Note**: The method gives and processes only manual orders for the **last 90 days**.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| service_ids |
string |
Optional |
Use it to get only orders specified by a comma-separated list of service IDs. (Example: 2,34,55) |
| limit |
integer |
Optional |
Maximum number of returned orders. (Example: 10) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/orders/pull" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"service_ids": "2,34,55",
"limit": 10
}'
Get order list
Use this call to search and get a list of orders according to the filters described below.
> **Note**: By default, the method gives only orders for the **last 90 days**, except when **ids** or **external_order_ids** parameters are used or another period is selected in the parameters **created_from** and **created_to**.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
Optional |
Use it to get multiple orders specified by a comma-separated list of order IDs.
> If you need to get one order by ID - use the Get order method.
|
| external_order_ids |
string |
Optional |
Use it to get one or multiple orders specified by external (provider’s) order ID. |
| created_from |
integer |
Optional |
Order creation UNIX timestamp (lower bound). |
| created_to |
integer |
Optional |
Order creation UNIX timestamp (upper bound). |
| order_status |
undefined |
Optional |
Use it to filter orders by their status. |
| mode |
undefined |
Optional |
Use it to filter orders by their mode. |
| service_ids |
string |
Optional |
Use it to get only orders specified by a comma-separated list of service IDs. |
| creation_type |
undefined |
Optional |
Use it to filter orders by their creation type. |
| user |
string |
Optional |
Use it to get orders created by certain user. |
| provider |
string |
Optional |
Use it to get orders of certain provider by provider URL or alias. |
| ip_address |
string |
Optional |
Use it to get orders created from certain IP address. |
| link |
string |
Optional |
Use it to get orders specified by link. |
| offset |
integer |
Optional |
Offset from the beginning of the returned items list (for paging). |
| limit |
integer |
Optional |
Maximum number of returned orders. |
| sort |
string |
Optional |
Use it to sort orders by their created date. |
| include |
array |
Optional |
Comma-separated list of optional data blocks that should be included in the response.
To retrieve `provider_response`, **View provider response** access is required.
|
Request cURL Example
curl -X GET "https://nexafollow.in/adminapi/v2/orders" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Get order
Use this call to get all available information about an order referring to its ID.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| order_id |
integer |
REQUIRED |
Order ID |
Request cURL Example
curl -X GET "https://nexafollow.in/adminapi/v2/orders/{order_id}" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Update orders
Use this call to update statuses, start count or remains of one or multiple orders.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| orders |
array |
REQUIRED |
Array of orders to update. Maximum 100 orders per request. |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/orders/update" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"orders": "example_value"
}'
Edit order link
Use this call to change the order link referring to its ID.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| order_id |
integer |
REQUIRED |
Order ID |
| link |
string |
Optional |
Updated order link (Example: https://www.instagram.com/p/CnSqOBDrrCp/) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/orders/{order_id}/edit-link" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"link": "https://www.instagram.com/p/CnSqOBDrrCp/"
}'
Resend order
Use this call to resend one or more Fail orders. You could use Get order list, Get order methods to check if the Resend option is available for orders.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
REQUIRED |
The unique identifier of the order. Use it to resend one or multiple orders specified by a comma-separated list of order IDs. Maximum 100 IDs per request. (Example: 2,34,55) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/orders/resend" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ids": "2,34,55"
}'
Change status
Use this call to change status of one or more orders.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
REQUIRED |
The unique identifier of the order. Use this parameter to update one or multiple orders specified by a comma-separated list of order IDs. Maximum 100 IDs per request. (Example: 12,15,30,33,46) |
| status |
string |
REQUIRED |
Order status to be changed to. (Example: processing) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/orders/change-status" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ids": "12,15,30,33,46",
"status": "processing"
}'
Set partial
Use this call to set partial for an order referring to its ID.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| order_id |
integer |
REQUIRED |
The unique identifier of the order. |
| remains |
integer |
REQUIRED |
Order remains. The quantity left to fulfill the order. (Example: 544) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/orders/{order_id}/set-partial" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"remains": 544
}'
Request cancel
Use this call to request order cancellations and create the ‘Cancel’ task. This call allows you to send cancel requests for orders where the ‘Cancel’ button is available to the user.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
REQUIRED |
The unique identifier of the order. Use this parameter to request cancellations of one or multiple orders, specified by a comma-separated list of order IDs. Maximum 100 IDs per request. (Example: 12,15,30,33,46) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/orders/request-cancel" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ids": "12,15,30,33,46"
}'
Cancel and refund
Use this call to cancel and refund one or more orders.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
REQUIRED |
The unique identifier of the order. Use it to cancel and refund one or multiple orders specified by a comma-separated list of order IDs. Maximum 100 IDs per request. (Example: 12,33,46) |
| cancel_reason |
string |
Optional |
Use it to add cancel reason for users. If specified, the reason will be applied to all orders in the request. (Example: Incorrect link) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/orders/cancel" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ids": "12,33,46",
"cancel_reason": "Incorrect link"
}'
Cancel
Pull cancel tasks
Use this call to get one or more Pending ‘Cancel’ tasks for manual services and update their status to ‘Awaiting’.
> **Note**: The method gives and processes only manual Cancel tasks for the **last 90 days**.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| service_ids |
string |
Optional |
Use it to get only cancel tasks specified by a comma-separated list of service IDs. (Example: 123,556,765) |
| limit |
integer |
Optional |
Maximum number of cancel tasks to return. (Example: 10) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/cancel/pull" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"service_ids": "123,556,765",
"limit": 10
}'
Reject cancel
Use this call to set the Rejected status for one or more manual Cancel tasks.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
REQUIRED |
The unique identifier of cancel tasks. Use this parameter to reject manual cancel tasks specified by a comma-separated list of task IDs. Maximum 100 IDs per request. (Example: 12,33,46) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/cancel/reject" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ids": "12,33,46"
}'
Refill
Pull refill tasks
Use this call to get one or more manual Pending ‘Refill’ tasks and update their status to ‘Awaiting’.
> **Note**: The method gives and processes only manual Refill tasks for the **last 90 days**.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| service_ids |
string |
Optional |
Use it to get only refill tasks specified by a comma-separated list of service IDs. (Example: 123,556,765) |
| limit |
integer |
Optional |
Maximum number of refill tasks to return. (Example: 10) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/refill/pull" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"service_ids": "123,556,765",
"limit": 10
}'
Payments
Get payment list
Use this call to search and get a list of payments according to the filters described below.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
Optional |
Use it to get one or multiple payments specified by a comma-separated list of payment IDs.
|
| method |
string |
Optional |
Payment method used for the payment. This parameter allows filtering payments by one or multiple methods specified as a comma-separated list. |
| username |
string |
Optional |
Username of the user who created the payment. |
| user_email |
string |
Optional |
Email of the user who created the payment. |
| user_id |
integer |
Optional |
The unique identifier (user ID) of the user who created the payment. |
| payment_status |
string |
Optional |
Use it to filter payments by their status. |
| ip_address |
string |
Optional |
Use it to get payments created from certain IP address. |
| memo |
string |
Optional |
Payment memo. |
| created_from |
integer |
Optional |
Payment creation UNIX timestamp (lower bound). |
| created_to |
integer |
Optional |
Payment creation UNIX timestamp (upper bound). |
| mode |
string |
Optional |
Payment mode. Use it to filter payments by their mode. |
| offset |
integer |
Optional |
Offset from the beginning of the returned items list (for paging). |
| limit |
integer |
Optional |
Maximum number of returned payments. |
| sort |
string |
Optional |
Use it to sort payments by their created date. |
Request cURL Example
curl -X GET "https://nexafollow.in/adminapi/v2/payments" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Add payment
Use this call to add payments for your panel users.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/payments/add" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
General
Request cURL Example
curl -X COMPONENTS "https://nexafollow.in/adminapi/v2/payments/add" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Request cURL Example
curl -X COMPONENTS "https://nexafollow.in/adminapi/v2/users/add" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Request cURL Example
curl -X $REF "https://nexafollow.in/adminapi/v2/refill/change-status" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Users
Get user list
Use this call to search and get a list of users according to the filters described below.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
Optional |
Use it to get multiple users specified by a comma-separated list of user IDs. |
| username |
string |
Optional |
Use it to get a certain user by username. |
| email |
string |
Optional |
Use it to get a certain user by email address. |
| ip_addresses |
string |
Optional |
Use it to get multiple users specified by a comma-separated list of user IP addresses |
| status |
string |
Optional |
User status |
| offset |
integer |
Optional |
Offset from the beginning of the returned items list (for paging). |
| limit |
integer |
Optional |
Maximum number of returned users. |
| sort |
string |
Optional |
Use it to sort user by their created date. |
Request cURL Example
curl -X GET "https://nexafollow.in/adminapi/v2/users" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Add user
Use this call to add a user to your panel.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/users/add" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Edit user
Use this call to edit user information and manage their access to payment methods and services.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| user_id |
integer |
REQUIRED |
The unique identifier of the user |
| username |
string |
Optional |
Updated user's username (Example: john) |
| email |
string |
Optional |
Updated user's email address (Example: john@mail.com) |
| first_name |
string |
Optional |
Updated user's first name. Use `null` to clear the value (Example: John) |
| last_name |
string |
Optional |
Updated user's last name. Use `null` to clear the value (Example: Doe) |
| phone |
string |
Optional |
Updated user's phone number. Use `null` to clear the value (Example: (123) 456-7890) |
| whatsapp |
string |
Optional |
Updated user's whatsapp. Use `null` to clear the value (Example: john123) |
| telegram |
string |
Optional |
Updated user's telegram. Use `null` to clear the value (Example: john123) |
| website |
string |
Optional |
Updated user's website. Use `null` to clear the value (Example: https://johndoe.com) |
| skype |
string |
Optional |
Updated user's skype. Use `null` to clear the value (Example: john123) |
| invoice_details |
string |
Optional |
Updated user's invoice details used in generated invoices. Use `null` to clear the value (Example: John Doe/
Example Company
Tax ID: 123456789) |
| hidden_services |
string |
Optional |
Updated access to hidden services for the user (Example: allowed) |
| allow_methods |
array |
Optional |
Use it to allow specific payment methods for the user. Payment method IDs must not overlap with disallow_methods. (Example: 50,51) |
| disallow_methods |
array |
Optional |
Use it to disallow specific payment methods for the user. Payment method IDs must not overlap with allow_methods. (Example: 55) |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/users/{user_id}/edit" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"username": "john",
"email": "john@mail.com",
"first_name": "John",
"last_name": "Doe",
"phone": "(123) 456-7890",
"whatsapp": "john123",
"telegram": "john123",
"website": "https://johndoe.com",
"skype": "john123",
"invoice_details": "John Doe/\nExample Company\nTax ID: 123456789",
"hidden_services": "allowed",
"allow_methods": [
50,
51
],
"disallow_methods": [
55
]
}'
Tickets
Get ticket list
Use this call to search and get a list of tickets according to the filters described below.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ids |
string |
Optional |
Use it to get multiple tickets specified by a comma-separated list of ticket IDs. |
| message |
string |
Optional |
Use it to get all tickets that contain this message. |
| user |
string |
Optional |
Use it to get all tickets created by a certain user. |
| assignee |
string |
Optional |
Use it to get all tickets assigned to a certain staff. |
| status |
string |
Optional |
Use it to get all tickets of a certain status. |
| is_read |
boolean |
Optional |
Use it to get unread/read tickets by the staff. |
| offset |
integer |
Optional |
Offset from the beginning of the returned items list (for paging). |
| limit |
integer |
Optional |
Maximum number of returned items. |
Request cURL Example
curl -X GET "https://nexafollow.in/adminapi/v2/tickets" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Get ticket
Use this call to get all available information about a ticket referring to its ID.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ticket_id |
integer |
REQUIRED |
Ticket ID |
Request cURL Example
curl -X GET "https://nexafollow.in/adminapi/v2/tickets/{ticket_id}" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json"
Reply to a ticket
Use this call to reply to a ticket with a message from an admin.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| ticket_id |
integer |
REQUIRED |
The id of the ticket to reply. |
| staff_name |
string |
REQUIRED |
The staff (admin) name on whose behalf the reply is sent. |
| message |
string |
REQUIRED |
The text body of the reply. |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/tickets/{ticket_id}/reply" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"staff_name": "example_value",
"message": "example_value"
}'
Add ticket
Use this call to add a new ticket to your panel user.
Parameters & Body Schema
| Parameter |
Type |
Required |
Description |
| X-Api-Key |
string |
REQUIRED |
API key for authorization |
| staff_name |
string |
Optional |
Use it to specify the name of the staff member (admin) shown as the sender of the ticket message. |
| subject |
string |
REQUIRED |
The subject of the ticket. |
| message |
string |
REQUIRED |
The message text of the ticket. |
Request cURL Example
curl -X POST "https://nexafollow.in/adminapi/v2/tickets/add" \
-H "X-Api-Key: YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"staff_name": "example_value",
"subject": "example_value",
"message": "example_value"
}'