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

post

Creates a new credential for a specified ACS user.

Authorizations
Body
credential_manager_acs_system_idstring · uuidOptional

ACS system ID of the credential manager for the new credential.

acs_user_idstring · uuidOptional

ID of the access system user to whom the new credential belongs. You must provide either acs_user_id or the combination of user_identity_id and acs_system_id.

user_identity_idstring · uuidOptional

ID of the user identity to whom the new credential belongs. You must provide either acs_user_id or the combination of user_identity_id and acs_system_id. If the access system contains a user with the same email_address or phone_number as the user identity that you specify, they are linked, and the credential belongs to the access system user. If the access system does not have a corresponding user, one is created.

acs_system_idstring · uuidOptional

ID of the access system to which the new credential belongs. You must provide either acs_user_id or the combination of user_identity_id and acs_system_id.

access_methodstring · enumRequired

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

Possible values:
codestringOptional

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

Pattern: ^\d+$
is_multi_phone_sync_credentialbooleanOptional

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

Default: false
allowed_acs_entrance_idsstring · uuid[]Optional

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

Default: []
starts_atstring · date-timeOptional

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

ends_atstring · date-timeOptional

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.

Responses
200
OK
application/json
post
POST /acs/credentials/create HTTP/1.1
Host: connect.getseam.com
Authorization: Bearer API Token
Content-Type: application/json
Accept: */*
Content-Length: 911

{
  "credential_manager_acs_system_id": "123e4567-e89b-12d3-a456-426614174000",
  "acs_user_id": "123e4567-e89b-12d3-a456-426614174000",
  "user_identity_id": "123e4567-e89b-12d3-a456-426614174000",
  "acs_system_id": "123e4567-e89b-12d3-a456-426614174000",
  "access_method": "code",
  "code": "text",
  "is_multi_phone_sync_credential": false,
  "allowed_acs_entrance_ids": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "visionline_metadata": {
    "card_format": "TLCode",
    "card_function_type": "guest",
    "override": true,
    "auto_join": true,
    "joiner_acs_credential_ids": [
      "123e4567-e89b-12d3-a456-426614174000"
    ]
  },
  "assa_abloy_vostio_metadata": {
    "auto_join": true,
    "override_all_guest_acs_entrances": true,
    "join_all_guest_acs_entrances": true,
    "override_guest_acs_entrance_ids": [
      "123e4567-e89b-12d3-a456-426614174000"
    ]
  },
  "salto_space_metadata": {
    "assign_new_key": true,
    "update_current_key": true
  },
  "starts_at": "2025-07-01T03:45:02.692Z",
  "ends_at": "2025-07-01T03:45:02.692Z"
}
{
  "acs_credential": {
    "acs_credential_id": "123e4567-e89b-12d3-a456-426614174000",
    "acs_user_id": "123e4567-e89b-12d3-a456-426614174000",
    "user_identity_id": "123e4567-e89b-12d3-a456-426614174000",
    "connected_account_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",
    "is_one_time_use": true,
    "card_number": "text",
    "is_issued": true,
    "issued_at": "2025-07-01T03:45:02.692Z",
    "access_method": "code",
    "external_type": "pti_card",
    "external_type_display_name": "text",
    "created_at": "2025-07-01T03:45:02.692Z",
    "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
    "starts_at": "text",
    "ends_at": "text",
    "errors": [
      {
        "error_code": "text",
        "message": "text"
      }
    ],
    "warnings": [
      {
        "created_at": "2025-07-01T03:45:02.692Z",
        "message": "text",
        "warning_code": "waiting_to_be_issued"
      }
    ],
    "is_multi_phone_sync_credential": true,
    "is_latest_desired_state_synced_with_provider": true,
    "latest_desired_state_synced_with_provider_at": "2025-07-01T03:45:02.692Z",
    "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": true,
      "auto_join": true,
      "card_id": "text",
      "credential_id": "text"
    },
    "assa_abloy_vostio_metadata": {
      "auto_join": true,
      "override_guest_acs_entrance_ids": [
        "text"
      ],
      "key_id": "text",
      "key_issuing_request_id": "text",
      "door_names": [
        "text"
      ],
      "endpoint_id": "text"
    },
    "is_managed": true
  },
  "ok": true
}

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

Parameter
Type
Description

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

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:

Property
Description

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

Was this helpful?

Revision created

Merge branch 'main' into beta