Skip to content

Puts the claiming device's ephemeral public key.

PUT
/v1/device-links/{id}/offer

Unauthenticated, because the claimer is not signed in: only the sealing device can check the QR-derived proof. Putting the same offer again changes nothing.

  • None
id
required
string format: uuid

Handshake id

Media typeapplication/json

The claiming device’s ephemeral public key. The QR-derived proof is checked by the sealing device, not the server, which never holds the channel secret.

object
claimerPubKey
required

Base64 ephemeral ECDH public key (SPKI).

string
proof
required

Base64 HMAC over the offer, keyed by the channel secret from the QR.

string

Examplegenerated

{
"claimerPubKey": "example",
"proof": "example"
}

Offer accepted

The request is malformed

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"
}

Expired or out of order

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 body is too large

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 body is not JSON

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"
}
Accept
string

The media type the operation takes.

Too many requests

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"
}