POST /api/servers/:server/transfer
Initiates an outgoing server transfer to a destination node. This endpoint archives the server data and streams it to the target node.Path Parameters
string
required
The UUID of the server to transfer
Request Body
string
required
The destination node’s transfer endpoint URL where the archive will be sent
string
required
JWT bearer token for authenticating with the destination node
object
required
Server configuration details for the destination node
Response
Returns202 Accepted when the transfer is successfully initiated. The transfer runs asynchronously in the background.
Error Responses
error
A transfer is already in progress for this server
error
Failed to stop the server before initiating transfer
Transfer Process
When you initiate a transfer, Wings performs the following steps:1
Server Stop
Stops the server if it’s currently running (waits up to 15 seconds)
2
Archive Creation
Creates a compressed archive of all server files
3
Stream to Destination
Streams the archive to the destination node with progress updates every 5 seconds
4
Checksum Verification
Sends a SHA-256 checksum for the destination to verify data integrity
The source node does not send a success status to the panel. Only the destination node reports success. If the transfer fails, the source node notifies the panel to reset the transfer state.
Example Request
cURL
JavaScript
Python
Example Response
Monitoring Transfer Progress
You can monitor transfer progress through the server’s WebSocket connection. The transfer system publishes events:- Transfer logs: Real-time progress messages (upload percentage, status updates)
- Transfer status: Current status (pending, processing, cancelling, cancelled, failed, completed)
Related Endpoints
Receive Transfer
Receive an incoming server transfer
Cancel Transfer
Cancel an outgoing server transfer
