Leave Cluster
DELETE
/cluster/reset-node
const url = 'https://sylve.lan:8181/api/cluster/reset-node';const options = { method: 'DELETE', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"retainGuests":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url https://sylve.lan:8181/api/cluster/reset-node \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "retainGuests": true }'Safely remove this node from Raft and clear its local cluster state. Registered guests block a multi-node leave by default. Set retainGuests=true to keep local VM and jail registrations and release their cluster ID claims after membership removal. Other dependencies still block.
Authorizations
Section titled “Authorizations”Request Body
Section titled “Request Body”Optional leave options
Media typeapplication/json
object
retainGuests
boolean
Examplegenerated
{ "retainGuests": true}Responses
Section titled “Responses”Success
Media typeapplication/json
object
data
object
cleanupAcknowledged
boolean
membershipRemoved
boolean
retainedGuests
Array<object>
object
guestId
integer
guestType
string
name
string
nodeId
string
recordId
integer
status
object
attempts
integer
enabled
boolean
lastError
string
leaderIp
string
leaveId
string
localNodeId
string
phase
string
retainGuests
boolean
error
string
message
string
status
string
Examplegenerated
{ "data": { "cleanupAcknowledged": true, "membershipRemoved": true, "retainedGuests": [ { "guestId": 1, "guestType": "example", "name": "example", "nodeId": "example", "recordId": 1 } ], "status": { "attempts": 1, "enabled": true, "lastError": "example", "leaderIp": "example", "leaveId": "example", "localNodeId": "example", "phase": "example", "retainGuests": true } }, "error": "example", "message": "example", "status": "example"}Leave pending
Media typeapplication/json
object
data
object
cleanupAcknowledged
boolean
membershipRemoved
boolean
retainedGuests
Array<object>
object
guestId
integer
guestType
string
name
string
nodeId
string
recordId
integer
status
object
attempts
integer
enabled
boolean
lastError
string
leaderIp
string
leaveId
string
localNodeId
string
phase
string
retainGuests
boolean
error
string
message
string
status
string
Examplegenerated
{ "data": { "cleanupAcknowledged": true, "membershipRemoved": true, "retainedGuests": [ { "guestId": 1, "guestType": "example", "name": "example", "nodeId": "example", "recordId": 1 } ], "status": { "attempts": 1, "enabled": true, "lastError": "example", "leaderIp": "example", "leaveId": "example", "localNodeId": "example", "phase": "example", "retainGuests": true } }, "error": "example", "message": "example", "status": "example"}Bad Request
Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{ "data": "example", "error": "example", "message": "example", "status": "example"}Unauthorized
Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{ "data": "example", "error": "example", "message": "example", "status": "example"}Forbidden
Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{ "data": "example", "error": "example", "message": "example", "status": "example"}Leave conflict
Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{ "data": "example", "error": "example", "message": "example", "status": "example"}Internal Server Error
Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{ "data": "example", "error": "example", "message": "example", "status": "example"}Service Unavailable
Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{ "data": "example", "error": "example", "message": "example", "status": "example"}