Skip to content

Opens a handshake and mints the new device's session token.

POST
/v1/device-links

The token is returned only to this authenticated caller, which seals it to the claimer.

Handshake opened

Media typeapplication/json

A new device-link handshake for the signed-in device. The server issues the claimer’s session token here but never ties it to the link in the clear.

object
expiresAt
required
string format: date-time
id
required
string format: uuid
token
required

Opaque bearer token for the device being linked.

string

Examplegenerated

{
"expiresAt": "2026-04-15T12:00:00Z",
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"token": "example"
}
Location
string

URL of the handshake

No valid session token

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}
WWW-Authenticate
string

The Bearer challenge (RFC 6750).

Too many link attempts

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}
Retry-After
string

Seconds to wait. Sent when the limit knows when it lifts.

The service failed

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

The service is at capacity

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}