2025-12-12 15:07:46 +03:00
|
|
|
openapi: 3.0.3
|
|
|
|
|
info:
|
|
|
|
|
title: XUI.ONE Admin API
|
|
|
|
|
description: |
|
2025-12-12 15:48:13 +03:00
|
|
|
**Comprehensive API documentation for XUI.ONE IPTV Panel Administration**
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
### 🎯 Quick Start
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
This API provides programmatic access to manage your IPTV platform with 180+ endpoints for:
|
|
|
|
|
- 📺 Manage subscriptions (Lines, MAG, Enigma2 devices)
|
|
|
|
|
- 🎬 Control streams, channels, movies, and series
|
|
|
|
|
- 📊 Monitor connections and activity logs
|
|
|
|
|
- ⚙️ Configure servers and load balancers
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
---
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
### 🔗 Base URL Pattern
|
2025-12-12 15:07:46 +03:00
|
|
|
|
|
|
|
|
```
|
2025-12-12 15:55:31 +03:00
|
|
|
{protocol}://YOUR_SERVER:{port}/<Access-Code>/?api_key=<API-KEY>&action=ACTION
|
2025-12-12 15:07:46 +03:00
|
|
|
```
|
|
|
|
|
|
2025-12-12 15:55:31 +03:00
|
|
|
**Customize:**
|
|
|
|
|
- `{protocol}` → http or https
|
|
|
|
|
- `YOUR_SERVER` → Your server domain/IP (e.g., 192.168.1.100)
|
|
|
|
|
- `{port}` → Your port (80, 8000, 9000, or custom)
|
2025-12-12 15:48:13 +03:00
|
|
|
- `<Access-Code>` → Your access code (e.g., `cSbuFLhp`)
|
|
|
|
|
- `<API-KEY>` → Your API key
|
|
|
|
|
- `ACTION` → API action name (e.g., `get_lines`)
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:55:31 +03:00
|
|
|
**Common Ports:**
|
|
|
|
|
- `80` - HTTP (default)
|
|
|
|
|
- `8000` - HTTP (alternative)
|
|
|
|
|
- `9000` - HTTPS (recommended)
|
|
|
|
|
- Custom - Any port you configured
|
|
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
---
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
### 🔐 Authentication Setup
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
**Required:**
|
|
|
|
|
1. XUI.ONE panel installed (v1.5.5+)
|
|
|
|
|
2. Admin API access code created
|
|
|
|
|
3. API key generated from profile
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
**Quick Setup:**
|
|
|
|
|
1. Panel → Management → Access Control → Access Codes
|
|
|
|
|
2. Create "Admin API" access code
|
|
|
|
|
3. Profile → Generate API Key
|
|
|
|
|
4. Test: `curl "http://your-server.com/<Access-Code>/?api_key=<API-KEY>&action=user_info"`
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
📖 **[View detailed setup guide →](https://github.com/worldofiptvcom/xui-one-api-docs/blob/main/docs/getting-started.md)**
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
---
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
### 📝 Request Methods
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
**GET** - Query data
|
2025-12-12 15:07:46 +03:00
|
|
|
```
|
2025-12-12 15:48:13 +03:00
|
|
|
/?api_key=<API-KEY>&action=get_lines
|
2025-12-12 15:07:46 +03:00
|
|
|
```
|
|
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
**POST** - Create/update data
|
2025-12-12 15:07:46 +03:00
|
|
|
```
|
2025-12-12 15:48:13 +03:00
|
|
|
curl -X POST ".../?api_key=<API-KEY>&action=create_line" -d "username=test"
|
2025-12-12 15:07:46 +03:00
|
|
|
```
|
|
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
---
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
### ✅ Response Format
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
**Success:**
|
2025-12-12 15:07:46 +03:00
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": "STATUS_SUCCESS",
|
2025-12-12 15:48:13 +03:00
|
|
|
"data": { ... }
|
2025-12-12 15:07:46 +03:00
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
**Error:**
|
2025-12-12 15:07:46 +03:00
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": "STATUS_FAILURE",
|
2025-12-12 15:48:13 +03:00
|
|
|
"error": "Error description"
|
2025-12-12 15:07:46 +03:00
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
---
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
### 🔒 Security Best Practices
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
- ✅ Use HTTPS (port 9000) in production
|
|
|
|
|
- ✅ Whitelist IPs in access code settings
|
|
|
|
|
- ✅ Rotate API keys regularly
|
|
|
|
|
- ✅ Never commit keys to version control
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
---
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
### 📚 Resources
|
2025-12-12 15:07:46 +03:00
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
- **GitHub:** [Documentation Repository](https://github.com/worldofiptvcom/xui-one-api-docs)
|
|
|
|
|
- **Community:** [World of IPTV Forums](https://www.worldofiptv.com)
|
|
|
|
|
- **Getting Started:** [Setup Guide](https://github.com/worldofiptvcom/xui-one-api-docs/blob/main/docs/getting-started.md)
|
|
|
|
|
- **XUI.ONE:** [Official Website](https://xui.one)
|
2025-12-12 15:07:46 +03:00
|
|
|
|
|
|
|
|
version: 1.5.13
|
|
|
|
|
contact:
|
|
|
|
|
name: XUI.ONE API Support
|
|
|
|
|
url: https://xui.one
|
|
|
|
|
license:
|
|
|
|
|
name: Proprietary
|
|
|
|
|
url: https://xui.one
|
|
|
|
|
|
|
|
|
|
servers:
|
2025-12-12 15:55:31 +03:00
|
|
|
- url: '{protocol}://{server}:{port}/{accessCode}'
|
|
|
|
|
description: XUI.ONE API Server (Customizable)
|
2025-12-12 15:07:46 +03:00
|
|
|
variables:
|
2025-12-12 15:55:31 +03:00
|
|
|
protocol:
|
|
|
|
|
default: http
|
|
|
|
|
description: Protocol (http or https)
|
|
|
|
|
enum:
|
|
|
|
|
- http
|
|
|
|
|
- https
|
2025-12-12 15:07:46 +03:00
|
|
|
server:
|
|
|
|
|
default: your-server.com
|
2025-12-12 15:55:31 +03:00
|
|
|
description: Your XUI.ONE server IP or domain (e.g., 192.168.1.100 or panel.yourdomain.com)
|
2025-12-12 15:07:46 +03:00
|
|
|
port:
|
|
|
|
|
default: '80'
|
2025-12-12 15:55:31 +03:00
|
|
|
description: API port (80 for HTTP, 9000 for HTTPS, or custom port)
|
2025-12-12 15:07:46 +03:00
|
|
|
accessCode:
|
|
|
|
|
default: cSbuFLhp
|
|
|
|
|
description: Your unique access code for API access
|
|
|
|
|
|
|
|
|
|
security:
|
|
|
|
|
- ApiKeyAuth: []
|
|
|
|
|
|
|
|
|
|
tags:
|
|
|
|
|
- name: Authentication
|
|
|
|
|
description: Authentication and authorization operations
|
|
|
|
|
- name: GET INFO
|
|
|
|
|
description: Query and retrieve information
|
|
|
|
|
- name: Logs & Events
|
|
|
|
|
description: Activity logs, connections, and monitoring
|
|
|
|
|
- name: Line API
|
|
|
|
|
description: Subscription line management
|
|
|
|
|
- name: User API
|
|
|
|
|
description: User account management
|
|
|
|
|
- name: MAG API
|
|
|
|
|
description: MAG device management
|
|
|
|
|
- name: Enigma API
|
|
|
|
|
description: Enigma2 STB management
|
|
|
|
|
- name: Streams API
|
|
|
|
|
description: Live stream management
|
|
|
|
|
- name: Channel API
|
|
|
|
|
description: Channel management
|
|
|
|
|
- name: Station API
|
|
|
|
|
description: Radio station management
|
|
|
|
|
- name: Movie API
|
|
|
|
|
description: VOD movie management
|
|
|
|
|
- name: Series API
|
|
|
|
|
description: Series management
|
|
|
|
|
- name: Episode API
|
|
|
|
|
description: Episode management
|
|
|
|
|
- name: Servers API
|
|
|
|
|
description: Server and load balancer management
|
|
|
|
|
- name: Settings & System
|
|
|
|
|
description: System settings and administrative functions
|
|
|
|
|
|
|
|
|
|
paths:
|
|
|
|
|
/:
|
|
|
|
|
get:
|
|
|
|
|
summary: API Base Endpoint
|
|
|
|
|
description: |
|
|
|
|
|
Base endpoint for all API requests. All actions are performed by adding the `action` parameter.
|
|
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
**Usage Pattern:**
|
2025-12-12 15:07:46 +03:00
|
|
|
```
|
2025-12-12 15:48:13 +03:00
|
|
|
/?api_key=<API-KEY>&action=ACTION_NAME¶m1=value1
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Example:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=user_info"
|
2025-12-12 15:07:46 +03:00
|
|
|
```
|
|
|
|
|
operationId: apiBase
|
|
|
|
|
tags:
|
|
|
|
|
- Authentication
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- $ref: '#/components/parameters/Action'
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Successful response
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
oneOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
- $ref: '#/components/schemas/ErrorResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
'500':
|
|
|
|
|
$ref: '#/components/responses/ServerError'
|
|
|
|
|
|
|
|
|
|
/?action=user_info:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Current User Info
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves information about the currently authenticated admin user.
|
|
|
|
|
|
2025-12-12 15:48:13 +03:00
|
|
|
**Purpose:** Verify API authentication and check admin privileges.
|
|
|
|
|
|
|
|
|
|
---
|
2025-12-12 15:07:46 +03:00
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=user_info"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Example Response:**
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": "STATUS_SUCCESS",
|
|
|
|
|
"data": {
|
|
|
|
|
"id": "1",
|
|
|
|
|
"username": "admin",
|
|
|
|
|
"member_group_id": "1",
|
|
|
|
|
"email": "admin@example.com",
|
|
|
|
|
"date_registered": "1609459200",
|
|
|
|
|
"last_login": "1734048000",
|
|
|
|
|
"status": "1"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
2025-12-12 15:48:13 +03:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Test API authentication
|
|
|
|
|
- ✅ Verify admin access
|
|
|
|
|
- ✅ Get current user details
|
|
|
|
|
- ✅ Check account status
|
2025-12-12 15:07:46 +03:00
|
|
|
operationId: getUserInfo
|
|
|
|
|
tags:
|
|
|
|
|
- Authentication
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
2025-12-12 15:48:13 +03:00
|
|
|
description: Action to perform
|
2025-12-12 15:07:46 +03:00
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [user_info]
|
|
|
|
|
example: user_info
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
2025-12-12 15:48:13 +03:00
|
|
|
description: Current user information retrieved successfully
|
2025-12-12 15:07:46 +03:00
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
- type: object
|
|
|
|
|
properties:
|
|
|
|
|
data:
|
|
|
|
|
$ref: '#/components/schemas/UserInfo'
|
|
|
|
|
example:
|
|
|
|
|
status: "STATUS_SUCCESS"
|
|
|
|
|
data:
|
|
|
|
|
id: "1"
|
|
|
|
|
username: "admin"
|
|
|
|
|
member_group_id: "1"
|
|
|
|
|
email: "admin@example.com"
|
|
|
|
|
date_registered: "1609459200"
|
|
|
|
|
last_login: "1734048000"
|
|
|
|
|
status: "1"
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
2025-12-12 16:18:18 +03:00
|
|
|
/?action=get_lines:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Subscription Lines
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all subscription lines in your XUI.ONE panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View and manage all active and inactive subscription lines.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_lines"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all subscriptions
|
|
|
|
|
- ✅ Monitor active lines
|
|
|
|
|
- ✅ Export subscription data
|
|
|
|
|
- ✅ Check expiration dates
|
|
|
|
|
- ✅ View connection limits
|
|
|
|
|
operationId: getLines
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_lines]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all subscription lines
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
- type: object
|
|
|
|
|
properties:
|
|
|
|
|
data:
|
|
|
|
|
type: array
|
|
|
|
|
items:
|
|
|
|
|
$ref: '#/components/schemas/Line'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_users:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Users
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all user accounts in your XUI.ONE panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all admin, reseller, and user accounts.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_users"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all users
|
|
|
|
|
- ✅ View user roles and permissions
|
|
|
|
|
- ✅ Audit user accounts
|
|
|
|
|
- ✅ Export user data
|
|
|
|
|
operationId: getUsers
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_users]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all users
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_streams:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Live Streams
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all live TV streams configured in your panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all live streaming channels and their configurations.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_streams"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all live streams
|
|
|
|
|
- ✅ Check stream status
|
|
|
|
|
- ✅ View stream sources
|
|
|
|
|
- ✅ Monitor stream health
|
|
|
|
|
- ✅ Export stream configurations
|
|
|
|
|
operationId: getStreams
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_streams]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all live streams
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_channels:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Channels
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all channels configured in your panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all channel configurations and metadata.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_channels"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all channels
|
|
|
|
|
- ✅ View channel categories
|
|
|
|
|
- ✅ Check EPG data
|
|
|
|
|
- ✅ Export channel list
|
|
|
|
|
operationId: getChannels
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_channels]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all channels
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_movies:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Movies
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all VOD movies in your panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all movie content and metadata.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_movies"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all movies
|
|
|
|
|
- ✅ View movie metadata (title, year, rating)
|
|
|
|
|
- ✅ Check movie availability
|
|
|
|
|
- ✅ Export movie catalog
|
|
|
|
|
- ✅ Monitor storage usage
|
|
|
|
|
operationId: getMovies
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_movies]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all movies
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_series_list:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Series
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all TV series in your panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all series content and metadata.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_series_list"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all TV series
|
|
|
|
|
- ✅ View series metadata
|
|
|
|
|
- ✅ Check episode counts
|
|
|
|
|
- ✅ Export series catalog
|
|
|
|
|
operationId: getSeriesList
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_series_list]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all series
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_episodes:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Episodes
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all episodes across all series.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all episode content and metadata.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_episodes"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Note:** To get episodes for a specific series, use the series_id parameter.
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all episodes
|
|
|
|
|
- ✅ View episode metadata
|
|
|
|
|
- ✅ Check episode availability
|
|
|
|
|
- ✅ Filter by series
|
|
|
|
|
operationId: getEpisodes
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_episodes]
|
|
|
|
|
- name: series_id
|
|
|
|
|
in: query
|
|
|
|
|
required: false
|
|
|
|
|
description: Filter episodes by series ID
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of episodes
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_mags:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All MAG Devices
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all MAG devices configured in your panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all MAG set-top box subscriptions.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_mags"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all MAG devices
|
|
|
|
|
- ✅ View MAC addresses
|
|
|
|
|
- ✅ Check device status
|
|
|
|
|
- ✅ Monitor connections
|
|
|
|
|
operationId: getMags
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_mags]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all MAG devices
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_enigmas:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Enigma2 Devices
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all Enigma2 devices configured in your panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all Enigma2 STB subscriptions.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_enigmas"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all Enigma2 devices
|
|
|
|
|
- ✅ View device status
|
|
|
|
|
- ✅ Check expiration dates
|
|
|
|
|
- ✅ Monitor connections
|
|
|
|
|
operationId: getEnigmas
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_enigmas]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all Enigma2 devices
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_stations:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Radio Stations
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all radio stations configured in your panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all radio streaming channels.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_stations"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all radio stations
|
|
|
|
|
- ✅ View station metadata
|
|
|
|
|
- ✅ Check stream sources
|
|
|
|
|
- ✅ Export station list
|
|
|
|
|
operationId: getStations
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_stations]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all radio stations
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=get_packages:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get All Packages
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves a list of all subscription packages (bouquets) in your panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View all available subscription packages and their configurations.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_packages"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ List all packages
|
|
|
|
|
- ✅ View package pricing
|
|
|
|
|
- ✅ Check channel assignments
|
|
|
|
|
- ✅ Export package configurations
|
|
|
|
|
operationId: getPackages
|
|
|
|
|
tags:
|
|
|
|
|
- GET INFO
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_packages]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: List of all packages
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
2025-12-12 16:27:33 +03:00
|
|
|
/?action=get_line:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Specific Line Details
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves detailed information about a specific subscription line by ID.
|
|
|
|
|
|
|
|
|
|
**Purpose:** View detailed information for a single line.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=get_line&id=123"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ View specific line details
|
|
|
|
|
- ✅ Check line status before editing
|
|
|
|
|
- ✅ Verify line configuration
|
|
|
|
|
- ✅ Audit line settings
|
|
|
|
|
operationId: getLine
|
|
|
|
|
tags:
|
|
|
|
|
- Line API
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [get_line]
|
|
|
|
|
- name: id
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
description: Line ID
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Line details retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
- type: object
|
|
|
|
|
properties:
|
|
|
|
|
data:
|
|
|
|
|
$ref: '#/components/schemas/Line'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
'404':
|
|
|
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
|
|
|
|
|
|
/?action=create_line:
|
|
|
|
|
post:
|
|
|
|
|
summary: Create New Subscription Line
|
|
|
|
|
description: |
|
|
|
|
|
Creates a new subscription line (M3U/Xtream Codes account).
|
|
|
|
|
|
|
|
|
|
**Purpose:** Add new subscriptions to your panel.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl -X POST "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=create_line" \
|
|
|
|
|
-d "username=newuser" \
|
|
|
|
|
-d "password=newpass123" \
|
|
|
|
|
-d "max_connections=1" \
|
|
|
|
|
-d "exp_date=2025-12-31" \
|
|
|
|
|
-d "bouquets_selected[]=1" \
|
|
|
|
|
-d "bouquets_selected[]=2"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Response Example:**
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": "STATUS_SUCCESS",
|
|
|
|
|
"data": {
|
|
|
|
|
"line_id": "456",
|
|
|
|
|
"username": "newuser",
|
|
|
|
|
"password": "newpass123"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Create new subscriptions
|
|
|
|
|
- ✅ Add trial accounts
|
|
|
|
|
- ✅ Set up reseller lines
|
|
|
|
|
- ✅ Bulk create accounts
|
|
|
|
|
operationId: createLine
|
|
|
|
|
tags:
|
|
|
|
|
- Line API
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [create_line]
|
|
|
|
|
requestBody:
|
|
|
|
|
required: true
|
|
|
|
|
content:
|
|
|
|
|
application/x-www-form-urlencoded:
|
|
|
|
|
schema:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- username
|
|
|
|
|
- password
|
|
|
|
|
properties:
|
|
|
|
|
username:
|
|
|
|
|
type: string
|
|
|
|
|
description: Username for the line
|
|
|
|
|
example: "newuser"
|
|
|
|
|
password:
|
|
|
|
|
type: string
|
|
|
|
|
description: Password for the line
|
|
|
|
|
example: "newpass123"
|
|
|
|
|
max_connections:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Maximum concurrent connections
|
|
|
|
|
default: 1
|
|
|
|
|
example: 1
|
|
|
|
|
exp_date:
|
|
|
|
|
type: string
|
|
|
|
|
description: Expiration date (YYYY-MM-DD, Unix timestamp, or relative like "1month", "1year")
|
|
|
|
|
example: "2025-12-31"
|
|
|
|
|
is_trial:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Trial account (0 = No, 1 = Yes)
|
|
|
|
|
enum: [0, 1]
|
|
|
|
|
default: 0
|
|
|
|
|
example: 0
|
|
|
|
|
is_restreamer:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Reseller status (0 = No, 1 = Yes)
|
|
|
|
|
enum: [0, 1]
|
|
|
|
|
default: 0
|
|
|
|
|
example: 0
|
|
|
|
|
bouquets_selected:
|
|
|
|
|
type: array
|
|
|
|
|
description: Array of bouquet/package IDs to assign
|
|
|
|
|
items:
|
|
|
|
|
type: integer
|
|
|
|
|
example: [1, 2, 3]
|
|
|
|
|
notes:
|
|
|
|
|
type: string
|
|
|
|
|
description: Admin notes
|
|
|
|
|
example: "Premium customer"
|
|
|
|
|
contact:
|
|
|
|
|
type: string
|
|
|
|
|
description: Contact information
|
|
|
|
|
example: "customer@example.com"
|
|
|
|
|
isp_lock:
|
|
|
|
|
type: string
|
|
|
|
|
description: Lock to specific IP address
|
|
|
|
|
example: "192.168.1.100"
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Line created successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=edit_line:
|
|
|
|
|
post:
|
|
|
|
|
summary: Edit Existing Line
|
|
|
|
|
description: |
|
|
|
|
|
Modifies an existing subscription line.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Update line settings and configuration.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl -X POST "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=edit_line" \
|
|
|
|
|
-d "id=123" \
|
|
|
|
|
-d "password=newpassword" \
|
|
|
|
|
-d "max_connections=2"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Change passwords
|
|
|
|
|
- ✅ Update connection limits
|
|
|
|
|
- ✅ Modify expiration dates
|
|
|
|
|
- ✅ Change assigned packages
|
|
|
|
|
- ✅ Update notes
|
|
|
|
|
operationId: editLine
|
|
|
|
|
tags:
|
|
|
|
|
- Line API
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [edit_line]
|
|
|
|
|
requestBody:
|
|
|
|
|
required: true
|
|
|
|
|
content:
|
|
|
|
|
application/x-www-form-urlencoded:
|
|
|
|
|
schema:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- id
|
|
|
|
|
properties:
|
|
|
|
|
id:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Line ID to edit
|
|
|
|
|
example: 123
|
|
|
|
|
username:
|
|
|
|
|
type: string
|
|
|
|
|
description: New username
|
|
|
|
|
example: "updateduser"
|
|
|
|
|
password:
|
|
|
|
|
type: string
|
|
|
|
|
description: New password
|
|
|
|
|
example: "newpass456"
|
|
|
|
|
max_connections:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Maximum concurrent connections
|
|
|
|
|
example: 2
|
|
|
|
|
exp_date:
|
|
|
|
|
type: string
|
|
|
|
|
description: New expiration date
|
|
|
|
|
example: "2026-12-31"
|
|
|
|
|
is_trial:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Trial status
|
|
|
|
|
enum: [0, 1]
|
|
|
|
|
example: 0
|
|
|
|
|
bouquets_selected:
|
|
|
|
|
type: array
|
|
|
|
|
description: Updated bouquet IDs
|
|
|
|
|
items:
|
|
|
|
|
type: integer
|
|
|
|
|
example: [1, 2, 3, 4]
|
|
|
|
|
notes:
|
|
|
|
|
type: string
|
|
|
|
|
description: Updated notes
|
|
|
|
|
example: "Extended subscription"
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Line updated successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
'404':
|
|
|
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
|
|
|
|
|
|
/?action=delete_line:
|
|
|
|
|
post:
|
|
|
|
|
summary: Delete Line
|
|
|
|
|
description: |
|
|
|
|
|
Permanently deletes a subscription line.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Remove lines from the panel.
|
|
|
|
|
|
|
|
|
|
⚠️ **Warning:** This action cannot be undone!
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl -X POST "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=delete_line" \
|
|
|
|
|
-d "id=123"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Remove expired subscriptions
|
|
|
|
|
- ✅ Delete test accounts
|
|
|
|
|
- ✅ Clean up old lines
|
|
|
|
|
operationId: deleteLine
|
|
|
|
|
tags:
|
|
|
|
|
- Line API
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [delete_line]
|
|
|
|
|
requestBody:
|
|
|
|
|
required: true
|
|
|
|
|
content:
|
|
|
|
|
application/x-www-form-urlencoded:
|
|
|
|
|
schema:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- id
|
|
|
|
|
properties:
|
|
|
|
|
id:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Line ID to delete
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Line deleted successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
'404':
|
|
|
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
|
|
|
|
|
|
/?action=enable_line:
|
|
|
|
|
post:
|
|
|
|
|
summary: Enable Line
|
|
|
|
|
description: |
|
|
|
|
|
Enables a disabled subscription line.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Reactivate suspended lines.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl -X POST "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=enable_line" \
|
|
|
|
|
-d "id=123"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Reactivate suspended accounts
|
|
|
|
|
- ✅ Resume service after payment
|
|
|
|
|
- ✅ Restore access
|
|
|
|
|
operationId: enableLine
|
|
|
|
|
tags:
|
|
|
|
|
- Line API
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [enable_line]
|
|
|
|
|
requestBody:
|
|
|
|
|
required: true
|
|
|
|
|
content:
|
|
|
|
|
application/x-www-form-urlencoded:
|
|
|
|
|
schema:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- id
|
|
|
|
|
properties:
|
|
|
|
|
id:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Line ID to enable
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Line enabled successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
'404':
|
|
|
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
|
|
|
|
|
|
/?action=disable_line:
|
|
|
|
|
post:
|
|
|
|
|
summary: Disable Line
|
|
|
|
|
description: |
|
|
|
|
|
Disables an active subscription line without deleting it.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Temporarily suspend access.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl -X POST "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=disable_line" \
|
|
|
|
|
-d "id=123"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Suspend non-payment accounts
|
|
|
|
|
- ✅ Temporarily block access
|
|
|
|
|
- ✅ Pause service
|
|
|
|
|
operationId: disableLine
|
|
|
|
|
tags:
|
|
|
|
|
- Line API
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [disable_line]
|
|
|
|
|
requestBody:
|
|
|
|
|
required: true
|
|
|
|
|
content:
|
|
|
|
|
application/x-www-form-urlencoded:
|
|
|
|
|
schema:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- id
|
|
|
|
|
properties:
|
|
|
|
|
id:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Line ID to disable
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Line disabled successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
'404':
|
|
|
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
|
|
|
|
|
|
/?action=ban_line:
|
|
|
|
|
post:
|
|
|
|
|
summary: Ban Line
|
|
|
|
|
description: |
|
|
|
|
|
Bans a subscription line, blocking access and preventing reactivation.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Permanently block abusive or fraudulent accounts.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl -X POST "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=ban_line" \
|
|
|
|
|
-d "id=123"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Block fraudulent accounts
|
|
|
|
|
- ✅ Prevent abuse
|
|
|
|
|
- ✅ Enforce terms of service
|
|
|
|
|
operationId: banLine
|
|
|
|
|
tags:
|
|
|
|
|
- Line API
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [ban_line]
|
|
|
|
|
requestBody:
|
|
|
|
|
required: true
|
|
|
|
|
content:
|
|
|
|
|
application/x-www-form-urlencoded:
|
|
|
|
|
schema:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- id
|
|
|
|
|
properties:
|
|
|
|
|
id:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Line ID to ban
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Line banned successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
'404':
|
|
|
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
|
|
|
|
|
|
/?action=unban_line:
|
|
|
|
|
post:
|
|
|
|
|
summary: Unban Line
|
|
|
|
|
description: |
|
|
|
|
|
Removes ban from a previously banned line.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Restore access to banned accounts.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl -X POST "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=unban_line" \
|
|
|
|
|
-d "id=123"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Unban false positives
|
|
|
|
|
- ✅ Restore access after appeal
|
|
|
|
|
- ✅ Second chances
|
|
|
|
|
operationId: unbanLine
|
|
|
|
|
tags:
|
|
|
|
|
- Line API
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [unban_line]
|
|
|
|
|
requestBody:
|
|
|
|
|
required: true
|
|
|
|
|
content:
|
|
|
|
|
application/x-www-form-urlencoded:
|
|
|
|
|
schema:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- id
|
|
|
|
|
properties:
|
|
|
|
|
id:
|
|
|
|
|
type: integer
|
|
|
|
|
description: Line ID to unban
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Line unbanned successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
'404':
|
|
|
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
|
|
2025-12-12 16:32:31 +03:00
|
|
|
/?action=activity_logs:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Activity Logs
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves activity logs showing admin and user actions in the panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Monitor all administrative actions and changes.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=activity_logs"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Audit admin actions
|
|
|
|
|
- ✅ Track changes to configurations
|
|
|
|
|
- ✅ Monitor user behavior
|
|
|
|
|
- ✅ Security auditing
|
|
|
|
|
- ✅ Troubleshooting issues
|
|
|
|
|
operationId: activityLogs
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [activity_logs]
|
|
|
|
|
- name: limit
|
|
|
|
|
in: query
|
|
|
|
|
description: Number of records to return
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
default: 100
|
|
|
|
|
example: 50
|
|
|
|
|
- name: offset
|
|
|
|
|
in: query
|
|
|
|
|
description: Offset for pagination
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
default: 0
|
|
|
|
|
example: 0
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Activity logs retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=live_connections:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Live Connections
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves list of currently active connections to your streams.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Monitor real-time viewer activity.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=live_connections"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Monitor active viewers
|
|
|
|
|
- ✅ Track concurrent connections
|
|
|
|
|
- ✅ Detect connection sharing
|
|
|
|
|
- ✅ View viewer locations
|
|
|
|
|
- ✅ Check stream load
|
|
|
|
|
operationId: liveConnections
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [live_connections]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Live connections retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=credit_logs:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Credit Transaction Logs
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves credit transaction history for resellers.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Track credit additions, deductions, and transfers.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=credit_logs"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Audit credit transactions
|
|
|
|
|
- ✅ Track reseller spending
|
|
|
|
|
- ✅ Monitor credit transfers
|
|
|
|
|
- ✅ Financial reporting
|
|
|
|
|
operationId: creditLogs
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [credit_logs]
|
|
|
|
|
- name: user_id
|
|
|
|
|
in: query
|
|
|
|
|
description: Filter by specific user ID
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Credit logs retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=client_logs:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Client Connection Logs
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves client connection attempt logs.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Monitor client connection history and patterns.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=client_logs"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Track connection attempts
|
|
|
|
|
- ✅ Detect suspicious activity
|
|
|
|
|
- ✅ Monitor client devices
|
|
|
|
|
- ✅ View connection history
|
|
|
|
|
operationId: clientLogs
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [client_logs]
|
|
|
|
|
- name: line_id
|
|
|
|
|
in: query
|
|
|
|
|
description: Filter by specific line ID
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Client logs retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=user_logs:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get User Activity Logs
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves logs of user actions in the panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Monitor user activity and changes.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=user_logs"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Track user actions
|
|
|
|
|
- ✅ Audit panel changes
|
|
|
|
|
- ✅ Monitor reseller activity
|
|
|
|
|
- ✅ Security monitoring
|
|
|
|
|
operationId: userLogs
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [user_logs]
|
|
|
|
|
- name: user_id
|
|
|
|
|
in: query
|
|
|
|
|
description: Filter by specific user ID
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
example: 123
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: User logs retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=stream_errors:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Stream Error Logs
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves stream error logs and failure information.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Monitor stream health and troubleshoot issues.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=stream_errors"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Troubleshoot stream issues
|
|
|
|
|
- ✅ Monitor stream reliability
|
|
|
|
|
- ✅ Identify problematic sources
|
|
|
|
|
- ✅ Track downtime
|
|
|
|
|
operationId: streamErrors
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [stream_errors]
|
|
|
|
|
- name: stream_id
|
|
|
|
|
in: query
|
|
|
|
|
description: Filter by specific stream ID
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
example: 456
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Stream errors retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=watch_output:
|
|
|
|
|
get:
|
|
|
|
|
summary: Watch Stream Output
|
|
|
|
|
description: |
|
|
|
|
|
Monitor live stream output and encoding details.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Real-time stream monitoring and diagnostics.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=watch_output&stream_id=456"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Monitor encoding quality
|
|
|
|
|
- ✅ Check bitrate and resolution
|
|
|
|
|
- ✅ Diagnose playback issues
|
|
|
|
|
- ✅ Verify stream settings
|
|
|
|
|
operationId: watchOutput
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [watch_output]
|
|
|
|
|
- name: stream_id
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
description: Stream ID to monitor
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
example: 456
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Stream output data retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=system_logs:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get System Logs
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves system-level logs and events.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Monitor system health and errors.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=system_logs"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Monitor system health
|
|
|
|
|
- ✅ Troubleshoot errors
|
|
|
|
|
- ✅ Track system events
|
|
|
|
|
- ✅ Performance monitoring
|
|
|
|
|
operationId: systemLogs
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [system_logs]
|
|
|
|
|
- name: limit
|
|
|
|
|
in: query
|
|
|
|
|
description: Number of records to return
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
default: 100
|
|
|
|
|
example: 50
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: System logs retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=login_logs:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Login Attempt Logs
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves logs of login attempts to the panel.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Security monitoring and access auditing.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=login_logs"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Monitor login attempts
|
|
|
|
|
- ✅ Detect brute force attacks
|
|
|
|
|
- ✅ Track successful logins
|
|
|
|
|
- ✅ Security auditing
|
|
|
|
|
operationId: loginLogs
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [login_logs]
|
|
|
|
|
- name: success
|
|
|
|
|
in: query
|
|
|
|
|
description: Filter by success status (1 = successful, 0 = failed)
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
enum: [0, 1]
|
|
|
|
|
example: 0
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Login logs retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=restream_logs:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get Restream Activity Logs
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves logs of restreaming activity.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Monitor reseller restreaming operations.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=restream_logs"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Track restream usage
|
|
|
|
|
- ✅ Monitor reseller activity
|
|
|
|
|
- ✅ Audit stream distribution
|
|
|
|
|
- ✅ Performance monitoring
|
|
|
|
|
operationId: restreamLogs
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [restream_logs]
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: Restream logs retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
|
|
|
|
/?action=mag_events:
|
|
|
|
|
get:
|
|
|
|
|
summary: Get MAG Device Events
|
|
|
|
|
description: |
|
|
|
|
|
Retrieves event logs for MAG devices.
|
|
|
|
|
|
|
|
|
|
**Purpose:** Monitor MAG device activity and events.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Example Request:**
|
|
|
|
|
```bash
|
|
|
|
|
curl "http://your-server.com/cSbuFLhp/?api_key=8D3135D30437F86EAE2FA4A2A8345000&action=mag_events"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Use Cases:**
|
|
|
|
|
- ✅ Track MAG device usage
|
|
|
|
|
- ✅ Monitor device events
|
|
|
|
|
- ✅ Troubleshoot MAG issues
|
|
|
|
|
- ✅ View device activity
|
|
|
|
|
operationId: magEvents
|
|
|
|
|
tags:
|
|
|
|
|
- Logs & Events
|
|
|
|
|
parameters:
|
|
|
|
|
- $ref: '#/components/parameters/ApiKey'
|
|
|
|
|
- name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [mag_events]
|
|
|
|
|
- name: mag_id
|
|
|
|
|
in: query
|
|
|
|
|
description: Filter by specific MAG device ID
|
|
|
|
|
schema:
|
|
|
|
|
type: integer
|
|
|
|
|
example: 202
|
|
|
|
|
responses:
|
|
|
|
|
'200':
|
|
|
|
|
description: MAG events retrieved successfully
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
allOf:
|
|
|
|
|
- $ref: '#/components/schemas/SuccessResponse'
|
|
|
|
|
'401':
|
|
|
|
|
$ref: '#/components/responses/Unauthorized'
|
|
|
|
|
|
2025-12-12 15:07:46 +03:00
|
|
|
components:
|
|
|
|
|
securitySchemes:
|
|
|
|
|
ApiKeyAuth:
|
|
|
|
|
type: apiKey
|
|
|
|
|
in: query
|
|
|
|
|
name: api_key
|
|
|
|
|
description: |
|
2025-12-12 15:48:13 +03:00
|
|
|
API key for authentication. Generate from your admin profile.
|
2025-12-12 15:07:46 +03:00
|
|
|
|
|
|
|
|
**Example:** `8D3135D30437F86EAE2FA4A2A8345000`
|
|
|
|
|
|
|
|
|
|
parameters:
|
|
|
|
|
ApiKey:
|
|
|
|
|
name: api_key
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
description: Your API key for authentication
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
example: "8D3135D30437F86EAE2FA4A2A8345000"
|
|
|
|
|
|
|
|
|
|
Action:
|
|
|
|
|
name: action
|
|
|
|
|
in: query
|
|
|
|
|
required: true
|
|
|
|
|
description: The API action to perform
|
|
|
|
|
schema:
|
|
|
|
|
type: string
|
|
|
|
|
example: user_info
|
|
|
|
|
|
|
|
|
|
schemas:
|
|
|
|
|
SuccessResponse:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- status
|
|
|
|
|
- data
|
|
|
|
|
properties:
|
|
|
|
|
status:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [STATUS_SUCCESS]
|
|
|
|
|
description: Response status indicator
|
|
|
|
|
data:
|
|
|
|
|
type: object
|
|
|
|
|
description: Response data (structure varies by endpoint)
|
|
|
|
|
example:
|
|
|
|
|
status: "STATUS_SUCCESS"
|
|
|
|
|
data: {}
|
|
|
|
|
|
|
|
|
|
ErrorResponse:
|
|
|
|
|
type: object
|
|
|
|
|
required:
|
|
|
|
|
- status
|
|
|
|
|
- error
|
|
|
|
|
properties:
|
|
|
|
|
status:
|
|
|
|
|
type: string
|
|
|
|
|
enum: [STATUS_FAILURE]
|
|
|
|
|
description: Error status indicator
|
|
|
|
|
error:
|
|
|
|
|
type: string
|
|
|
|
|
description: Error message describing what went wrong
|
|
|
|
|
example:
|
|
|
|
|
status: "STATUS_FAILURE"
|
|
|
|
|
error: "Invalid API key"
|
|
|
|
|
|
|
|
|
|
UserInfo:
|
|
|
|
|
type: object
|
2025-12-12 15:48:13 +03:00
|
|
|
description: User information object
|
2025-12-12 15:07:46 +03:00
|
|
|
properties:
|
|
|
|
|
id:
|
|
|
|
|
type: string
|
|
|
|
|
description: User ID
|
|
|
|
|
example: "1"
|
|
|
|
|
username:
|
|
|
|
|
type: string
|
|
|
|
|
description: Username
|
|
|
|
|
example: "admin"
|
|
|
|
|
member_group_id:
|
|
|
|
|
type: string
|
|
|
|
|
description: Member group ID (1 = Administrator)
|
|
|
|
|
example: "1"
|
|
|
|
|
email:
|
|
|
|
|
type: string
|
|
|
|
|
format: email
|
|
|
|
|
description: User email address
|
|
|
|
|
example: "admin@example.com"
|
|
|
|
|
date_registered:
|
|
|
|
|
type: string
|
|
|
|
|
description: Unix timestamp of registration date
|
|
|
|
|
example: "1609459200"
|
|
|
|
|
last_login:
|
|
|
|
|
type: string
|
|
|
|
|
description: Unix timestamp of last login
|
|
|
|
|
example: "1734048000"
|
|
|
|
|
status:
|
|
|
|
|
type: string
|
|
|
|
|
description: User status (1 = Active, 0 = Inactive)
|
|
|
|
|
enum: ["0", "1"]
|
|
|
|
|
example: "1"
|
|
|
|
|
|
2025-12-12 16:18:18 +03:00
|
|
|
Line:
|
|
|
|
|
type: object
|
|
|
|
|
description: Subscription line object
|
|
|
|
|
properties:
|
|
|
|
|
id:
|
|
|
|
|
type: string
|
|
|
|
|
description: Line ID
|
|
|
|
|
example: "123"
|
|
|
|
|
username:
|
|
|
|
|
type: string
|
|
|
|
|
description: Line username
|
|
|
|
|
example: "testuser"
|
|
|
|
|
password:
|
|
|
|
|
type: string
|
|
|
|
|
description: Line password
|
|
|
|
|
example: "testpass123"
|
|
|
|
|
exp_date:
|
|
|
|
|
type: string
|
|
|
|
|
description: Expiration date (Unix timestamp)
|
|
|
|
|
example: "1735689600"
|
|
|
|
|
max_connections:
|
|
|
|
|
type: string
|
|
|
|
|
description: Maximum concurrent connections allowed
|
|
|
|
|
example: "1"
|
|
|
|
|
is_trial:
|
|
|
|
|
type: string
|
|
|
|
|
description: Trial status (0 = No, 1 = Yes)
|
|
|
|
|
enum: ["0", "1"]
|
|
|
|
|
example: "0"
|
|
|
|
|
enabled:
|
|
|
|
|
type: string
|
|
|
|
|
description: Line status (0 = Disabled, 1 = Enabled)
|
|
|
|
|
enum: ["0", "1"]
|
|
|
|
|
example: "1"
|
|
|
|
|
is_restreamer:
|
|
|
|
|
type: string
|
|
|
|
|
description: Reseller status (0 = No, 1 = Yes)
|
|
|
|
|
enum: ["0", "1"]
|
|
|
|
|
example: "0"
|
|
|
|
|
bouquet:
|
|
|
|
|
type: string
|
|
|
|
|
description: Assigned bouquet/package IDs (JSON array)
|
|
|
|
|
example: "[1,2,3]"
|
|
|
|
|
notes:
|
|
|
|
|
type: string
|
|
|
|
|
description: Admin notes
|
|
|
|
|
example: "Premium customer"
|
|
|
|
|
created_at:
|
|
|
|
|
type: string
|
|
|
|
|
description: Creation date (Unix timestamp)
|
|
|
|
|
example: "1609459200"
|
|
|
|
|
|
2025-12-12 15:07:46 +03:00
|
|
|
responses:
|
|
|
|
|
Unauthorized:
|
|
|
|
|
description: Authentication failed - Invalid API key or access code
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/ErrorResponse'
|
|
|
|
|
example:
|
|
|
|
|
status: "STATUS_FAILURE"
|
|
|
|
|
error: "Invalid API key"
|
|
|
|
|
|
|
|
|
|
ServerError:
|
|
|
|
|
description: Internal server error
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/ErrorResponse'
|
|
|
|
|
example:
|
|
|
|
|
status: "STATUS_FAILURE"
|
|
|
|
|
error: "Internal server error"
|
|
|
|
|
|
|
|
|
|
NotFound:
|
|
|
|
|
description: Resource not found
|
|
|
|
|
content:
|
|
|
|
|
application/json:
|
|
|
|
|
schema:
|
|
|
|
|
$ref: '#/components/schemas/ErrorResponse'
|
|
|
|
|
example:
|
|
|
|
|
status: "STATUS_FAILURE"
|
|
|
|
|
error: "Resource not found"
|