Skip to main content

Devices

Each CVault user can register up to maxDevicesPerUser (default: 5) devices. Each device gets a unique WireGuard keypair and VPN IP.

Register a Device

POST /cvault/v1/devices

Headers: X-API-Key, Authorization: Bearer <jwt>

{
"deviceName": "My MacBook",
"deviceType": "macOS"
}

Supported device types: iOS, Android, Windows, macOS, Linux

Response:

{
"device": {
"id": "uuid",
"deviceName": "My MacBook",
"assignedIp": "10.8.0.5",
"publicKey": "...",
"status": "ACTIVE"
},
"config": "[Interface]\nAddress = 10.8.0.5/16\n..."
}

List Devices

GET /cvault/v1/devices

Returns all devices for the authenticated user.

Download Config

GET /cvault/v1/devices/:deviceId/config

Returns the WireGuard .conf file for the specified device.

Revoke Device

DELETE /cvault/v1/devices/:deviceId

Removes the device from the WireGuard server and marks it as REVOKED.

Device Lifecycle

ACTIVE → REVOKED (on delete)

Revoked devices cannot reconnect. A new device must be registered to replace it.