From 57de3b0a4f2075a1d4623931adf2253090b91a4a Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Wed, 27 May 2026 21:54:08 +0000 Subject: [PATCH] feat: Sync with Seam API via e228caa8188ac0113e376f322d53cead717b3773 --- .../models/action-attempts/action-attempt.ts | 2 + .../scan-to-assign-credential.ts | 69 + src/lib/seam/connect/openapi.ts | 656 ++ src/lib/seam/connect/route-types.ts | 8070 +++++++++++++++++ 4 files changed, 8797 insertions(+) create mode 100644 src/lib/seam/connect/models/action-attempts/scan-to-assign-credential.ts diff --git a/src/lib/seam/connect/models/action-attempts/action-attempt.ts b/src/lib/seam/connect/models/action-attempts/action-attempt.ts index f24f0a32..853026d6 100644 --- a/src/lib/seam/connect/models/action-attempts/action-attempt.ts +++ b/src/lib/seam/connect/models/action-attempts/action-attempt.ts @@ -8,6 +8,7 @@ import { lock_door_action_attempt } from './lock-door.js' import { push_thermostat_programs_action_attempt } from './push-thermostat-programs.js' import { reset_sandbox_workspace_action_attempt } from './reset-sandbox-workspace.js' import { scan_credential_action_attempt } from './scan-credential.js' +import { scan_to_assign_credential_action_attempt } from './scan-to-assign-credential.js' import { set_fan_mode_action_attempt } from './set-fan-mode.js' import { set_hvac_mode_action_attempt } from './set-hvac-mode.js' import { simulate_keypad_code_entry_action_attempt } from './simulate-keypad-code-entry.js' @@ -19,6 +20,7 @@ export const action_attempt = z.union([ ...unlock_door_action_attempt.options, ...scan_credential_action_attempt.options, ...encode_credential_action_attempt.options, + ...scan_to_assign_credential_action_attempt.options, ...reset_sandbox_workspace_action_attempt.options, ...set_fan_mode_action_attempt.options, ...set_hvac_mode_action_attempt.options, diff --git a/src/lib/seam/connect/models/action-attempts/scan-to-assign-credential.ts b/src/lib/seam/connect/models/action-attempts/scan-to-assign-credential.ts new file mode 100644 index 00000000..efad5056 --- /dev/null +++ b/src/lib/seam/connect/models/action-attempts/scan-to-assign-credential.ts @@ -0,0 +1,69 @@ +import { z } from 'zod' + +import { acs_credential } from '../acs/acs-credential.js' +import { + common_action_attempt_errors, + common_failed_action_attempt, + common_pending_action_attempt, + common_succeeded_action_attempt, +} from './common.js' + +const action_type = z + .literal('SCAN_TO_ASSIGN_CREDENTIAL') + .describe( + 'Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user.', + ) + +const no_credential_on_encoder_error = z + .object({ + type: z + .literal('no_credential_on_encoder') + .describe( + 'Error type to indicate that there is no credential on the encoder.', + ), + message: z + .string() + .describe( + 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.', + ), + }) + .describe('Error to indicate that there is no credential on the encoder.') + +const error = z.union([ + ...common_action_attempt_errors, + no_credential_on_encoder_error, +]) + +const result = acs_credential.describe( + 'Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned.', +) + +export const scan_to_assign_credential_action_attempt = z.discriminatedUnion( + 'status', + [ + common_pending_action_attempt + .extend({ + action_type, + }) + .describe( + 'Scanning a physical card and assigning the credential is pending.', + ), + common_succeeded_action_attempt + .extend({ + action_type, + result, + }) + .describe( + 'Scanning a physical card and assigning the credential succeeded.', + ), + common_failed_action_attempt + .extend({ action_type, error }) + .describe( + 'Scanning a physical card and assigning the credential failed.', + ), + ], +) + +export type ScanToAssignCredentialActionAttempt = z.infer< + typeof scan_to_assign_credential_action_attempt +> diff --git a/src/lib/seam/connect/openapi.ts b/src/lib/seam/connect/openapi.ts index aad4cc83..a91c696b 100644 --- a/src/lib/seam/connect/openapi.ts +++ b/src/lib/seam/connect/openapi.ts @@ -8785,6 +8785,590 @@ const openapi: OpenAPISpec = { ], type: 'object', }, + { + description: + 'Scanning a physical card and assigning the credential is pending.', + properties: { + action_attempt_id: { + description: 'ID of the action attempt.', + format: 'uuid', + type: 'string', + }, + action_type: { + description: + 'Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user.', + enum: ['SCAN_TO_ASSIGN_CREDENTIAL'], + type: 'string', + }, + error: { + description: + 'Errors associated with the action attempt. Null for pending action attempts.', + nullable: true, + }, + result: { + description: + 'Result of the action attempt. Null for pending action attempts.', + nullable: true, + }, + status: { enum: ['pending'], type: 'string' }, + }, + required: [ + 'action_attempt_id', + 'status', + 'result', + 'error', + 'action_type', + ], + type: 'object', + }, + { + description: + 'Scanning a physical card and assigning the credential succeeded.', + properties: { + action_attempt_id: { + description: 'ID of the action attempt.', + format: 'uuid', + type: 'string', + }, + action_type: { + description: + 'Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user.', + enum: ['SCAN_TO_ASSIGN_CREDENTIAL'], + type: 'string', + }, + error: { + description: + 'Errors associated with the action attempt. Null for successful action attempts.', + nullable: true, + }, + result: { + description: + 'Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned.', + properties: { + access_method: { + description: + 'Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`.', + enum: ['code', 'card', 'mobile_key', 'cloud_key'], + type: 'string', + }, + acs_credential_id: { + description: + 'ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + format: 'uuid', + type: 'string', + }, + acs_credential_pool_id: { format: 'uuid', type: 'string' }, + acs_system_id: { + description: + 'ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + format: 'uuid', + type: 'string', + }, + acs_user_id: { + description: + 'ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs.', + format: 'uuid', + type: 'string', + }, + assa_abloy_vostio_metadata: { + description: + 'Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + properties: { + auto_join: { + description: + 'Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.', + type: 'boolean', + }, + door_names: { + description: + 'Names of the doors to which to grant access in the Vostio access system.', + items: { type: 'string' }, + type: 'array', + }, + endpoint_id: { + description: 'Endpoint ID in the Vostio access system.', + type: 'string', + }, + key_id: { + description: 'Key ID in the Vostio access system.', + type: 'string', + }, + key_issuing_request_id: { + description: + 'Key issuing request ID in the Vostio access system.', + type: 'string', + }, + override_guest_acs_entrance_ids: { + description: + 'IDs of the guest entrances to override in the Vostio access system.', + items: { type: 'string' }, + type: 'array', + }, + }, + type: 'object', + }, + card_number: { + description: + 'Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + nullable: true, + type: 'string', + }, + code: { + description: + 'Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + nullable: true, + type: 'string', + }, + connected_account_id: { + description: + 'ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs.', + format: 'uuid', + type: 'string', + }, + created_at: { + description: + 'Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: + 'Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type.', + minLength: 1, + type: 'string', + }, + ends_at: { + description: + 'Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`.', + type: 'string', + }, + errors: { + description: + 'Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + items: { + properties: { + error_code: { type: 'string' }, + message: { type: 'string' }, + }, + required: ['error_code', 'message'], + type: 'object', + }, + type: 'array', + }, + external_type: { + description: + 'Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`.', + enum: [ + 'pti_card', + 'brivo_credential', + 'hid_credential', + 'visionline_card', + 'salto_ks_credential', + 'assa_abloy_vostio_key', + 'salto_space_key', + 'latch_access', + 'dormakaba_ambiance_credential', + 'hotek_card', + 'salto_ks_tag', + 'avigilon_alta_credential', + ], + type: 'string', + }, + external_type_display_name: { + description: + 'Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type.', + type: 'string', + }, + is_issued: { + description: + 'Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card.', + type: 'boolean', + }, + is_latest_desired_state_synced_with_provider: { + description: + 'Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider.', + nullable: true, + type: 'boolean', + }, + is_managed: { enum: [true], type: 'boolean' }, + is_multi_phone_sync_credential: { + description: + 'Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials).', + type: 'boolean', + }, + is_one_time_use: { + description: + 'Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use.', + type: 'boolean', + }, + issued_at: { + description: + 'Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card.', + format: 'date-time', + nullable: true, + type: 'string', + }, + latest_desired_state_synced_with_provider_at: { + description: + 'Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider.', + format: 'date-time', + nullable: true, + type: 'string', + }, + parent_acs_credential_id: { + description: + 'ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + format: 'uuid', + type: 'string', + }, + starts_at: { + description: + 'Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + type: 'string', + }, + user_identity_id: { + description: + 'ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs.', + format: 'uuid', + type: 'string', + }, + visionline_metadata: { + description: + 'Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + properties: { + auto_join: { + description: + 'Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors.', + type: 'boolean', + }, + card_function_type: { + description: + 'Card function type in the Visionline access system.', + enum: ['guest', 'staff'], + type: 'string', + }, + card_id: { + description: + 'ID of the card in the Visionline access system.', + type: 'string', + }, + common_acs_entrance_ids: { + description: + 'Common entrance IDs in the Visionline access system.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + credential_id: { + description: + 'ID of the credential in the Visionline access system.', + type: 'string', + }, + guest_acs_entrance_ids: { + description: + 'Guest entrance IDs in the Visionline access system.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + is_valid: { + description: + 'Indicates whether the credential is valid.', + type: 'boolean', + }, + joiner_acs_credential_ids: { + description: + 'IDs of the credentials to which you want to join.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + }, + required: ['card_function_type'], + type: 'object', + }, + warnings: { + description: + 'Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + items: { + description: + 'Warning associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is waiting to be issued.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['waiting_to_be_issued'], + type: 'string', + }, + }, + required: ['created_at', 'message', 'warning_code'], + type: 'object', + }, + { + description: + "Indicates that the schedule of one of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials)'s children was modified externally.", + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['schedule_externally_modified'], + type: 'string', + }, + }, + required: ['created_at', 'message', 'warning_code'], + type: 'object', + }, + { + description: + 'Indicates that the schedule of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was modified to avoid creating a credential with a start date in the past.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['schedule_modified'], + type: 'string', + }, + }, + required: ['created_at', 'message', 'warning_code'], + type: 'object', + }, + { + description: + 'Indicates that the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: ['created_at', 'message', 'warning_code'], + type: 'object', + }, + { + description: + 'An unknown issue occurred while syncing the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) with the provider. This issue may affect the proper functioning of the credential.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['unknown_issue_with_acs_credential'], + type: 'string', + }, + }, + required: ['created_at', 'message', 'warning_code'], + type: 'object', + }, + { + description: + 'Access permissions for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) have changed. [Reissue](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners/creating-and-encoding-card-based-credentials) (re-encode) the credential. This issue may affect the proper functioning of the credential.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['needs_to_be_reissued'], + type: 'string', + }, + }, + required: ['created_at', 'message', 'warning_code'], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'acs_credential_id', + 'connected_account_id', + 'acs_system_id', + 'display_name', + 'access_method', + 'created_at', + 'workspace_id', + 'errors', + 'warnings', + 'is_managed', + ], + type: 'object', + }, + status: { enum: ['success'], type: 'string' }, + }, + required: [ + 'action_attempt_id', + 'status', + 'error', + 'action_type', + 'result', + ], + type: 'object', + }, + { + description: + 'Scanning a physical card and assigning the credential failed.', + properties: { + action_attempt_id: { + description: 'ID of the action attempt.', + format: 'uuid', + type: 'string', + }, + action_type: { + description: + 'Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user.', + enum: ['SCAN_TO_ASSIGN_CREDENTIAL'], + type: 'string', + }, + error: { + oneOf: [ + { + description: + "Error that doesn't fit into other specific error categories.", + properties: { + message: { + description: + 'Message for the error associated with the action attempt.', + type: 'string', + }, + type: { + description: + 'Type of the error associated with the action attempt.', + enum: ['uncategorized_error'], + type: 'string', + }, + }, + required: ['type', 'message'], + type: 'object', + }, + { + description: 'Error to indicate an expired action attempt.', + properties: { + message: { + description: + 'Message for the error associated with the action attempt.', + type: 'string', + }, + type: { + description: + 'Type of the error associated with the action attempt.', + enum: ['action_attempt_expired'], + type: 'string', + }, + }, + required: ['type', 'message'], + type: 'object', + }, + { + description: + 'Error to indicate that there is no credential on the encoder.', + properties: { + message: { + description: + 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + type: { + description: + 'Error type to indicate that there is no credential on the encoder.', + enum: ['no_credential_on_encoder'], + type: 'string', + }, + }, + required: ['type', 'message'], + type: 'object', + }, + ], + }, + result: { + description: + 'Result of the action attempt. Null for failed action attempts.', + nullable: true, + }, + status: { enum: ['error'], type: 'string' }, + }, + required: [ + 'action_attempt_id', + 'status', + 'result', + 'action_type', + 'error', + ], + type: 'object', + }, { description: 'Resetting a sandbox workspace is pending.', properties: { @@ -45264,6 +45848,78 @@ const openapi: OpenAPISpec = { 'x-title': 'Scan a Credential', }, }, + '/acs/encoders/scan_to_assign_credential': { + post: { + description: + 'Scans a physical card placed on the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) and assigns the scanned credential to an ACS user. Provide either an `acs_user_id` or a `user_identity_id`.', + operationId: 'acsEncodersScanToAssignCredentialPost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + acs_encoder_id: { + description: + 'ID of the `acs_encoder` to use to scan the credential.', + format: 'uuid', + type: 'string', + }, + acs_user_id: { + description: + 'ID of the `acs_user` to assign the scanned credential to.', + format: 'uuid', + type: 'string', + }, + user_identity_id: { + description: + 'ID of the `user_identity` to assign the scanned credential to. If the ACS system contains an ACS user linked to this user identity, it is used. Otherwise, one is created.', + format: 'uuid', + type: 'string', + }, + }, + required: ['acs_encoder_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + action_attempt: { + $ref: '#/components/schemas/action_attempt', + }, + ok: { type: 'boolean' }, + }, + required: ['action_attempt', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + { client_session_with_customer: [] }, + ], + summary: '/acs/encoders/scan_to_assign_credential', + tags: ['/acs'], + 'x-action-attempt-type': 'SCAN_TO_ASSIGN_CREDENTIAL', + 'x-fern-sdk-group-name': ['acs', 'encoders'], + 'x-fern-sdk-method-name': 'scan_to_assign_credential', + 'x-fern-sdk-return-value': 'action_attempt', + 'x-response-key': 'action_attempt', + 'x-title': 'Scan to Assign a Credential', + }, + }, '/acs/encoders/simulate/next_credential_encode_will_fail': { post: { description: diff --git a/src/lib/seam/connect/route-types.ts b/src/lib/seam/connect/route-types.ts index 23126bda..fcebca20 100644 --- a/src/lib/seam/connect/route-types.ts +++ b/src/lib/seam/connect/route-types.ts @@ -1008,6 +1008,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -3944,6 +4154,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -8998,6 +9418,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -11802,6 +12432,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -17511,6 +18351,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -25547,6 +26597,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -27215,6 +28475,1986 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of resetting a sandbox workspace. */ + action_type: 'RESET_SANDBOX_WORKSPACE' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of resetting a sandbox workspace. */ + action_type: 'RESET_SANDBOX_WORKSPACE' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of resetting a sandbox workspace. */ + action_type: 'RESET_SANDBOX_WORKSPACE' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of setting the fan mode on a thermostat. */ + action_type: 'SET_FAN_MODE' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of setting the fan mode on a thermostat. */ + action_type: 'SET_FAN_MODE' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of setting the fan mode on a thermostat. */ + action_type: 'SET_FAN_MODE' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of setting the HVAC mode on a thermostat. */ + action_type: 'SET_HVAC_MODE' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of setting the HVAC mode on a thermostat. */ + action_type: 'SET_HVAC_MODE' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of setting the HVAC mode on a thermostat. */ + action_type: 'SET_HVAC_MODE' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of a climate preset activation. */ + action_type: 'ACTIVATE_CLIMATE_PRESET' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of a climate preset activation. */ + action_type: 'ACTIVATE_CLIMATE_PRESET' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of a climate preset activation. */ + action_type: 'ACTIVATE_CLIMATE_PRESET' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of simulating a keypad code entry. */ + action_type: 'SIMULATE_KEYPAD_CODE_ENTRY' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of simulating a keypad code entry. */ + action_type: 'SIMULATE_KEYPAD_CODE_ENTRY' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of simulating a keypad code entry. */ + action_type: 'SIMULATE_KEYPAD_CODE_ENTRY' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of simulating a manual lock action using a keypad. */ + action_type: 'SIMULATE_MANUAL_LOCK_VIA_KEYPAD' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of simulating a manual lock action using a keypad. */ + action_type: 'SIMULATE_MANUAL_LOCK_VIA_KEYPAD' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of simulating a manual lock action using a keypad. */ + action_type: 'SIMULATE_MANUAL_LOCK_VIA_KEYPAD' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of pushing thermostat programs. */ + action_type: 'PUSH_THERMOSTAT_PROGRAMS' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of pushing thermostat programs. */ + action_type: 'PUSH_THERMOSTAT_PROGRAMS' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of pushing thermostat programs. */ + action_type: 'PUSH_THERMOSTAT_PROGRAMS' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of configuring the auto-lock on a lock. */ + action_type: 'CONFIGURE_AUTO_LOCK' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of configuring the auto-lock on a lock. */ + action_type: 'CONFIGURE_AUTO_LOCK' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of configuring the auto-lock on a lock. */ + action_type: 'CONFIGURE_AUTO_LOCK' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Syncing access codes is pending. */ + action_type: 'SYNC_ACCESS_CODES' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Syncing access codes succeeded. */ + action_type: 'SYNC_ACCESS_CODES' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Syncing access codes failed. */ + action_type: 'SYNC_ACCESS_CODES' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Creating an access code is pending. */ + action_type: 'CREATE_ACCESS_CODE' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Creating an access code succeeded. */ + action_type: 'CREATE_ACCESS_CODE' + /** Result of the action. */ + result: { + /** Created access code. */ + access_code?: any + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Creating an access code failed. */ + action_type: 'CREATE_ACCESS_CODE' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Deleting an access code is pending. */ + action_type: 'DELETE_ACCESS_CODE' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Deleting an access code succeeded. */ + action_type: 'DELETE_ACCESS_CODE' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Deleting an access code failed. */ + action_type: 'DELETE_ACCESS_CODE' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Updating an access code is pending. */ + action_type: 'UPDATE_ACCESS_CODE' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Updating an access code succeeded. */ + action_type: 'UPDATE_ACCESS_CODE' + /** Result of the action. */ + result: { + /** Updated access code. */ + access_code?: any + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Updating an access code failed. */ + action_type: 'UPDATE_ACCESS_CODE' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Creating a noise threshold is pending. */ + action_type: 'CREATE_NOISE_THRESHOLD' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Creating a noise threshold succeeded. */ + action_type: 'CREATE_NOISE_THRESHOLD' + /** Result of the action. */ + result: { + /** Created noise threshold. */ + noise_threshold?: any + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Creating a noise threshold failed. */ + action_type: 'CREATE_NOISE_THRESHOLD' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Deleting a noise threshold is pending. */ + action_type: 'DELETE_NOISE_THRESHOLD' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Deleting a noise threshold succeeded. */ + action_type: 'DELETE_NOISE_THRESHOLD' + /** Result of the action. */ + result: {} + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Deleting a noise threshold failed. */ + action_type: 'DELETE_NOISE_THRESHOLD' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Updating a noise threshold is pending. */ + action_type: 'UPDATE_NOISE_THRESHOLD' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Updating a noise threshold succeeded. */ + action_type: 'UPDATE_NOISE_THRESHOLD' + /** Result of the action. */ + result: { + /** Updated noise threshold. */ + noise_threshold?: any + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Updating a noise threshold failed. */ + action_type: 'UPDATE_NOISE_THRESHOLD' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + } + maxDuration: undefined + } + '/acs/encoders/scan_to_assign_credential': { + route: '/acs/encoders/scan_to_assign_credential' + method: 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** ID of the `acs_encoder` to use to scan the credential. */ + acs_encoder_id: string + /** ID of the `acs_user` to assign the scanned credential to. */ + acs_user_id?: string | undefined + /** ID of the `user_identity` to assign the scanned credential to. If the ACS system contains an ACS user linked to this user identity, it is used. Otherwise, one is created. */ + user_identity_id?: string | undefined + } + formData: {} + jsonResponse: { + /** Represents an action attempt that enables you to keep track of the progress of your action that affects a physical device or system.actions against a device. Action attempts are useful because the physical world is intrinsically asynchronous. + + When you request for a device to perform an action, the Seam API immediately returns an action attempt object. In the background, the Seam API performs the action. + + See also [Action Attempts](https://docs.seam.co/latest/core-concepts/action-attempts). */ + action_attempt: + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of locking a door. */ + action_type: 'LOCK_DOOR' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of locking a door. */ + action_type: 'LOCK_DOOR' + /** Result of the action. */ + result: { + /** Indicates whether the device confirmed that the lock action occurred. */ + was_confirmed_by_device?: boolean | undefined + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of locking a door. */ + action_type: 'LOCK_DOOR' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of unlocking a door. */ + action_type: 'UNLOCK_DOOR' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of unlocking a door. */ + action_type: 'UNLOCK_DOOR' + /** Result of the action. */ + result: { + /** Indicates whether the device confirmed that the unlock action occurred. */ + was_confirmed_by_device?: boolean | undefined + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of unlocking a door. */ + action_type: 'UNLOCK_DOOR' + /** Error associated with the action. */ + error: { + /** Type of the error. */ + type: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a credential. */ + action_type: 'SCAN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a credential. */ + action_type: 'SCAN_CREDENTIAL' + /** Result of scanning a card. If the attempt was successful, includes a snapshot of credential data read from the physical encoder, the corresponding data stored on Seam and the access system, and any associated warnings. */ + result: { + /** Snapshot of credential data read from the physical encoder. */ + acs_credential_on_encoder: { + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string | null + is_issued: boolean | null + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) becomes usable. */ + starts_at: string | null + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) will stop being usable. */ + ends_at: string | null + /** A number or string that physically identifies the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number: string | null + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card ID for the Visionline card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_id: string + /** Indicates whether the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is cancelled. */ + cancelled: boolean + /** Indicates whether the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is discarded. */ + discarded: boolean + /** Indicates whether the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is expired. */ + expired: boolean + /** Indicates whether the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is overwritten. */ + overwritten: boolean + /** Indicates whether the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is overridden. */ + overridden?: boolean | undefined + /** Indicates whether the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is pending auto-update. */ + pending_auto_update: boolean + /** Format of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_format: 'TLCode' | 'rfid48' + /** Holder of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_holder?: string | undefined + /** Number of issued cards associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + number_of_issued_cards: number + /** IDs of the guest [entrances](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details) for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + guest_acs_entrance_ids?: string[] | undefined + /** IDs of the common [entrances](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details) for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + common_acs_entrance_ids?: string[] | undefined + } + | undefined + } | null + /** Corresponding credential data as stored on Seam and the access system. */ + acs_credential_on_seam: + | ( + | { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: + | 'code' + | 'card' + | 'mobile_key' + | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: + | string[] + | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + | { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: + | 'code' + | 'card' + | 'mobile_key' + | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: + | string[] + | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: false + } + ) + | null + /** Warnings related to scanning the credential, such as mismatches between the credential data currently encoded on the card and the corresponding data stored on Seam and the access system. */ + warnings: { + /** Indicates a warning related to scanning a credential. */ + warning_code: + | 'acs_credential_on_encoder_out_of_sync' + | 'acs_credential_on_seam_not_found' + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + warning_message: string + }[] + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a credential. */ + action_type: 'SCAN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that the encoder is not online. */ + type: 'encoder_not_online' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that communication with the encoder timed out. */ + type: 'encoder_communication_timeout' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that the Seam Bridge is disconnected or cannot reach the access control system. */ + type: 'bridge_disconnected' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of encoding credential data from the physical encoder onto a card. */ + action_type: 'ENCODE_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of encoding credential data from the physical encoder onto a card. */ + action_type: 'ENCODE_CREDENTIAL' + /** Result of an encoding attempt. If the attempt was successful, includes the credential data that was encoded onto the card. */ + result: + | { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + | { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: false + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of encoding credential data from the physical encoder onto a card. */ + action_type: 'ENCODE_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate an incompatible card format. */ + type: 'incompatible_card_format' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that the affected credential cannot be reissued. */ + type: 'credential_cannot_be_reissued' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that the encoder is not online. */ + type: 'encoder_not_online' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that communication with the encoder timed out. */ + type: 'encoder_communication_timeout' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that the Seam Bridge is disconnected or cannot reach the access control system. */ + type: 'bridge_disconnected' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that encoding was interrupted, for example, if the card was removed from the encoder before writing was complete. */ + type: 'encoding_interrupted' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + | { + /** Error type to indicate that the credential was deleted and can no longer be encoded. */ + type: 'credential_deleted' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -29514,6 +32754,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -33633,6 +37083,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -35190,6 +38850,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -51802,6 +55672,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -60205,6 +64285,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -61763,6 +66053,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -63319,6 +67819,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -64877,6 +69587,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -69862,6 +74782,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -71439,6 +76569,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -73072,6 +78412,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -75750,6 +81300,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -86559,6 +92319,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -88121,6 +94091,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -89795,6 +95975,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -93048,6 +99438,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -94614,6 +101214,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -99616,6 +106426,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -101377,6 +108397,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -102971,6 +110201,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -104682,6 +112122,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -114078,6 +121728,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string @@ -122188,6 +130048,216 @@ export type Routes = { message: string } } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'pending' + /** Result of the action attempt. Null for pending action attempts. */ + result: null + /** Errors associated with the action attempt. Null for pending action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'success' + /** Errors associated with the action attempt. Null for successful action attempts. */ + error: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + /** Result of a scan to assign attempt. If the attempt was successful, includes the credential data that was scanned and assigned. */ + result: { + /** ID of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_credential_id: string + /** ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + acs_user_id?: string | undefined + /** ID of the [user identity](https://docs.seam.co/latest/api/user_identities) to whom the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + user_identity_id?: string | undefined + /** ID of the [connected account](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) belongs. */ + connected_account_id: string + acs_credential_pool_id?: string | undefined + /** ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + acs_system_id: string + /** ID of the parent [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + parent_acs_credential_id?: string | undefined + /** Display name that corresponds to the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + display_name: string + /** Access (PIN) code for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + code?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) can only be used once. If `true`, the code becomes invalid after the first use. */ + is_one_time_use?: boolean | undefined + /** Number of the card associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + card_number?: (string | undefined) | null + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been encoded onto a card. */ + is_issued?: boolean | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was encoded onto a card. */ + issued_at?: (string | undefined) | null + /** Access method for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). Supported values: `code`, `card`, `mobile_key`, `cloud_key`. */ + access_method: 'code' | 'card' | 'mobile_key' | 'cloud_key' + /** Brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */ + external_type?: + | ( + | 'pti_card' + | 'brivo_credential' + | 'hid_credential' + | 'visionline_card' + | 'salto_ks_credential' + | 'assa_abloy_vostio_key' + | 'salto_space_key' + | 'latch_access' + | 'dormakaba_ambiance_credential' + | 'hotek_card' + | 'salto_ks_tag' + | 'avigilon_alta_credential' + ) + | undefined + /** Display name that corresponds to the brand-specific terminology for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) type. */ + external_type_display_name?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + workspace_id: string + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at?: string | undefined + /** Date and time at which the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. */ + ends_at?: string | undefined + /** Errors associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + errors: { + error_code: string + message: string + }[] + /** Warnings associated with the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'waiting_to_be_issued' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_externally_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'schedule_modified' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'unknown_issue_with_acs_credential' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'needs_to_be_reissued' + } + )[] + /** Indicates whether the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */ + is_multi_phone_sync_credential?: boolean | undefined + /** Indicates whether the latest state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) has been synced from Seam to the provider. */ + is_latest_desired_state_synced_with_provider?: + | (boolean | null) + | undefined + /** Date and time at which the state of the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was most recently synced from Seam to the provider. */ + latest_desired_state_synced_with_provider_at?: + | (string | null) + | undefined + /** Visionline-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + visionline_metadata?: + | { + /** Card function type in the Visionline access system. */ + card_function_type: 'guest' | 'staff' + /** IDs of the credentials to which you want to join. */ + joiner_acs_credential_ids?: string[] | undefined + /** Guest entrance IDs in the Visionline access system. */ + guest_acs_entrance_ids?: string[] | undefined + /** Common entrance IDs in the Visionline access system. */ + common_acs_entrance_ids?: string[] | undefined + /** Indicates whether the credential is valid. */ + is_valid?: boolean | undefined + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** ID of the card in the Visionline access system. */ + card_id?: string | undefined + /** ID of the credential in the Visionline access system. */ + credential_id?: string | undefined + } + | undefined + /** Vostio-specific metadata for the [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials). */ + assa_abloy_vostio_metadata?: + | { + /** Indicates whether the credential should auto-join. For an auto-join credential, Seam automatically issues an override card if there are no other cards and a joiner card if there are existing cards on the doors. */ + auto_join?: boolean | undefined + /** IDs of the guest entrances to override in the Vostio access system. */ + override_guest_acs_entrance_ids?: string[] | undefined + /** Key ID in the Vostio access system. */ + key_id?: string | undefined + /** Key issuing request ID in the Vostio access system. */ + key_issuing_request_id?: string | undefined + /** Names of the doors to which to grant access in the Vostio access system. */ + door_names?: string[] | undefined + /** Endpoint ID in the Vostio access system. */ + endpoint_id?: string | undefined + } + | undefined + is_managed: true + } + } + | { + /** ID of the action attempt. */ + action_attempt_id: string + status: 'error' + /** Result of the action attempt. Null for failed action attempts. */ + result: null + /** Action attempt to track the status of scanning a physical card and assigning the credential to an ACS user. */ + action_type: 'SCAN_TO_ASSIGN_CREDENTIAL' + error: + | { + /** Type of the error associated with the action attempt. */ + type: 'uncategorized_error' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Type of the error associated with the action attempt. */ + type: 'action_attempt_expired' + /** Message for the error associated with the action attempt. */ + message: string + } + | { + /** Error type to indicate that there is no credential on the encoder. */ + type: 'no_credential_on_encoder' + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + } + } | { /** ID of the action attempt. */ action_attempt_id: string