Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xyrapanel/panel/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Locations are used to organize and group Wings nodes by geographic region or data center. Each node must be assigned to a location.
Endpoints
List Locations
curl -X GET "https://panel.example.com/api/admin/locations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Authentication: Admin with locations:read permission
Response:
{
"data": [
{
"id": "location-uuid",
"short": "us-east",
"long": "United States - East Coast",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"nodeCount": 5
}
]
}
Create Location
curl -X POST "https://panel.example.com/api/admin/locations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"short": "eu-west",
"long": "Europe - Western Region"
}'
Request Body:
short (required): Short identifier (1-60 characters, trimmed)
long (optional): Full location name (max 191 characters, trimmed)
Response:
{
"data": {
"id": "new-location-uuid",
"short": "eu-west",
"long": "Europe - Western Region",
"createdAt": "2024-01-15T11:00:00Z",
"updatedAt": "2024-01-15T11:00:00Z"
}
}
Update Location
curl -X PATCH "https://panel.example.com/api/admin/locations/location-uuid" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"long": "Europe - Western Region (Updated)"
}'
Request Body: Same as create, but all fields are optional
Delete Location
curl -X DELETE "https://panel.example.com/api/admin/locations/location-uuid" \
-H "Authorization: Bearer YOUR_API_KEY"
Restrictions: Cannot delete a location that has nodes assigned to it
Location Object
Short identifier for the location
Number of nodes in this location (only in list endpoint)
Notes
- Locations are ordered alphabetically by
short name
- The
nodeCount is computed via SQL join in the list endpoint
- Audit logs are created for all location operations