Skip to content
Docs
Reference

BackstageClient.devicePairing

BackstageClient.devicePairing in @ticketlayer/backstage.

@ticketlayer/backstage


@ticketlayer/backstage / BackstageClient / devicePairing

devicePairing: {
  claim: (request: {
     accountId: string;
     accountRoles: {
        accountId: string;
        roleId: string;
     }[];
     locationId?: string;
     name: string;
     userCode: string;
   }, requestOptions?: RequestOptions) => Promise<{
     deviceInfo: {
        name?: string;
        platform?: {
         [key: string]: unknown;
        };
        type: string;
     };
     pairingId: string;
     status: string;
  }>;
  confirm: (pairingId: string, request: {
     deviceCode: string;
   }, requestOptions?: RequestOptions) => Promise<{
     deviceId: string;
     deviceSecret: string;
  }>;
  getStatus: (pairingId: string, requestOptions?: RequestOptions) => Promise<{
     claimedBy?: {
        location?: {
           id: string;
           name: string;
        };
        organisationId: string;
        organisationName?: string;
     };
     grantSummary?: string;
     status: string;
  }>;
  reject: (pairingId: string, request: {
     deviceCode: string;
  }, requestOptions?: RequestOptions) => Promise<string>;
  start: (request: {
     name?: string;
     platform?: {
        appVersion?: string;
        arch?: string;
        hostname?: string;
        os?: string;
        osVersion?: string;
     };
     type: "relay" | "kiosk" | "scanner" | "signage";
   }, requestOptions?: RequestOptions) => Promise<{
     deviceCode: string;
     expiresAt: string;
     pairingId: string;
     pollIntervalSeconds: number;
     userCode: string;
     verificationUrl: string;
     verificationUrlComplete: string;
  }>;
};

Defined in: client.ts:9600

Device Pairing methods

claim()#

claim: (request: {
  accountId: string;
  accountRoles: {
     accountId: string;
     roleId: string;
  }[];
  locationId?: string;
  name: string;
  userCode: string;
}, requestOptions?: RequestOptions) => Promise<{
  deviceInfo: {
     name?: string;
     platform?: {
      [key: string]: unknown;
     };
     type: string;
  };
  pairingId: string;
  status: string;
}>;

Claim a device pairing Staff claim a pending pairing for their organisation, naming the device and granting roles.

Parameters#

ParameterType
request{ accountId: string; accountRoles: { accountId: string; roleId: string; }[]; locationId?: string; name: string; userCode: string; }
request.accountIdstring
request.accountRoles?{ accountId: string; roleId: string; }[]
request.locationId?string
request.name?string
request.userCode?string
requestOptions?RequestOptions

Returns#

Promise<{ deviceInfo: { name?: string; platform?: { [key: string]: unknown; }; type: string; }; pairingId: string; status: string; }>

Operation Id#

claimDevicePairing

confirm()#

confirm: (pairingId: string, request: {
  deviceCode: string;
}, requestOptions?: RequestOptions) => Promise<{
  deviceId: string;
  deviceSecret: string;
}>;

Confirm device adoption The device confirms adoption and receives its id + one-time secret (device-code auth).

Parameters#

ParameterType
pairingIdstring
request{ deviceCode: string; }
request.deviceCodestring
requestOptions?RequestOptions

Returns#

Promise<{ deviceId: string; deviceSecret: string; }>

Operation Id#

confirmDevicePairing

getStatus()#

getStatus: (pairingId: string, requestOptions?: RequestOptions) => Promise<{
  claimedBy?: {
     location?: {
        id: string;
        name: string;
     };
     organisationId: string;
     organisationName?: string;
  };
  grantSummary?: string;
  status: string;
}>;

Poll device pairing status The device polls pairing status, authenticated by its device code (query or X-Device-Code header).

Parameters#

ParameterType
pairingIdstring
requestOptions?RequestOptions

Returns#

Promise<{ claimedBy?: { location?: { id: string; name: string; }; organisationId: string; organisationName?: string; }; grantSummary?: string; status: string; }>

Operation Id#

getDevicePairing

reject()#

reject: (pairingId: string, request: {
  deviceCode: string;
}, requestOptions?: RequestOptions) => Promise<string>;

Reject device adoption The device rejects adoption; the pairing is invalidated (device-code auth).

Parameters#

ParameterType
pairingIdstring
request{ deviceCode: string; }
request.deviceCodestring
requestOptions?RequestOptions

Returns#

Promise<string>

Operation Id#

rejectDevicePairing

start()#

start: (request: {
  name?: string;
  platform?: {
     appVersion?: string;
     arch?: string;
     hostname?: string;
     os?: string;
     osVersion?: string;
  };
  type: "relay" | "kiosk" | "scanner" | "signage";
}, requestOptions?: RequestOptions) => Promise<{
  deviceCode: string;
  expiresAt: string;
  pairingId: string;
  pollIntervalSeconds: number;
  userCode: string;
  verificationUrl: string;
  verificationUrlComplete: string;
}>;

Start device pairing A device begins pairing and receives a user code + device code (unauthenticated).

Parameters#

ParameterType
request{ name?: string; platform?: { appVersion?: string; arch?: string; hostname?: string; os?: string; osVersion?: string; }; type: "relay" | "kiosk" | "scanner" | "signage"; }
request.name?string
request.platform?{ appVersion?: string; arch?: string; hostname?: string; os?: string; osVersion?: string; }
request.platform.appVersion?string
request.platform.arch?string
request.platform.hostname?string
request.platform.os?string
request.platform.osVersion?string
request.type?"relay" | "kiosk" | "scanner" | "signage"
requestOptions?RequestOptions

Returns#

Promise<{ deviceCode: string; expiresAt: string; pairingId: string; pollIntervalSeconds: number; userCode: string; verificationUrl: string; verificationUrlComplete: string; }>

Operation Id#

startDevicePairing