# Client RPC

## `client.device.login`

If a device does not exist, it will be registered. If it already exists, it'll be updated instead. This will return a device token, which can be used by your services to authenticate a device for further interactions.

### Parameters

<table><thead><tr><th width="176">Name</th><th width="104">Type</th><th>Description</th></tr></thead><tbody><tr><td>fingerprint</td><td>string</td><td>The device fingerprint (e.g HWID) that is used to uniquely identify the device.</td></tr><tr><td>name</td><td>string</td><td>The name of the device (e.g hostname) which can be used as another form of identification, especially by customers.</td></tr></tbody></table>

### Example Response

```json
{
    "jsonrpc": "2.0",
    "result": {
        "id": "a236hq14z8wufh1qh0v7jas2",
        "name": "DESKTOP-ND83NDU",
        "createdAt": "2026-02-11T06:04:22.110Z",
        "updatedAt": "2026-02-13T01:01:17.230Z",
        "token": "at.v1.a236hq14z8wufh1qh0v7jas2.kAWcOZf3GToHw92pUzFX6f1HnSHiJZngyiGWg6zypfKsnCKnEmKeOQ.eyJ0eXBlIjoidGVzdFR5cGUiLCJjYXQiOjE3NzA0Njc1MDQxMjAsImlhdCI6MTc3MDQ2NzUwNH0",
    },
    "id": "an-id"
}
```
