Interim hand-authored reference. This page is authored from the SeamSDK public Swift sources. See the reference overview for context.
Overview
SeamCredential is a public struct that conforms to Sendable, Equatable, and Hashable. It represents a single access credential as an immutable value snapshot. Read credentials from Seam.shared.credentials; never construct them manually in production — the SDK manages their lifecycle.
- Instances are immutable snapshots. To get the latest state, read
Seam.shared.credentialsagain or callSeam.shared.refresh(). - Managed credentials (
isManaged: true) are created and controlled by the Seam API. Unmanaged credentials (isManaged: false) are discovered directly by a provider integration running on-device.
Initializer
| Parameter | Type | Description |
|---|---|---|
id | String | Unique identifier for this credential. |
isManaged | Bool | true if created by the Seam API; false if discovered by a provider integration. |
name | String | Display name for this credential. |
location | String | Associated location (for example, building or door name). |
providerName | String? | Third-party provider (for example, "Latch", "Salto Space"), if any. |
expiry | Date? | Expiration date, if the credential has one. |
cardNumber | String? | Card number, if any. |
code | String? | Access code, if any. |
supportedUnlockProximities | [SeamUnlockProximity] | Supported proximity levels, ordered by preference. |
errors | [SeamCredentialError] | Active errors for this credential, in priority order. |
Properties
| Property | Type | Description |
|---|---|---|
id | String | The unique identifier for this credential. |
isManaged | Bool | Whether this credential was created and managed by the Seam API. |
name | String | The display name associated with this credential. |
location | String | The credential’s associated location. |
expiry | Date? | The expiration date of the credential, if available. |
cardNumber | String? | The card number associated with this credential, if any. |
code | String? | The access code associated with this credential, if any. |
providerName | String? | The third-party provider (for example, Latch, Salto Space) associated with this credential, if any. |
supportedUnlockProximities | [SeamUnlockProximity] | Proximity levels this credential supports, ordered by preference. |
errors | [SeamCredentialError] | Active errors affecting this credential, in priority order. |
supportedUnlockProximities — Proximity Requirements
supportedUnlockProximities expresses the minimum physical proximity acceptable for an unlock using this credential. The array is ordered by preference:
- When
Seam.shared.unlock(using:proximity:timeout:)is called without specifying aproximity, the first value in this array is used as the default. - Callers may choose any supported value explicitly by passing a
proximity:argument.
SeamUnlockProximity, Seam.unlock(using:proximity:timeout:)

