PairingExchangeResponse
One-time credential response returned after successful pairing.
Stable identifier assigned to the device.
cluster objectrequired
Validated cluster identity bound to the credential.
Cluster identity format version.
11Stable random cluster ID used in pairing and compatibility checks.
Operator-visible cluster name; defaults to Cluster.
Possible values: non-empty and <= 80 characters
ClusterUnpadded URL-safe base64 Ed25519 cluster public key.
SHA-256 fingerprint derived from the cluster public key.
Timezone-aware UTC timestamp when the cluster identity was created.
Opaque short-lived bearer credential returned only once.
UTC expiry of the access credential.
Opaque rotating refresh credential returned only once.
UTC expiry of the refresh credential.
Canonical API scopes granted to the paired device.
Possible values: [cluster:read, models:read, chat:write, operations:write, devices:manage, plugins:read, plugins:manage, plugins:approve]
remoteAccess object
One-time relay and pinned inner-TLS material when this gateway has remote access configured.
- OperatorRemoteAccessMaterial
- null
Selected remote carrier contract.
paired_websocket_v1Outer WebSocket endpoint used for each independent request.
Opaque relay route locator.
Opaque app-role carrier bearer stored in platform secure storage.
Inner TLS server name authenticated by the pinned certificate.
PEM trust anchor for end-to-end TLS terminating at Skulk.
{
"deviceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cluster": {
"formatVersion": 1,
"clusterId": "string",
"name": "Cluster",
"publicKey": "string",
"fingerprint": "string",
"createdAt": "2024-07-29T15:51:28.071Z"
},
"accessToken": "string",
"accessTokenExpiresAt": "2024-07-29T15:51:28.071Z",
"refreshToken": "string",
"refreshTokenExpiresAt": "2024-07-29T15:51:28.071Z",
"scopes": [
"cluster:read"
],
"remoteAccess": {
"transport": "paired_websocket_v1",
"appWebsocketUrl": "string",
"routingLocator": "string",
"appCarrierCredential": "string",
"gatewayServerName": "string",
"gatewayCaCertificatePem": "string"
}
}