Skip to main content
To use the Seam API to program codes for users in a Salto KS ACS:
  1. Create an ACS user.
    • For Salto KS, you can specify the access_schedule for the new ACS user. An access_schedule consists of starts_at and ends_at times. In this case, a Salto KS ACS user appears as “unsubscribed” in the ACS until the starts_at time. Once the start time arrives, Seam switches the ACS user to “subscribed,” which activates their access.
  2. Assign access permissions to the ACS user by assigning them to one or more access groups.
    • Each access group is preconfigured with specific entrances and schedules.
  3. Create an ACS credential.
    • Specify the ID of the ACS user.
    • Set the access_method to code.
    Creating a new acs_credential object triggers the Salto KS ACS to generate a PIN code for the user.
When you create a credential for a Salto KS ACS, you cannot specify a custom code. Instead, you must let Salto KS generate the PIN code.
The following example walks you through this process:
Code:
// Get the ACS system.
const buildingA = await seam.acs.systems.get({
  acs_system_id: '11111111-1111-1111-1111-111111111111',
})

// Step 1:
// Create the new ACS user, including the
// desired access schedule.
const acsUser = await seam.acs.users.create({
  full_name: 'Jane Doe',
  acs_system_id: buildingA.acs_system_id,
  access_schedule: {
    starts_at: '2024-11-01T15:00:00.000Z',
    ends_at: '2024-11-04T11:00:00.000Z',
  },
})

// Step 2:
// Add the ACS user to all desired access groups.
const accessGroupIds = [
  '44444444-4444-4444-4444-333333333333',
  '44444444-4444-4444-4444-444444444444',
]
for (const accessGroupId of accessGroupIds) {
  await seam.acs.users.addToAccessGroup({
    acs_user_id: acsUser.acs_user_id,
    acs_access_group_id: accessGroupId,
  })
}

// Step 3:
// Create a PIN code for the ACS user.
const pinCode = await seam.acs.credentials.create({
  acs_user_id: acsUser.acs_user_id,
  access_method: 'code',
})

// View the new credential.
console.log(pinCode)
Output:
{
  acs_credential_id: '66666666-6666-6666-6666-666666666666',
  acs_system_id: '11111111-1111-1111-1111-111111111111',
  acs_user_id: '33333333-3333-3333-3333-333333333333',
  code: '123456',
  access_method: 'code',
  ...
}

Next Steps

To learn more about using the Seam API with your Salto KS ACS, see the following topics: