Skip to content
API referenceConsumerConsumer.devices

Approve a pending device

POST
/consumer/v1/devices/{id}/authorization/approve

Account owners and admins can approve a pending device on their own consumer account so it becomes active.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Device ID

Formatuuid

Header Parameters

X-Project-Id*string

UUID of the project that scopes consumer accounts, devices, sessions, and VSpaces for the request.

Formatuuid

Request Body

application/json

Optional audit reason for approval.

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/consumer/v1/devices/55555555-5555-5555-5555-555555555555/authorization/approve" \  -H "X-Project-Id: 11111111-1111-1111-1111-111111111111" \  -H "Content-Type: application/json" \  -d '{    "reason": "Verified with IT"  }'
{  "authorized_at": "2026-04-22T12:00:00Z",  "authorized_by": "22222222-2222-2222-2222-222222222222",  "device_id": "55555555-5555-5555-5555-555555555555",  "status": "active"}
{  "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"}
{  "detail": "Pool slug must be unique.",  "instance": "urn:forestvpn:trace:a1b2c3d4",  "title": "Validation Error",  "type": "https://fvpn.net/errors/validation"}