Skip to main content
Seam is replacing the device-oriented access code vocabulary—events, errors, and warnings named for device operations, like access_code.set_on_device—with an intent-oriented lifecycle vocabulary that tells you whether the access code will work as requested. See Lifecycle Events for what each new event means and the recommended action to take. The existing device-oriented names are deprecated. Update your webhook handlers and error-handling logic to use the new names, using the mappings below.

Events

Errors

Warnings

Migration Notes

  • Updates had no dedicated event before. Editing an existing code’s PIN, name, or time frame previously reused access_code.set_on_device and access_code.failed_to_set_on_device. The new access_code.failed_to_update event covers failed updates cleanly, so some traffic that fires access_code.failed_to_set_on_device today maps to access_code.failed_to_update going forward, not access_code.failed_to_issue.
  • One success event. access_code.set_on_device and access_code.scheduled_on_device were two events for the same idea with different timings, and sometimes Seam would send only one and not the other. The single access_code.issued event supersedes both.
  • Removal failures map to failed_to_remove. access_code.failed_to_remove_from_device now maps to access_code.failed_to_remove, which covers any case where the removal or deletion didn’t go through and the code may remain active past ends_at.
  • Seam always keeps trying. Even after an access code emits one of the failure events, Seam may still emit a success event, such as access_code.issued, if a retry is able to program the code.

Next Steps