How does remotely claiming work, from a technical standpoint?

There are two aspects to this:

Developer (non-product) devices

An unclaimed developer device has a full cloud connection, but published events basically disappear because no one can listen for the event, since it’s unclaimed.

No one can send events to, call functions, read variables, or OTA an unclaimed developer device.

A full cloud connection is maintained because the claim process can only be done when the device is online and breathing cyan, and from the cloud standpoint every device that’s online is kept track of whether claimed or not.

Product devices

We now recommend that you do not claim product devices to an account. Variables, functions, and OTA work with unclaimed devices because they have product membership, and the product controls these things. As of early 2023, publish and subscribe work properly with unclaimed devices as well.

There are two exceptions to this suggestion:

  • Product firmware developers may want to claim devices to their own account so they can flash product devices that have Mark as Development set from Workbench or the Web IDE
  • If you are using customer accounts from a mobile app so you can make Particle API calls on behalf of your customer directly from the mobile app. We don’t recommend doing this anymore, as it’s generally better to make the API calls from your back-end, but it is a reason to claim to a customer account.

If you do device to claim devices to an account, it’s often common to claim all devices to a single account. This is mainly for historical reasons from the time when unclaimed product devices could not receive events. However, for product devices, particle device add works even if the device is offline if the claiming user is a team member of the product.

1 Like