API referenceConsumerConsumer.devices
Approve a device as an exit node
Owner / Admin action: approves a (possibly narrowed) subset of the device's currently-advertised routes. The approved set must be a non-empty subset of the device's advertised_routes; the device is then flipped to approved and becomes selectable as an exit hop.
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
Subset of advertised routes to approve.
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/exit-node/approve" \ -H "X-Project-Id: 11111111-1111-1111-1111-111111111111" \ -H "Content-Type: application/json" \ -d '{ "routes": [ "10.0.0.0/24" ] }'{ "advertise_capability": "kernel", "advertised_routes": [ "0.0.0.0/0", "::/0" ], "approved_routes": null, "device_id": "55555555-5555-5555-5555-555555555555", "exit_node_status": "pending", "platform": "linux"}{ "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"}