API referenceConsumerConsumer.devices
Rotate a device node key in the current project
Replaces the WireGuard node key for a device owned by the authenticated user and keeps the previous key during the transition window.
Authorization
bearer_auth AuthorizationBearer <token>
In: header
Path Parameters
id*string
Device ID
Format
uuidHeader Parameters
X-Project-Id*string
UUID of the project that scopes consumer accounts, devices, sessions, and VSpaces for the request.
Format
uuidRequest Body
application/json
Replacement base64 WireGuard node key for the target device.
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/consumer/v1/devices/55555555-5555-5555-5555-555555555555/rotate-key" \ -H "X-Project-Id: 11111111-1111-1111-1111-111111111111" \ -H "Content-Type: application/json" \ -d '{ "node_key": "AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=" }'{ "device_id": "55555555-5555-5555-5555-555555555555", "node_key": "AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=", "node_key_expires_at": "2026-07-12T10:05:00Z", "old_node_key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "rotated_at": "2026-04-13T10:05:00Z"}{ "detail": "Pool slug must be unique.", "instance": "urn:forestvpn:trace:a1b2c3d4", "title": "Validation Error", "type": "https://fvpn.net/errors/validation"}{ "detail": "Pool slug must be unique.", "instance": "urn:forestvpn:trace:a1b2c3d4", "title": "Validation Error", "type": "https://fvpn.net/errors/validation"}{ "detail": "Pool slug must be unique.", "instance": "urn:forestvpn:trace:a1b2c3d4", "title": "Validation Error", "type": "https://fvpn.net/errors/validation"}{ "detail": "Pool slug must be unique.", "instance": "urn:forestvpn:trace:a1b2c3d4", "title": "Validation Error", "type": "https://fvpn.net/errors/validation"}