Skip to content
shuffl

Searches the public product guides only. Nothing from a workspace is read, and questions are not saved.

Reference

Laptops and devices API

12 operations. Generated from the OpenAPI document, so this page always matches the API.

OpenAPI documentErrors and rate limitsSDK and CLI recipes

On this page

devices.catalog

List the laptops the connected shipping partner can send

POST/api/v1/manage/devices/catalog

const result = await shuffl.devices.catalog();
Request fields (none)

This operation takes no input.

Response object

The response is object.

devices.connections

List the connected device management and shipping partner

POST/api/v1/manage/devices/connections

const result = await shuffl.devices.connections();
Request fields (none)

This operation takes no input.

Response object
  • connections object[] required
    • canLock boolean required
    • canWipe boolean required
    • connectedAt string required
    • devices number required
    • id string required
    • label string required
    • lastSyncedAt null | string required
    • provider "firstbase" | "fixture_mdm" | "fixture_shipping" | "intune" | "jamf" | "kandji" required
    • providerName string required
    • role "mdm" | "shipping" required
    • status "connected" | "disconnected" | "needs_attention" required
  • offered object[] required
    • blurb string required
    • canLock boolean required
    • canWipe boolean required
    • docsHref string required
    • fields object[] required
      • help string optional
      • label string required
      • name string required
      • optional false | true optional
      • placeholder string optional
      • type "password" | "text" | "url" required
    • id "firstbase" | "fixture_mdm" | "fixture_shipping" | "intune" | "jamf" | "kandji" required
    • name string required
    • role "mdm" | "shipping" required
    • steps string[] required

devices.forPerson

Read one person’s devices, laptop orders and return kits

POST/api/v1/manage/devices/forPerson

const result = await shuffl.devices.forPerson({
"personId": "<personId>"
});
Request fields (1)
  • personId string required
Response object
  • devices object[] required
    • canLock boolean required
    • canWipe boolean required
    • encrypted null | false | true required
    • enrolledAt null | string required
    • id string required
    • issues object[] required
      • code "encryption_off" | "firewall_off" | "not_checked_in" | "os_update" | "passcode" required
      • fix string required
      • label string required
    • lastCheckInAt null | string required
    • lockedAt null | string required
    • match "email" | "manual" | "none" required
    • model null | string required
    • name string required
    • osVersion null | string required
    • person null | object required
      • id string required
      • name string required
    • platform "android" | "ios" | "linux" | "mac" | "other" | "windows" required
    • platformLabel string required
    • provider string required
    • providerName string required
    • serialLast4 null | string required
    • status "active" | "locked" | "removed" | "wiped" required
    • statusLabel string required
    • wipedAt null | string required
  • person object required
    • id string required
    • lastDay null | string required
    • name string required
    • startDate null | string required
  • shipments object[] required
    • addressSummary null | string required
    • carrier null | string required
    • createdAt string required
    • deliveredAt null | string required
    • devices number required
    • direction "order" | "return" required
    • errorCode null | string required
    • expectedBy null | string required
    • fromPlaybook boolean required
    • id string required
    • model null | string required
    • person object required
      • id string required
      • name string required
    • provider string required
    • providerName string required
    • receivedAt null | string required
    • skuId null | string required
    • status "cancelled" | "delivered" | "failed" | "in_transit" | "ordered" | "prepared" | "received" | "shipped" required
    • statusLabel string required
    • trackingCode null | string required
    • trackingUrl null | string required
    • updatedAt string required

devices.list

List the devices device management reports, what each needs and who has it

POST/api/v1/manage/devices/list

const result = await shuffl.devices.list({});
Request fields (4)
  • issues false | true optional
  • limit number optional
  • query string optional
  • unmatched false | true optional
Response object
  • counts object required
    • issues number required
    • locked number required
    • total number required
    • unmatched number required
    • wiped number required
  • devices object[] required
    • canLock boolean required
    • canWipe boolean required
    • encrypted null | false | true required
    • enrolledAt null | string required
    • id string required
    • issues object[] required
      • code "encryption_off" | "firewall_off" | "not_checked_in" | "os_update" | "passcode" required
      • fix string required
      • label string required
    • lastCheckInAt null | string required
    • lockedAt null | string required
    • match "email" | "manual" | "none" required
    • model null | string required
    • name string required
    • osVersion null | string required
    • person null | object required
      • id string required
      • name string required
    • platform "android" | "ios" | "linux" | "mac" | "other" | "windows" required
    • platformLabel string required
    • provider string required
    • providerName string required
    • serialLast4 null | string required
    • status "active" | "locked" | "removed" | "wiped" required
    • statusLabel string required
    • wipedAt null | string required
  • shipments object[] required
    • addressSummary null | string required
    • carrier null | string required
    • createdAt string required
    • deliveredAt null | string required
    • devices number required
    • direction "order" | "return" required
    • errorCode null | string required
    • expectedBy null | string required
    • fromPlaybook boolean required
    • id string required
    • model null | string required
    • person object required
      • id string required
      • name string required
    • provider string required
    • providerName string required
    • receivedAt null | string required
    • skuId null | string required
    • status "cancelled" | "delivered" | "failed" | "in_transit" | "ordered" | "prepared" | "received" | "shipped" required
    • statusLabel string required
    • trackingCode null | string required
    • trackingUrl null | string required
    • updatedAt string required

devices.mine

List your own laptops and devices, what each needs, and where your laptop or return kit is

POST/api/v1/manage/devices/mine

const result = await shuffl.devices.mine();
Request fields (none)

This operation takes no input.

Response object
  • connected boolean required
  • devices object[] required
    • canLock boolean required
    • canWipe boolean required
    • encrypted null | false | true required
    • enrolledAt null | string required
    • id string required
    • issues object[] required
      • code "encryption_off" | "firewall_off" | "not_checked_in" | "os_update" | "passcode" required
      • fix string required
      • label string required
    • lastCheckInAt null | string required
    • lockedAt null | string required
    • match "email" | "manual" | "none" required
    • model null | string required
    • name string required
    • osVersion null | string required
    • person null | object required
      • id string required
      • name string required
    • platform "android" | "ios" | "linux" | "mac" | "other" | "windows" required
    • platformLabel string required
    • provider string required
    • providerName string required
    • serialLast4 null | string required
    • status "active" | "locked" | "removed" | "wiped" required
    • statusLabel string required
    • wipedAt null | string required
  • shipments object[] required
    • addressSummary null | string required
    • carrier null | string required
    • createdAt string required
    • deliveredAt null | string required
    • devices number required
    • direction "order" | "return" required
    • errorCode null | string required
    • expectedBy null | string required
    • fromPlaybook boolean required
    • id string required
    • model null | string required
    • person object required
      • id string required
      • name string required
    • provider string required
    • providerName string required
    • receivedAt null | string required
    • skuId null | string required
    • status "cancelled" | "delivered" | "failed" | "in_transit" | "ordered" | "prepared" | "received" | "shipped" required
    • statusLabel string required
    • trackingCode null | string required
    • trackingUrl null | string required
    • updatedAt string required

devices.disconnect

Disconnect device management or the shipping partner; shipments keep their status

POST/api/v1/manage/devices/disconnect

  • Write
  • Permission devices.disconnect
  • Needs a requestKey
  • Needs confirm set to devices.disconnect
const result = await shuffl.devices.disconnect({
"connectionId": "<connectionId>",
"confirm": "devices.disconnect",
"requestKey": "a-new-unique-key"
});
Request fields (3)
  • connectionId string required
  • confirm "devices.disconnect" required
  • requestKey string required1 to 128 characters
Response object
  • receipt object required
    • completedAt string (date-time) | null required
    • createdAt string (date-time) required
    • id string (uuid) required
    • operation string required
    • requestKey string required
    • status "running" | "succeeded" | "failed" | "unknown" required
  • result object | null required
    • disconnected boolean required

devices.lock

Lock a device through device management

POST/api/v1/manage/devices/lock

  • Write
  • Permission devices.lock
  • Needs a requestKey
  • Needs confirm set to devices.lock
const result = await shuffl.devices.lock({
"deviceId": "<deviceId>",
"requestKey": "a-new-unique-key",
"confirm": "devices.lock"
});
Request fields (4)
  • deviceId string required
  • message string optional
  • requestKey string required1 to 128 characters
  • confirm "devices.lock" required
Response object
  • receipt object required
    • completedAt string (date-time) | null required
    • createdAt string (date-time) required
    • id string (uuid) required
    • operation string required
    • requestKey string required
    • status "running" | "succeeded" | "failed" | "unknown" required
  • result object | null required
    • device object required
      • canLock boolean required
      • canWipe boolean required
      • encrypted null | false | true required
      • enrolledAt null | string required
      • id string required
      • issues object[] required
        • code "encryption_off" | "firewall_off" | "not_checked_in" | "os_update" | "passcode" required
        • fix string required
        • label string required
      • lastCheckInAt null | string required
      • lockedAt null | string required
      • match "email" | "manual" | "none" required
      • model null | string required
      • name string required
      • osVersion null | string required
      • person null | object required
        • id string required
        • name string required
      • platform "android" | "ios" | "linux" | "mac" | "other" | "windows" required
      • platformLabel string required
      • provider string required
      • providerName string required
      • serialLast4 null | string required
      • status "active" | "locked" | "removed" | "wiped" required
      • statusLabel string required
      • wipedAt null | string required
    • summary string required
    • unlockPin null | string required

devices.match

Match a device to a person in People, or clear the match

POST/api/v1/manage/devices/match

  • Write
  • Permission devices.match
  • Needs a requestKey
  • Needs confirm set to devices.match
const result = await shuffl.devices.match({
"deviceId": "<deviceId>",
"personId": "<personId>",
"confirm": "devices.match",
"requestKey": "a-new-unique-key"
});
Request fields (4)
  • deviceId string required
  • personId null | string required
  • confirm "devices.match" required
  • requestKey string required1 to 128 characters
Response object
  • receipt object required
    • completedAt string (date-time) | null required
    • createdAt string (date-time) required
    • id string (uuid) required
    • operation string required
    • requestKey string required
    • status "running" | "succeeded" | "failed" | "unknown" required
  • result object | null required
    • canLock boolean required
    • canWipe boolean required
    • encrypted null | false | true required
    • enrolledAt null | string required
    • id string required
    • issues object[] required
      • code "encryption_off" | "firewall_off" | "not_checked_in" | "os_update" | "passcode" required
      • fix string required
      • label string required
    • lastCheckInAt null | string required
    • lockedAt null | string required
    • match "email" | "manual" | "none" required
    • model null | string required
    • name string required
    • osVersion null | string required
    • person null | object required
      • id string required
      • name string required
    • platform "android" | "ios" | "linux" | "mac" | "other" | "windows" required
    • platformLabel string required
    • provider string required
    • providerName string required
    • serialLast4 null | string required
    • status "active" | "locked" | "removed" | "wiped" required
    • statusLabel string required
    • wipedAt null | string required

devices.order

Order a person’s laptop through the shipping partner

POST/api/v1/manage/devices/order

  • Write
  • Permission devices.order
  • Needs a requestKey
  • Needs confirm set to devices.order
const result = await shuffl.devices.order({
"personId": "<personId>",
"requestKey": "a-new-unique-key",
"confirm": "devices.order"
});
Request fields (4)
  • personId string required
  • requestKey string required1 to 128 characters
  • skuId string optional
  • confirm "devices.order" required
Response object
  • receipt object required
    • completedAt string (date-time) | null required
    • createdAt string (date-time) required
    • id string (uuid) required
    • operation string required
    • requestKey string required
    • status "running" | "succeeded" | "failed" | "unknown" required
  • result object | null required
    • shipment object required
      • addressSummary null | string required
      • carrier null | string required
      • createdAt string required
      • deliveredAt null | string required
      • devices number required
      • direction "order" | "return" required
      • errorCode null | string required
      • expectedBy null | string required
      • fromPlaybook boolean required
      • id string required
      • model null | string required
      • person object required
        • id string required
        • name string required
      • provider string required
      • providerName string required
      • receivedAt null | string required
      • skuId null | string required
      • status "cancelled" | "delivered" | "failed" | "in_transit" | "ordered" | "prepared" | "received" | "shipped" required
      • statusLabel string required
      • trackingCode null | string required
      • trackingUrl null | string required
      • updatedAt string required
    • status "approved" | "cancelled" | "declined" | "failed" | "prepared" | "resolved" | "running" | "submitted" | "unknown" required
    • summary string required

devices.return

Send a person a return kit for the laptops device management lists for them

POST/api/v1/manage/devices/return

  • Write
  • Permission devices.return
  • Needs a requestKey
  • Needs confirm set to devices.return
const result = await shuffl.devices.return({
"personId": "<personId>",
"requestKey": "a-new-unique-key",
"confirm": "devices.return"
});
Request fields (3)
  • personId string required
  • requestKey string required1 to 128 characters
  • confirm "devices.return" required
Response object
  • receipt object required
    • completedAt string (date-time) | null required
    • createdAt string (date-time) required
    • id string (uuid) required
    • operation string required
    • requestKey string required
    • status "running" | "succeeded" | "failed" | "unknown" required
  • result object | null required
    • shipment object required
      • addressSummary null | string required
      • carrier null | string required
      • createdAt string required
      • deliveredAt null | string required
      • devices number required
      • direction "order" | "return" required
      • errorCode null | string required
      • expectedBy null | string required
      • fromPlaybook boolean required
      • id string required
      • model null | string required
      • person object required
        • id string required
        • name string required
      • provider string required
      • providerName string required
      • receivedAt null | string required
      • skuId null | string required
      • status "cancelled" | "delivered" | "failed" | "in_transit" | "ordered" | "prepared" | "received" | "shipped" required
      • statusLabel string required
      • trackingCode null | string required
      • trackingUrl null | string required
      • updatedAt string required
    • status "approved" | "cancelled" | "declined" | "failed" | "prepared" | "resolved" | "running" | "submitted" | "unknown" required
    • summary string required

devices.sync

Read the fleet from device management now

POST/api/v1/manage/devices/sync

  • Write
  • Permission devices.sync
  • Needs a requestKey
  • Needs confirm set to devices.sync
const result = await shuffl.devices.sync({
"connectionId": "<connectionId>",
"confirm": "devices.sync",
"requestKey": "a-new-unique-key"
});
Request fields (3)
  • connectionId string required
  • confirm "devices.sync" required
  • requestKey string required1 to 128 characters
Response object
  • receipt object required
    • completedAt string (date-time) | null required
    • createdAt string (date-time) required
    • id string (uuid) required
    • operation string required
    • requestKey string required
    • status "running" | "succeeded" | "failed" | "unknown" required
  • result object | null required
    • devices number required
    • issues number required
    • matched number required

devices.wipe

Wipe a device through device management, confirmed with the last four characters of its serial

POST/api/v1/manage/devices/wipe

  • Write
  • Permission devices.wipe
  • Needs a requestKey
  • Needs confirm set to devices.wipe
const result = await shuffl.devices.wipe({
"confirmSerial": "<confirmSerial>",
"deviceId": "<deviceId>",
"requestKey": "a-new-unique-key",
"confirm": "devices.wipe"
});
Request fields (4)
  • confirmSerial string required
  • deviceId string required
  • requestKey string required1 to 128 characters
  • confirm "devices.wipe" required
Response object
  • receipt object required
    • completedAt string (date-time) | null required
    • createdAt string (date-time) required
    • id string (uuid) required
    • operation string required
    • requestKey string required
    • status "running" | "succeeded" | "failed" | "unknown" required
  • result object | null required
    • device object required
      • canLock boolean required
      • canWipe boolean required
      • encrypted null | false | true required
      • enrolledAt null | string required
      • id string required
      • issues object[] required
        • code "encryption_off" | "firewall_off" | "not_checked_in" | "os_update" | "passcode" required
        • fix string required
        • label string required
      • lastCheckInAt null | string required
      • lockedAt null | string required
      • match "email" | "manual" | "none" required
      • model null | string required
      • name string required
      • osVersion null | string required
      • person null | object required
        • id string required
        • name string required
      • platform "android" | "ios" | "linux" | "mac" | "other" | "windows" required
      • platformLabel string required
      • provider string required
      • providerName string required
      • serialLast4 null | string required
      • status "active" | "locked" | "removed" | "wiped" required
      • statusLabel string required
      • wipedAt null | string required
    • summary string required
    • unlockPin null | string required