Interim hand-authored reference. This page is authored directly from the Seam Android SDK public Kotlin sources. See the reference overview for context.
Overview
SeamCredential is a data class representing a single access credential as an immutable value snapshot. Read credentials from SeamSDK.getInstance().credentials; never construct them manually in production — the SDK manages their lifecycle.
- Instances are immutable snapshots. To get the latest state, collect
SeamSDK.getInstance().credentialsor callSeamSDK.getInstance().refresh(). - Managed credentials (
isManaged = true) are created and controlled by the Seam API. Unmanaged credentials (isManaged = false) are discovered directly through a provider integration running on-device. idis nullable — always null-check before passing it tounlock().
Properties
| Property | Type | Description |
|---|---|---|
id | String? | Unique identifier for this credential. May be null for some provider types. |
name | String | Display name for this credential. |
location | String? | Human-readable location associated with the credential (for example, building or door name). |
expiry | LocalDateTime? | Expiration date and time, if the credential has one. |
cardNumber | String? | Card number associated with the credential, if any. |
code | String? | Access code associated with the credential, if any. |
errors | List<SeamCredentialError> | Active errors affecting this credential. Check this list before attempting to unlock. |
supportedUnlockProximities | List<UnlockProximity> | Proximity levels this credential supports, ordered by preference. |
isManaged | Boolean | true if this credential was created and managed by the Seam API; false if discovered by a provider integration. Defaults to true. |
providerName | String | Identifies the access control provider that issued this credential. |
supportedUnlockProximities — Proximity requirements
supportedUnlockProximities expresses the proximity levels acceptable for an unlock using this credential. The list is ordered by preference:
- When
SeamSDK.getInstance().unlock()is called without anunlockProximityargument, the first value in this list is used as the default. - Pass any supported value explicitly via the
unlockProximityparameter.
UnlockProximity, SeamSDK.unlock()
providerName — Known values
The providerName field identifies the access control provider that issued the credential. Known values:
| Value | Provider |
|---|---|
"hid_origo_credential_service" | HID Origo |
"salto_ks" | Salto KS |
"brivo" | Brivo |
"assa_abloy_credential_service" | ASSA ABLOY Credential Service |
"visionline_system" | ASSA ABLOY Visionline |
"latch" | Latch |
"assa_abloy_vostio" | ASSA ABLOY Vostio |
"assa_abloy_vostio_credential_service" | ASSA ABLOY Vostio Credential Service |
"salto_space" | Salto Space |
Example
SeamCredentialError
