Create a Credential for a User

Create a new credential for a specified ACS user

Creates a new credential for a specified ACS user.

/acs/credentials/create

POSThttps://connect.getseam.com/acs/credentials/create
Authorization
Body
credential_manager_acs_system_idstring (uuid)
acs_user_id*string (uuid)
access_method*enum
codecardmobile_key
codestring
is_multi_phone_sync_credentialboolean
allowed_acs_entrance_idsarray of string (uuid)
visionline_metadataobject
starts_atstring (date-time)
ends_atstring (date-time)
Response

OK

Body
acs_credential*acs_credential (object)
ok*boolean
Request
const response = await fetch('https://connect.getseam.com/acs/credentials/create', {
    method: 'POST',
    headers: {
      "Authorization": "Bearer API Token",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "acs_user_id": "123e4567-e89b-12d3-a456-426614174000",
      "access_method": "code"
    }),
});
const data = await response.json();
Response
{
  "acs_credential": {
    "acs_credential_id": "123e4567-e89b-12d3-a456-426614174000",
    "acs_user_id": "123e4567-e89b-12d3-a456-426614174000",
    "acs_credential_pool_id": "123e4567-e89b-12d3-a456-426614174000",
    "acs_system_id": "123e4567-e89b-12d3-a456-426614174000",
    "parent_acs_credential_id": "123e4567-e89b-12d3-a456-426614174000",
    "display_name": "text",
    "code": "text",
    "access_method": "code",
    "external_type": "pti_card",
    "external_type_display_name": "text",
    "created_at": "2024-09-16T19:07:57.006Z",
    "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
    "starts_at": "text",
    "ends_at": "text",
    "errors": [
      {
        "error_code": "text",
        "message": "text"
      }
    ],
    "warnings": [
      {
        "warning_code": "text",
        "message": "text"
      }
    ],
    "is_multi_phone_sync_credential": false,
    "is_latest_desired_state_synced_with_provider": false,
    "latest_desired_state_synced_with_provider_at": "2024-09-16T19:07:57.006Z",
    "visionline_metadata": {
      "card_function_type": "guest",
      "joiner_acs_credential_ids": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "guest_acs_entrance_ids": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "common_acs_entrance_ids": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "is_valid": false,
      "card_id": "text",
      "credential_id": "text"
    },
    "is_managed": true
  },
  "ok": false
}

Request

Specify the user to which the new credential belongs and the access method for the new credential by including the corresponding acs_user_id and access_method in the request body. You can also specify additional parameters, such as a code for the credential. Note that the access_method determines the additional required and useful parameters.

Request Body Parameters

ParameterTypeDescription

acs_user_id

String (UUID) Required

ID of the user to whom the new credential belongs

access_method

Enum (string) Required

Access method for the new credential. Supported values: code, card, mobile_key

code

String Optional

Access (PIN) code for the new credential There may be manufacturer-specific code restrictions. For details, see the applicable device or system integration guide.

is_multi_phone_sync_credential

Boolean Optional

Indicates whether the new credential is a multi-phone sync credential

allowed_acs_entrance_ids

Array of strings (UUIDs) Optional

Set of IDs of the entrances for which the new credential grants access

credential_manager_acs_system_id

Enum (string) Optional

ACS system ID of the credential manager for the new user

XXX_metadata

Object Optional

ACS manufacturer-specific metadata for the new credential, where XXX is the manufacturer

starts_at

Datetime Optional

Date and time at which the validity of the new credential starts, in ISO 8601 format.

ends_at

Datetime Optional

Date and time at which the validity of the new credential ends, in ISO 8601 format. Must be a time in the future and after starts_at.

Sample Request

PIN Code-Based Credential

seam.acs.credentials.create(
  acs_user_id="33333333-3333-3333-3333-333333333333",
  access_method="code",
  code="824759"
)

Key Card-Based Credential

seam.acs.credentials.create(
  acs_user_id="33333333-3333-3333-3333-333333333333",
  access_method="card",
  code="123456"
)

Seam Mobile Key

This request contains manufacturer-specific metadata that may vary by manufacturer.

seam.acs.credentials.create(
  acs_user_id="33333333-3333-3333-3333-333333333333",
  allowed_acs_entrance_ids=[
    "55555555-5555-5555-5555-555555555555",
    "55555555-5555-5555-5555-000000000000"
  ],
  credential_manager_acs_system_id="88888888-8888-8888-8888-888888888888",
  access_method="mobile_key",
  is_multi_phone_sync_credential=True,
  starts_at="2024-03-01T10:40:00Z",
  ends_at="2024-03-04T10:40:00Z",
  # manufacturer-specific metadata
)

Response

Returns an acs_credential containing the following properties:

PropertyDescription

acs_credential_id

ID of the credential

acs_user_id

ID of the user to whom the credential belongs

display_name

Display name that corresponds to the credential type

code

Access (PIN) code for the credential

acs_system_id

ID of the access control system that contains the credential

access_method

Access method for the credential. Supported values: code, card, mobile_key

external_type

Brand-specific terminology for the credential type

external_type_display_name

Display name that corresponds to the brand-specific terminology for the credential type

workspace_id

ID of the workspace that contains the credential

created_at

Date and time at which the credential was created

is_multi_phone_sync_credential

Indicates whether the credential is a multi-phone sync credential

starts_at

Date and time at which the credential validity starts, in ISO 8601 format

ends_at

Date and time at which the credential validity ends, in ISO 8601 format

XXX_metadata

ACS manufacturer-specific metadata for the credential, where XXX is the manufacturer

Sample Response

This response contains manufacturer-specific metadata that may vary by manufacturer.

AcsCredential(
  acs_credential_id='99999999-9999-9999-9999-999999999999',
  acs_user_id='33333333-3333-3333-3333-333333333333',
  display_name='Multi Phone Sync Credential',
  code=null,
  acs_system_id='11111111-1111-1111-1111-111111111111',
  access_method='mobile_key',
  workspace_id='00000000-0000-0000-0000-000000000000',
  created_at='2024-04-12T03:56:22.396Z',
  is_multi_phone_sync_credential=True,
  # manufacturer-specific metadata
)

Last updated

Logo

© Seam Labs, Inc. All rights reserved.