This documentation aims to provide all the information you need to work with our API.
To authenticate requests, include an Authorization header with the value "Bearer {{AUTH_TOKEN}}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by follow API token.
APIs for managing server applications (PHP, MySQL, Nginx, etc.)
Get available and installed applications for a server.
The server ID.
Filter by extension group (php-extension, ols-extension).
Required with extension. Base binary name.
curl --request GET \
--get "https://flashpanel.io/api/servers/applications?extension=php-extension&binary_name=php8.3" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"extension\": \"bngzmiyvdljnikhw\",
\"binary_name\": \"aykcmyuwpwlvqwrs\",
\"os_version\": 4326.41688
}"
{
"data": [
{
"id": 1,
"name": "PHP 8.3",
"binary_name": "php8.3",
"installed": true
}
]
}
Start the application on the given server.
The server ID.
The application ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/applications/5/start" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Stop the application on the given server.
The server ID.
The application ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/applications/5/stop" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Restart the application on the given server.
The server ID.
The application ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/applications/5/restart" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Enable or disable automatic restart monitoring for an application.
The server ID.
The application ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/applications/5/auto-restart" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"enabled\": true
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update OpenLiteSpeed admin username and password.
The server ID.
The application ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/applications/5/ols-admin-update" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"admin_username\": \"admin\",
\"admin_password\": \"AdminP@ss123\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get available and installed applications for a server.
The server ID.
Filter by extension group (php-extension, ols-extension).
Required with extension. Base binary name.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/applications?extension=php-extension&binary_name=php8.3" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"extension\": \"bngzmiyvdljnikhw\",
\"binary_name\": \"aykcmyuwpwlvqwrs\",
\"os_version\": 4326.41688
}"
{
"data": [
{
"id": 1,
"name": "PHP 8.3",
"binary_name": "php8.3",
"installed": true
}
]
}
Install an application on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/applications" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"version\": \"8.3\",
\"app_id\": 4432,
\"password\": \"SecureP@ss\",
\"port\": 7700,
\"admin_username\": \"admin\",
\"admin_password\": \"AdminP@ss\",
\"manager_password\": \"ManagerP@ss\",
\"user\": \"minioadmin\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update an installed application to the latest version.
The server ID.
The application ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/applications/5" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Uninstall an application from the server.
The server ID.
The application ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/applications/5" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for user authentication and token management
Retrieves an access token and a code for the user. Automatically deletes old tokens, keeping only the 10 most recent tokens.
curl --request POST \
"https://flashpanel.io/api/token" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"password\": \"Pa$$w0rd!\",
\"code\": \"123456\",
\"device_name\": \"My Device\"
}"
{
"token": "123|xxxxxx",
"code": "yyyyyy"
}
APIs for managing server backup configurations
This function retrieves the backup configuration information for a specific backup of a server. The function requires a backup token to be provided in the request query parameters.
The server.
The backup.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/backups/101002" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
{
"message": "Invalid Token"
}
The server.
The backup.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/backups/101002/script" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
access-control-allow-origin: *
{
"message": "Invalid Token"
}
The server.
The backup.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/backups/101002/info" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
The server.
The backup.
curl --request POST \
"https://flashpanel.io/api/servers/282/backups/101002/restore" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file_path\": \"architecto\",
\"restore_type\": \"database\",
\"site_id\": 4326.41688,
\"database_id\": 4326.41688
}"
The server.
The backup.
curl --request POST \
"https://flashpanel.io/api/servers/282/backups/101002/clone" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"servers\": [
16
],
\"all_sites\": false,
\"all_databases\": false
}"
Get all backup configurations for a server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/backups" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"memo": "Daily backup",
"drive": "drive"
}
]
}
Create a new backup configuration for a server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/backups" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "code=oauth_code_123"\
--form "drive=drive"\
--form "host=backup.example.com"\
--form "user=backupuser"\
--form "port=22"\
--form "auth_password=1"\
--form "password=secretpass"\
--form "passphrase=myPassphrase"\
--form "s3_bucket_name=my-backups"\
--form "s3_provider=s3"\
--form "s3_access_key_id=AKIAIOSFODNN7EXAMPLE"\
--form "s3_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"\
--form "s3_region=us-east-1"\
--form "s3_endpoint=https://s3.us-west-2.amazonaws.com"\
--form "memo=Daily backup"\
--form "expression=0 0 * * *"\
--form "cycle=7"\
--form "all_sites=1"\
--form "sites[][id]=1"\
--form "sites[][excludes][]=architecto"\
--form "excludes[]=architecto"\
--form "excludes[]=node_modules"\
--form "all_databases=1"\
--form "databases[]=1"\
--form "private_key=@/private/var/folders/qq/kvhmbqts2kjdk_q1d18jdvg80000gn/T/php8k6j8ktd2r4i6AxOmNu" {
"backup": {
"id": 1,
"memo": "Daily backup"
},
"event": {
"id": 1,
"status": "running"
}
}
The server ID.
The backup configuration ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/backups/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_active\": true,
\"memo\": \"Daily backup\",
\"expression\": \"0 0 * * *\",
\"cycle\": 7,
\"all_sites\": true,
\"excludes\": [
\"architecto\"
],
\"excludes[]\": \"node_modules\",
\"sites\": [
{
\"id\": 1,
\"excludes\": [
\"architecto\"
]
}
],
\"all_databases\": true,
\"databases\": [
1,
2
]
}"
{
"backup": {
"id": 1,
"memo": "Daily backup",
"is_active": true
},
"event": {
"id": 1,
"status": "running"
}
}
The server.
The backup.
curl --request DELETE \
"https://flashpanel.io/api/servers/282/backups/101002" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Retrieve the backup history for a server.
The server ID.
Sort field. Default: -id.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/backup-histories?sort=-id" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "backup-2024-01-01",
"size": "1.5 GB",
"time": "120"
}
]
}
APIs for executing and viewing site commands
Retrieves a paginated list of commands executed on a given site.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/commands" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"script": "ls -la",
"output": "..."
}
]
}
Store and execute a new command for a site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/commands" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"script\": \"ls -la\"
}"
{
"data": {
"id": 1,
"script": "ls -la",
"status": "running"
}
}
APIs for managing Bind9 DNS zones
Import DNS records from a zone file.
The server ID.
The zone name.
curl --request POST \
"https://flashpanel.io/api/servers/1/bind9/zones/example.com/import" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "file=@/private/var/folders/qq/kvhmbqts2kjdk_q1d18jdvg80000gn/T/phpmdr0pcgfifn9eAiba9Z" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Export DNS zone to a file on the server.
The server ID.
The zone name.
curl --request POST \
"https://flashpanel.io/api/servers/1/bind9/zones/example.com/export" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Download the exported DNS zone file.
The server ID.
The zone name.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/bind9/zones/example.com/download" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" file The zone file content.
Get all DNS zones configured on the server.
The server.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/bind9/zones" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/bind9/zones" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" The server.
The zone.
curl --request PUT \
"https://flashpanel.io/api/servers/282/bind9/zones/architecto" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" The server.
The zone.
curl --request DELETE \
"https://flashpanel.io/api/servers/282/bind9/zones/architecto" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Get all DNS records for a specific zone.
The server ID.
The zone name.
Search query.
Search match type: any, all.
Items per page.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/bind9/zones/example.com/records?search=www&match=any&per_page=50" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"type": "A",
"name": "www",
"content": "192.168.1.1",
"ttl": 3600
}
]
}
Create a new DNS record in the zone.
The server ID.
The zone name.
curl --request POST \
"https://flashpanel.io/api/servers/1/bind9/zones/example.com/records" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"A\",
\"name\": \"www\",
\"content\": \"192.168.1.1\",
\"ttl\": 3600,
\"priority\": 10
}"
Update an existing DNS record in the zone.
The server ID.
The zone name.
Record ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/bind9/zones/example.com/records/www.example.com._A" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"A\",
\"name\": \"www\",
\"content\": \"192.168.1.2\",
\"ttl\": 7200,
\"priority\": 10
}"
Delete a DNS record from the zone.
The server ID.
The zone name.
Record ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/bind9/zones/example.com/records/www.example.com._A" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
APIs for managing database users on servers
Synchronize database users with the actual database server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/database-users/sync" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"mysql\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get all database users on a server with their associated databases.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/database-users" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "dbuser",
"type": "mysql"
}
]
}
Create a new database user on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/database-users" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"mysql\",
\"name\": \"myuser\",
\"password\": \"SecureP@ss123\",
\"databases\": [
1,
2
],
\"access_anywhere\": false,
\"identified_with\": \"mysql_native_password\",
\"roles\": [
{
\"id\": 16,
\"roles\": [
\"ngzmiyvdljnikhwa\"
]
}
]
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update a database user's password, access permissions, or database grants.
The server ID.
The database user ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/database-users/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"mysql\",
\"password\": \"NewP@ss123\",
\"databases\": [
1,
2
],
\"roles\": [
{
\"id\": 1,
\"roles\": [
\"architecto\"
]
}
],
\"access_anywhere\": false,
\"identified_with\": \"mysql_native_password\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Delete a database user from the server. Cannot delete users linked to PHPMyAdmin, WordPress, or other application sites.
The server ID.
The database user ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/database-users/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing databases on servers
Export a database to a backup file on the server.
The server ID.
The database ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/databases/1/export" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Import data into a database from a file on the server.
The server ID.
The database ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/databases/1/import" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/home\\/flashvps\\/backup.sql.gz\",
\"remove\": false
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Download the exported database backup file.
The server ID.
The database ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/databases/1/download" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" file The gzipped database backup file.
Get all databases on a server with their associated users.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/databases" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "mydb",
"type": "mysql"
}
]
}
Create a new database on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/databases" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"mysql\",
\"name\": \"mydb\",
\"users\": [
1,
2
]
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update database user access permissions.
The server ID.
The database ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/databases/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"mysql\",
\"users\": [
1,
2
]
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Delete a database from the server. Cannot delete system databases or databases used by PHPMyAdmin sites.
The server ID.
The database ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/databases/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Retrieve MySQL/MariaDB configuration with current values from the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/mysql" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [
{
"key": "max_connections",
"value": "151",
"type": "number"
}
]
Update MySQL/MariaDB configuration on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/mysql" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing site deployments and deployment scripts
Retrieves a paginated collection of deployments for a given site.
The site ID.
Page number. Default: 1.
Items per page. Default: 10.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/deploys?page=1&per_page=15" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"status": "success",
"created_at": "2024-01-01T00:00:00Z"
}
]
}
Retrieves the list of available deployment script variables.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/deploys/variables" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"SITE_NAME": "example.com",
"SITE_PATH": "/home/user/example.com"
}
Updates the deployment script for a site.
The site ID.
curl --request PUT \
"https://flashpanel.io/api/sites/1/deploys/script" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"script\": \"cd $SITE_PATH && git pull\"
}"
{
"data": {
"id": 1,
"name": "example.com"
}
}
Deploy the latest source code. The system will run the deployment script.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/deploys/now" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"deployment": {
"id": 1,
"status": "running"
},
"event": {
"id": 1,
"status": "running"
}
}
Refreshes the deployment webhook token for the site.
The site ID.
curl --request PUT \
"https://flashpanel.io/api/sites/1/deploys/refresh-token" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"link": "https://example.com/deploy?token=..."
}
Enables or disables automatic deployment for the site.
The site ID.
curl --request PUT \
"https://flashpanel.io/api/sites/1/deploys/auto" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "example.com",
"autodeploy_enabled": true
}
}
Automatically generates a new RSA private key and adds it to the site's server.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/deploys/key" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "example.com",
"attrs": {
"deploy_key": "ssh-rsa AAAA..."
}
}
}
Deletes the deploy key for a given site.
The site ID.
curl --request DELETE \
"https://flashpanel.io/api/sites/1/deploys/key" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "example.com",
"attrs": {
"deploy_key": ""
}
}
}
APIs for managing Docker images
Remove all unused Docker images from the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/images/prune" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Get all Docker images on the server.
The server.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/docker/images" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Remove a Docker image from the server.
The server ID.
Image ID or name.
Force remove even if in use.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/docker/images/nginx:latest?force=1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Start a stopped or paused Docker container.
The server ID.
Container ID or name.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/containers/abc123/start" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"Status\": 0
}"
[Empty response]
Stop a running Docker container.
The server ID.
Container ID or name.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/containers/abc123/stop" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Restart a Docker container.
The server ID.
Container ID or name.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/containers/abc123/restart" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Pause a running Docker container.
The server ID.
Container ID or name.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/containers/abc123/pause" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Rename a Docker container.
The server ID.
Container ID or name.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/containers/abc123/rename" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"mycontainer_new\"
}"
[Empty response]
Get the last 100 lines of container logs.
The server ID.
Container ID or name.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/containers/abc123/logs" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" "Log output text..."
Get real-time resource usage statistics for a container.
The server ID.
Container ID or name.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/docker/containers/abc123/stats" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"CPUPerc": "0.50%",
"MemUsage": "100MiB / 1GiB",
"NetIO": "1kB / 2kB"
}
Get all Docker containers on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/docker/containers" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [
{
"ID": "abc123",
"Names": "mycontainer",
"Image": "nginx",
"State": "running"
}
]
Get detailed information about a Docker container.
The server ID.
Container ID or name.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/docker/containers/abc123" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"Id": "abc123",
"Name": "mycontainer",
"State": {
"Status": "running"
}
}
Stop and remove a Docker container.
The server ID.
Container ID or name.
Force remove even if running.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/docker/containers/abc123?force=1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Create a copy of a Docker volume with a new name.
The server ID.
Source volume name.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/volumes/mydata/clone" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"mydata_backup\"
}"
[Empty response]
Remove all unused Docker volumes from the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/volumes/prune" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Get all Docker volumes on the server.
The server.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/docker/volumes" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Remove a Docker volume from the server.
The server ID.
Volume name.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/docker/volumes/mydata" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Remove all unused Docker networks from the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/docker/networks/prune" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Get all Docker networks on the server.
The server.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/docker/networks" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
APIs for managing files and directories on the server via agent
Get server system information (CPU, memory, disk, etc.) via agent.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/systeminfo" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"cpu": {
"cores": 4,
"usage": 15.5
},
"memory": {
"total": 8192,
"used": 4096
},
"disk": {
"total": 100,
"used": 45
}
}
List files and directories in a given path.
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/list" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/bngz\",
\"root\": \"\\/bngz\"
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/mkdir" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/bngz\",
\"root\": \"\\/bngz\",
\"name\": \"architecto\"
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/save" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "root=/bngz"\
--form "new=false"\
--form "file=@/private/var/folders/qq/kvhmbqts2kjdk_q1d18jdvg80000gn/T/php7aslqkthams8d4eP0mC" The server.
curl --request DELETE \
"https://flashpanel.io/api/servers/282/files/delete" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": [
\"\\/bngz\"
],
\"root\": \"\\/bngz\"
}"
The server.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/files/view" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"root\": \"\\/bngz\",
\"limit\": 17
}"
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
The server.
curl --request PUT \
"https://flashpanel.io/api/servers/282/files/rename" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/bngz\",
\"root\": \"\\/bngz\",
\"name\": \"architecto\"
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/compress" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": [
\"\\/bngz\"
],
\"root\": \"\\/bngz\",
\"level\": 27,
\"type\": \"tar.gz\",
\"name\": \"architecto\"
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/decompress" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/bngz\",
\"root\": \"\\/bngz\",
\"here\": true
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/copy" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/bngz\",
\"root\": \"\\/bngz\",
\"destination\": \"\\/bngz\"
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/move" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/bngz\",
\"root\": \"\\/bngz\",
\"destination\": \"\\/bngz\"
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/chmod" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/bngz\",
\"root\": \"\\/bngz\",
\"mode\": \"architecto\"
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/files/chown" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"path\": \"\\/bngz\",
\"root\": \"\\/bngz\",
\"owner\": \"architecto\",
\"group\": \"architecto\"
}"
Delete the Tiny File Manager from a site.
The site ID.
curl --request DELETE \
"https://flashpanel.io/api/sites/1/tiny-file-manager" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
APIs for managing Fail2ban jails
Unban one or more IP addresses from a Fail2ban jail.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/fail2ban/unbanip" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"jail\": \"sshd\",
\"all\": false,
\"ips\": [
\"192.168.1.100\"
]
}"
Enable or disable a Fail2ban jail.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/fail2ban/enable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file\": \"\\/etc\\/fail2ban\\/jail.d\\/sshd.conf\",
\"jail\": \"sshd\",
\"enable\": true
}"
Get available filters and actions for Fail2ban configuration.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/fail2ban/info" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"filters": [
"sshd",
"nginx-http-auth"
],
"actions": [
"iptables-multiport",
"firewallcmd-ipset"
]
}
Get all configured Fail2ban jails on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/fail2ban/jail" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"name": "sshd",
"enabled": true,
"banned_ip_list": []
}
]
}
Create or update a Fail2ban jail configuration.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/fail2ban/jail" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file\": \"\\/etc\\/fail2ban\\/jail.d\\/sshd.conf\",
\"name\": \"sshd\",
\"enabled\": true,
\"filter\": \"sshd\",
\"action\": \"iptables-multiport\",
\"port\": \"ssh\",
\"protocol\": \"tcp\",
\"ignoreip\": [
\"127.0.0.1\"
],
\"logpath\": \"\\/var\\/log\\/auth.log\",
\"banaction\": \"iptables-multiport\",
\"backend\": \"systemd\",
\"maxretry\": \"5\",
\"findtime\": \"10m\",
\"bantime\": \"1h\"
}"
Delete a Fail2ban jail configuration.
The server ID.
Jail name.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/fail2ban/jail/sshd" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Enable 8G Firewall protection for a site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/8gfirewall" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Disable 8G Firewall protection for a site.
The site ID.
curl --request DELETE \
"https://flashpanel.io/api/sites/1/8gfirewall" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing server firewall rules (UFW)
Synchronize firewall rules with the actual server UFW configuration.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/rules/sync" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get all firewall rules configured on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/rules" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"port": "80",
"type": "allow",
"protocol": "tcp"
}
]
}
Create a new firewall rule on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/rules" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Allow HTTP\",
\"port\": \"80\",
\"protocol\": \"tcp\",
\"type\": \"allow\",
\"ip_address\": \"192.168.1.0\\/24\"
}"
{
"firewall_rule": {
"id": 1,
"port": "80"
},
"event": {
"id": 1,
"status": "running"
}
}
Remove a firewall rule from the server. Cannot delete SSH port rules.
The server ID.
The firewall rule ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/rules/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing Linux system users on servers
Synchronize Linux system users from the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/users/sync" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get all Linux system users on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/users" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "webuser",
"can_ssh": true,
"can_ftp": false
}
]
}
Create a new Linux system user on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/users" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"webuser\",
\"password\": \"SecureP@ss\",
\"can_ssh\": true,
\"can_ftp\": false,
\"block_soft_limit\": \"1G\",
\"block_hard_limit\": \"2G\",
\"inode_soft_limit\": 100000,
\"inode_hard_limit\": 150000
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update a Linux user's permissions and quotas.
The server ID.
The Linux user ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/users/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"NewP@ss123\",
\"can_ssh\": true,
\"can_ftp\": false,
\"block_soft_limit\": \"1G\",
\"block_hard_limit\": \"2G\",
\"inode_soft_limit\": 100000,
\"inode_hard_limit\": 150000
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Delete a Linux system user from the server.
The server ID.
The Linux user ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/users/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing site load balancing
Enable load balancing for a site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/balancing/enable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Disable load balancing for a site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/balancing/disable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Store load balancing configuration for a site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/balancing" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"method\": \"round_robin\",
\"servers\": [
{
\"ip\": \"192.168.1.10\",
\"port\": 80,
\"weight\": 1,
\"backup\": false,
\"down\": false
}
]
}"
{
"data": {
"id": 1,
"name": "example.com"
}
}
APIs for managing mail server domains
Check and validate DNS records for the mail domain (A, MX, DKIM, DMARC, SPF).
The server ID.
The mail domain ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/mail/domains/1/check" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Install SSL certificate for the mail server using the domain's certificate.
The server ID.
The mail domain ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/mail/domains/1/ssl" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Set a mail domain as the default mail domain.
The server ID.
The mail domain ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/mail/domains/1/default" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get all mail domains configured on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/mail/domains" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"domain": "example.com",
"is_default": true
}
]
}
Create a new mail domain on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/mail/domains" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain\": \"example.com\",
\"subdomain\": \"mail\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Delete a mail domain from the server.
The server ID.
The mail domain ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/mail/domains/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get all mail accounts on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/mail/accounts" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"accounts": [
{
"email": "[email protected]",
"quota": 1024
}
]
}
Create a new mail account on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/mail/accounts" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"password\": \"SecureP@ss\",
\"catch_all\": false,
\"quota\": \"100M\",
\"aliases\": [
\"[email protected]\"
]
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update an existing mail account.
The server ID.
The account.
curl --request PUT \
"https://flashpanel.io/api/servers/1/mail/accounts/architecto" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"NewP@ssword\",
\"catch_all\": false,
\"quota\": \"200M\",
\"aliases\": [
\"[email protected]\"
]
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Delete a mail account or remove an alias from an account.
The server ID.
The account.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/mail/accounts/architecto" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"alias\": \"[email protected]\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Retrieve current mail server settings.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/mail/settings" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"ENABLE_POP3": true,
"ENABLE_MANAGESIEVE": false,
"ENABLE_FAIL2BAN": true,
"POSTFIX_MESSAGE_SIZE_LIMIT": 10
}
Update mail server settings.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/mail/settings" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ENABLE_POP3\": true,
\"ENABLE_MANAGESIEVE\": false,
\"ENABLE_FAIL2BAN\": true,
\"POSTFIX_MESSAGE_SIZE_LIMIT\": 25
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing N8N automation sites
Restart the N8N service.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/restart" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Upgrade N8N to the latest version.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/upgrade" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Reset user management back to pre-setup state.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/user-reset" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Clear the N8N license.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/license-clear" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Reset the LDAP connection.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/ldap-reset" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"option\": \"userId\",
\"value\": \"user123\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Disable multi-factor authentication for a user.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/mfa-disable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get N8N license information.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/n8n/licence-info" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"info": "License information..."
}
Export N8N workflows and/or credentials.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/export" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"workflows\": true,
\"credentials\": true
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Download the N8N data backup file.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/n8n/download" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" File download stream
Get N8N data info including users, projects, workflows and credentials count.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/n8n/info" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"users": 5,
"projects": 3,
"workflows_count": 10,
"credentials_count": 8
}
Import a workflow into the N8N instance.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/workflows/import" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "path=/path/to/workflow.json"\
--form "remove="\
--form "file=@/private/var/folders/qq/kvhmbqts2kjdk_q1d18jdvg80000gn/T/phprd8816an3i1n0nw2o87" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Activate or deactivate all workflows at once.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/workflows/status" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"action\": \"active\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Set a workflow to active state.
The site ID.
The workflow.
The workflow ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/workflows/architecto/active" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"My Workflow\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Set a workflow to inactive state.
The site ID.
The workflow.
The workflow ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/workflows/architecto/inactive" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"My Workflow\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Execute a workflow immediately.
The site ID.
The workflow.
The workflow ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/workflows/architecto/start" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"My Workflow\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Export a workflow as JSON file.
The site ID.
The workflow.
The workflow ID.
Workflow name for filename.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/workflows/architecto/export?name=My+Workflow" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" File download stream
Get all N8N workflows for a site.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/n8n/workflows" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": "1",
"name": "My Workflow",
"active": true
}
]
}
Import a credential into the N8N instance.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/credentials/import" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "path=/path/to/credentials.json"\
--form "remove="\
--form "file=@/private/var/folders/qq/kvhmbqts2kjdk_q1d18jdvg80000gn/T/phpo5991id3o0r9ai7prVb" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Export a credential as JSON file.
The site ID.
The credential.
The credential ID.
Credential name for filename.
curl --request POST \
"https://flashpanel.io/api/sites/1/n8n/credentials/architecto/export?name=API+Key" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" File download stream
Get all N8N credentials for a site.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/n8n/credentials" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": "1",
"name": "API Key",
"type": "apiKey"
}
]
}
APIs for managing site notifications
Disables the Telegram notification for a site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/notifications/telegram/disable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
APIs for managing OpenLiteSpeed and LSPHP configurations
Retrieve PHP.ini configuration for OpenLiteSpeed.
The server ID.
PHP version.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/openlitespeed/php.ini?version=php8.3" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"version\": \"phpbngz\"
}"
[
{
"key": "memory_limit",
"value": "256M"
}
]
Update PHP.ini configuration for OpenLiteSpeed.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/openlitespeed/php.ini" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"version\": \"php8.3\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Install OpenLiteSpeed lsphp packages for a PHP version.
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/openlitespeed/install" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"version\": \"architecto\"
}"
Get supported and installed PHP versions for OpenLiteSpeed.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/openlitespeed" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"support_versions": [
"php8.3",
"php8.2"
],
"installed_versions": [
"php8.3",
null
]
}
APIs for managing PHP OPcache settings
Enable PHP OPcache for all PHP versions.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/settings/php/opcache" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Disable PHP OPcache for all PHP versions.
The server ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/settings/php/opcache" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update the maximum file upload size for all PHP versions.
The server ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/settings/php/max-upload-size" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"max_file_upload_size\": 256
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update the maximum execution time for all PHP versions.
The server ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/settings/php/max-execution-time" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"max_execution_time\": 300
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update the default PHP CLI version for the server.
The server ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/php/cli" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"version\": \"php8.3\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Enable IonCube Loader for a PHP version.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/ioncube/enable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"version\": \"php8.2\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Disable IonCube Loader for a PHP version.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/ioncube/disable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"version\": \"php8.2\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Retrieve PHP.ini configuration mapped to predefined config template.
The server.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/php/ini" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"cli\",
\"php_version\": \"phpbngz\"
}"
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Update PHP.ini configuration on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/php/ini" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"fpm\",
\"php_version\": \"php8.3\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing PhpMyAdmin sites
Perform a magic (passwordless) login into the phpMyAdmin site.
This endpoint allows users to authenticate with a site without using a password by generating a secure token and redirecting to the site's authentication page.
The site.
curl --request GET \
--get "https://flashpanel.io/api/sites/101443/phpmyadmin/login" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
APIs for managing SSH keys on Git providers
Add the server's SSH public key to selected Git provider accounts.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/keys" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"providers\": [
1,
2
]
}"
[Empty response]
APIs for managing SSH daemon configuration
Retrieve current SSHD configuration mapped to predefined config template.
The server.
curl --request GET \
--get "https://flashpanel.io/api/servers/282/sshd_config" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Update SSHD configuration on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/sshd_config" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing SSH keys on servers
Get all SSH keys configured on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/ssh-keys" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "My Key",
"linux_user": "root"
}
]
}
Add a new SSH key for a Linux user on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/ssh-keys" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"My Laptop Key\",
\"user\": \"root\",
\"public_key\": \"ssh-rsa AAAA...\"
}"
{
"data": {
"id": 1,
"name": "My Laptop Key",
"linux_user": "root"
}
}
Remove an SSH key from a Linux user on the server.
The server ID.
The SSH key ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/ssh-keys/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"linux_user\": \"root\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing SSL certificates on sites
Renew an SSL certificate on the site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/certificates/renew" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"token\": \"architecto\"
}"
[Empty response]
Install a free SSL certificate (Let's Encrypt or ZeroSSL) on the site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/certificates/free" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"client\": \"letsencrypt\",
\"auto_active\": true,
\"account\": \"default\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Creates a Certificate Signing Request (CSR) to purchase an SSL certificate.
The site.
curl --request POST \
"https://flashpanel.io/api/sites/101443/certificates/csr" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"city\": \"architecto\",
\"country\": \"ng\",
\"department\": \"architecto\",
\"domain\": \"architecto\",
\"organization\": \"architecto\",
\"state\": \"architecto\"
}"
Imports an existing SSL certificate for a site.
The site.
curl --request POST \
"https://flashpanel.io/api/sites/101443/certificates/import" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"certificate_key\": \"architecto\",
\"certificate_cert\": \"architecto\",
\"auto_active\": false
}"
Clones a certificate from one of the SSL certificates installed for the websites on the servers of your VPS system.
The site.
The certificate.
curl --request POST \
"https://flashpanel.io/api/sites/101443/certificates/architecto/clone" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" The site.
The certificate.
curl --request POST \
"https://flashpanel.io/api/sites/101443/certificates/101126/install" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"certificate_cert\": \"architecto\"
}"
The site.
The certificate.
curl --request POST \
"https://flashpanel.io/api/sites/101443/certificates/101126/active" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" The site.
The certificate.
curl --request POST \
"https://flashpanel.io/api/sites/101443/certificates/101126/inactive" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Get all SSL certificates installed on a site.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1/certificates" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"domain": "example.com",
"is_active": true,
"is_free": true
}
]
}
The site.
curl --request POST \
"https://flashpanel.io/api/sites/101443/certificates" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"client\": \"architecto\"
}"
Remove an SSL certificate from the site.
The site ID.
The certificate ID.
curl --request DELETE \
"https://flashpanel.io/api/sites/1/certificates/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing server cron jobs and scheduled tasks
Download the shell script for a system schedule.
The server ID.
The schedule ID.
Backup token.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/schedules/1/script?token=abc123" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Shell script file download
Retrieve all cron jobs configured on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/schedules" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"command": "php artisan schedule:run",
"cron": "* * * * *",
"user": "root"
}
]
}
Create a new cron job on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/schedules" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command\": \"php \\/home\\/user\\/app\\/artisan schedule:run\",
\"user\": \"root\",
\"cron\": \"* * * * *\",
\"description\": \"Laravel scheduler\"
}"
{
"schedule": {
"id": 1,
"command": "..."
},
"event": {
"id": 1,
"status": "running"
}
}
Update an existing cron job on the server.
The server ID.
The schedule ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/schedules/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command\": \"php \\/home\\/user\\/app\\/artisan schedule:run\",
\"user\": \"root\",
\"cron\": \"0 * * * *\",
\"description\": \"Laravel scheduler\"
}"
{
"schedule": {
"id": 1,
"command": "..."
},
"event": {
"id": 1,
"status": "running"
}
}
Delete a cron job from the server.
The server ID.
The schedule ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/schedules/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing server agent installation and communication
Install or update the FlashPanel agent on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/agent/install" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"web\": true
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Generate a token for connecting with the server agent.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/agent/token" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"token": "jwt_token",
"direct": "direct_token",
"remote": "encrypted_key"
}
APIs for managing VPS servers
Decrypt encrypted data using server token.
The server ID.
The decrypt token.
The encrypted data.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/decrypt?token=abc123&data=encrypted-string" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"decrypted": "data"
}
Get a list of all servers owned by the authenticated user.
Filter by server name or ID.
curl --request GET \
--get "https://flashpanel.io/api/servers?search=my-server" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "my-server",
"ip": "192.168.1.1",
"status": "active"
}
]
}
curl --request POST \
"https://flashpanel.io/api/servers" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "provider=custom"\
--form "name=server01"\
--form "custom_script=123"\
--form "customProvider=architecto"\
--form "ip=192.168.1.100"\
--form "ssh_port=22"\
--form "auth_password=1"\
--form "ssh_password=RootP@ss123"\
--form "ssh_passphrase=KeyP@ss"\
--form "notCustomProvider=architecto"\
--form "plan=vc2-1c-1gb"\
--form "region=sgp"\
--form "credential=5"\
--form "ssh_private_key=@/private/var/folders/qq/kvhmbqts2kjdk_q1d18jdvg80000gn/T/phpoilpfhgcfta78Uxk1FM" Retrieve detailed information about a specific server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "my-server",
"ip": "192.168.1.1",
"status": "active"
}
}
Remove a server from the system.
The server ID.
Also delete server at VPS provider.
curl --request DELETE \
"https://flashpanel.io/api/servers/1?provider=1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Retrieve system information about the server such as CPU, RAM, DISK, CORE, Swap, etc.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/info" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Toggle the favorite status of a server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/favorite" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Update the server display name. The system will also change the VPS hostname and label at the VPS provider if applicable.
The server ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/name" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"my-new-server\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update the IP address of a server. This is useful when the VPS IP address has changed.
The server ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/ip" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ip\": \"192.168.1.100\"
}"
[Empty response]
Execute available hotfixes for the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/hotfix" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"events": []
}
Synchronize backup scripts with the latest configuration.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/sync-backup-configuration" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Enable or disable server protection to prevent accidental deletion.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/protect" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"protected\": true
}"
{
"data": {
"id": 1,
"name": "my-server",
"protected": true
}
}
Update the tags associated with a server.
The server ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/tags" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"tags\": [
\"production\",
\"web\"
]
}"
Clean unnecessary files like system logs and application cache from the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/clean" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"schedule\": \"0 0 * * *\"
}"
{
"events": [
{
"id": 1,
"status": "running"
}
]
}
Execute a predefined action script on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/action" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"action\": \"restart-nginx\",
\"note\": \"Restarting Nginx\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Share the server access with teams.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/share" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"teams\": [
1,
2
]
}"
Re-grant root access to the server by updating the SSH private key.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/grant-root" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"private_key\": \"-----BEGIN OPENSSH PRIVATE KEY-----\\\\n...\",
\"password\": \"MyP@ssw0rd\"
}"
[Empty response]
Perform a normal (soft) restart on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/restart/normal" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Perform a hard (forced) restart via VPS provider API.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/restart/hard" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Reinstall the server OS via VPS provider API.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/reinstall" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "Web Server 01"
}
}
Update the password for a Linux user on the server.
The server ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/password" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user\": \"root\",
\"password\": \"newP@ssw0rd\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing server timezone
Get all available timezone identifiers.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/timezone" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [
"America/New_York",
"Asia/Ho_Chi_Minh",
"Europe/London"
]
Update the server timezone.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/timezone" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"timezone\": \"Asia\\/Ho_Chi_Minh\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get the default page HTML template for new sites.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/default-page" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"default_page": "<html>...</html>"
}
Update the default page HTML template for new sites.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/default-page" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"default_page\": \"<html><body>Welcome<\\/body><\\/html>\"
}"
[Empty response]
Get list of common server port configurations.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/ports" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [
{
"id": 1,
"name": "HTTP",
"port": 80
},
{
"id": 2,
"name": "HTTPS",
"port": 443
}
]
APIs for managing server ownership transfers
Get all server transfers (sent and received) for the current user.
curl --request GET \
--get "https://flashpanel.io/api/servers-transfer" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"server": {
"id": 1,
"name": "Web Server"
},
"status": "pending"
}
]
}
Transfer server ownership to another user.
curl --request POST \
"https://flashpanel.io/api/servers-transfer" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"to_id\": \"[email protected]\",
\"server_id\": 1
}"
{
"message": "Success"
}
Update the status of a server transfer (approve/reject/cancel).
The server transfer ID.
curl --request PUT \
"https://flashpanel.io/api/servers-transfer/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"approved\"
}"
{
"message": "Update Success"
}
APIs for managing custom systemd services on servers
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/services/status" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"services\": [
\"architecto\"
]
}"
The server.
curl --request POST \
"https://flashpanel.io/api/servers/282/services/sync" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\"
}"
Get all custom systemd services on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/services" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "myservice",
"enabled": true
}
],
"infos": {}
}
Create a new custom systemd service on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/services" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"myservice\",
\"unit\": {
\"Description\": \"My Service\"
},
\"service\": {
\"ExecStart\": \"\\/usr\\/bin\\/myapp\"
},
\"install\": {
\"WantedBy\": \"multi-user.target\"
},
\"enabled\": true
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Update a custom systemd service configuration.
The server ID.
The service ID.
curl --request PUT \
"https://flashpanel.io/api/servers/1/services/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"unit\": {
\"Description\": \"My Service\"
},
\"service\": {
\"ExecStart\": \"\\/usr\\/bin\\/myapp\"
},
\"install\": {
\"WantedBy\": \"multi-user.target\"
},
\"enabled\": true
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Remove a custom systemd service from the server.
The server ID.
The service ID.
curl --request DELETE \
"https://flashpanel.io/api/servers/1/services/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
APIs for managing systemd service actions (start/stop/restart/enable/disable)
Start a systemd service.
The server ID.
The service ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/services/1/start" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Stop a systemd service.
The server ID.
The service ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/services/1/stop" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Restart a systemd service.
The server ID.
The service ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/services/1/restart" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Enable a systemd service to start automatically at boot.
The server ID.
The service ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/services/1/enable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Disable a systemd service from starting automatically at boot.
The server ID.
The service ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/services/1/disable" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Get all running PM2 processes on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/pm2" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"processes": [
{
"id": 0,
"name": "app",
"status": "online",
"cpu": 0.5,
"memory": 52428800
}
],
"installed": true
}
Start a new PM2 process on the server.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/pm2/start" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user\": \"www-data\",
\"command\": \"npm start\"
}"
Stop a running PM2 process.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/pm2/stop" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user\": \"www-data\",
\"process\": 0
}"
{
"output": "Process stopped",
"success": true
}
Restart a running PM2 process.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/pm2/restart" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user\": \"www-data\",
\"process\": 0
}"
{
"output": "Process restarted",
"success": true
}
Delete a PM2 process from the process list.
The server ID.
curl --request POST \
"https://flashpanel.io/api/servers/1/pm2/delete" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user\": \"www-data\",
\"process\": 0
}"
{
"output": "Process deleted",
"success": true
}
Get logs for a PM2 process.
The server ID.
Process ID.
Linux user running the process.
curl --request POST \
"https://flashpanel.io/api/servers/1/pm2/logs?process=0&user=www-data" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user\": \"architecto\",
\"process\": 4326.41688,
\"lines\": 17
}"
{
"output": "[PM2] Logs...",
"success": true
}
APIs for managing websites/sites on servers
The site.
curl --request GET \
--get "https://flashpanel.io/api/sites/101443/verify" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
access-control-allow-origin: *
{
"success": false,
"message": "Bad request: bad data"
}
Get a list of all sites owned by the authenticated user.
curl --request GET \
--get "https://flashpanel.io/api/sites" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"name": "example.com",
"enabled": true
}
]
}
Calculate disk usage for all sites on the server.
The server ID.
curl --request GET \
--get "https://flashpanel.io/api/servers/1/sites/usage" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Create a new website on a server.
curl --request POST \
"https://flashpanel.io/api/sites" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"server_id\": 1,
\"site_id\": 10,
\"name\": \"example.com\",
\"php_version\": \"php8.3\",
\"proxy_port\": 3000,
\"database_name\": \"mydb\",
\"wildcards\": false,
\"username\": \"myuser\",
\"password\": \"secret123\"
}"
{
"data": {
"id": 1,
"name": "example.com",
"enabled": true
}
}
Retrieve detailed information about a specific site.
The site ID.
curl --request GET \
--get "https://flashpanel.io/api/sites/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": {
"id": 1,
"name": "example.com",
"enabled": true
}
}
Remove a site and optionally its associated database/user.
The site ID.
curl --request DELETE \
"https://flashpanel.io/api/sites/1" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"database\": true,
\"database_user\": true
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
The site.
curl --request POST \
"https://flashpanel.io/api/sites/101443/agent/token" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" Verify that the site's DNS A records point to the correct server IP.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/ip-remote-check" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [
{
"domain": "example.com",
"ip": "192.168.1.1",
"success": true
}
]
Change the domain name and related settings of a site.
The site ID.
curl --request PUT \
"https://flashpanel.io/api/sites/1/name" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"newdomain.com\",
\"wildcards\": false,
\"enable_redirect\": true,
\"enable_redirect_ssl\": true,
\"preferred_url\": \"www\"
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Toggle the favorite status of a site.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/favorite" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [Empty response]
Create copies of a site to the same or different server.
The site ID.
curl --request POST \
"https://flashpanel.io/api/sites/1/clone" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"server_id\": 1,
\"sites\": [
\"clone1.com\",
\"clone2.com\"
],
\"database\": false,
\"deploy_script\": true
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
Uninstall the source code from a site.
The site ID.
curl --request DELETE \
"https://flashpanel.io/api/sites/1/uninstall" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reset\": true,
\"delete_database\": false,
\"delete_database_user\": false
}"
{
"data": {
"id": 21449,
"description": "xxx",
"status": "RUNNING",
"total_seconds": 0.848489,
"created_at": "2025-12-04T06:06:45.000000Z",
"created_at_display": "0 giây trước",
"updated_at": "2025-12-04T06:06:45.000000Z",
"output": "xxx",
"user_id": 1,
"server_id": 384,
"site_id": null,
"color": "info",
"is_finished": false,
"user_name": "User Name",
"user_avatar": "https://example.com/avatar.png",
"type": "xxx"
}
}
The site.
curl --request POST \
"https://flashpanel.io/api/sites/101443/chmod" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"folder\": \"b\",
\"file\": \"n\"
}"
The site.
curl --request POST \
"https://flashpanel.io/api/sites/101443/chown" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" The site.
curl --request POST \
"https://flashpanel.io/api/sites/101443/toggle" \
--header "Authorization: Bearer {{AUTH_TOKEN}}" \
--header "X-Code: {{AUTH_CODE}}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"enabled\": true
}"
The site.