Skip to content

Leave Cluster

DELETE
/cluster/reset-node
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.

Optional leave options

Media typeapplication/json
object
retainGuests
boolean
Examplegenerated
{
"retainGuests": true
}

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"
}