@seamapi/types 1.298.0 → 1.300.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4836,7 +4836,7 @@ export interface Routes {
4836
4836
  /** Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
4837
4837
  starts_at: string
4838
4838
  /** Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
4839
- ends_at: string
4839
+ ends_at: string | null
4840
4840
  }
4841
4841
  | undefined
4842
4842
  /** ID of the user identity associated with the `acs_user`. */
@@ -8964,11 +8964,11 @@ export interface Routes {
8964
8964
  acs_access_group_ids?: string[]
8965
8965
  /** ID of the user identity with which to associate the new `acs_user`. */
8966
8966
  user_identity_id?: string | undefined
8967
- /** `starts_at` and `ends_at` timestamps for the new `acs_user`'s access. If you specify an `access_schedule`, you must include both `starts_at` and `ends_at`. `ends_at` must be a time in the future and after `starts_at`. Only applicable to Salto KS access control systems. */
8967
+ /** `starts_at` and `ends_at` timestamps for the new `acs_user`'s access. If you specify an `access_schedule`, you may include both `starts_at` and `ends_at`. `starts_at` defaults to the current time if not provided. `ends_at` is optional and must be a time in the future and after `starts_at`. */
8968
8968
  access_schedule?:
8969
8969
  | {
8970
- starts_at: string
8971
- ends_at: string
8970
+ starts_at?: string | undefined
8971
+ ends_at?: (string | undefined) | null
8972
8972
  }
8973
8973
  | undefined
8974
8974
  /** Full name of the `acs_user`. */
@@ -9017,7 +9017,7 @@ export interface Routes {
9017
9017
  /** Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9018
9018
  starts_at: string
9019
9019
  /** Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9020
- ends_at: string
9020
+ ends_at: string | null
9021
9021
  }
9022
9022
  | undefined
9023
9023
  /** ID of the user identity associated with the `acs_user`. */
@@ -9152,7 +9152,7 @@ export interface Routes {
9152
9152
  /** Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9153
9153
  starts_at: string
9154
9154
  /** Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9155
- ends_at: string
9155
+ ends_at: string | null
9156
9156
  }
9157
9157
  | undefined
9158
9158
  /** ID of the user identity associated with the `acs_user`. */
@@ -9283,7 +9283,7 @@ export interface Routes {
9283
9283
  /** Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9284
9284
  starts_at: string
9285
9285
  /** Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9286
- ends_at: string
9286
+ ends_at: string | null
9287
9287
  }
9288
9288
  | undefined
9289
9289
  /** ID of the user identity associated with the `acs_user`. */
@@ -9525,7 +9525,7 @@ export interface Routes {
9525
9525
  /** Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9526
9526
  starts_at: string
9527
9527
  /** Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9528
- ends_at: string
9528
+ ends_at: string | null
9529
9529
  }
9530
9530
  | undefined
9531
9531
  /** ID of the user identity associated with the `acs_user`. */
@@ -9651,7 +9651,7 @@ export interface Routes {
9651
9651
  /** Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9652
9652
  starts_at: string
9653
9653
  /** Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
9654
- ends_at: string
9654
+ ends_at: string | null
9655
9655
  }
9656
9656
  | undefined
9657
9657
  /** ID of the user identity associated with the `acs_user`. */
@@ -9747,7 +9747,7 @@ export interface Routes {
9747
9747
  method: 'PATCH' | 'POST'
9748
9748
  queryParams: {}
9749
9749
  jsonBody: {
9750
- /** `starts_at` and `ends_at` timestamps for the `acs_user`'s access. If you specify an `access_schedule`, you must include both `starts_at` and `ends_at`. `ends_at` must be a time in the future and after `starts_at`. Only applicable to Salto KS access control systems. */
9750
+ /** `starts_at` and `ends_at` timestamps for the `acs_user`'s access. If you specify an `access_schedule`, you must include both `starts_at` and `ends_at`. `ends_at` must be a time in the future and after `starts_at`. */
9751
9751
  access_schedule?:
9752
9752
  | ({
9753
9753
  starts_at: string
@@ -32955,6 +32955,1026 @@ export interface Routes {
32955
32955
  }
32956
32956
  }
32957
32957
  }
32958
+ '/thermostats/set_hvac_mode': {
32959
+ route: '/thermostats/set_hvac_mode'
32960
+ method: 'POST'
32961
+ queryParams: {}
32962
+ jsonBody:
32963
+ | {
32964
+ hvac_mode_setting: 'off'
32965
+ /** ID of the desired thermostat device. */
32966
+ device_id: string
32967
+ }
32968
+ | {
32969
+ hvac_mode_setting: 'cool'
32970
+ /** ID of the desired thermostat device. */
32971
+ device_id: string
32972
+ /** Desired [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C. You must set one of the `cooling_set_point` parameters. */
32973
+ cooling_set_point_celsius?: number | undefined
32974
+ /** Desired [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F. You must set one of the `cooling_set_point` parameters. */
32975
+ cooling_set_point_fahrenheit?: number | undefined
32976
+ }
32977
+ | {
32978
+ hvac_mode_setting: 'heat'
32979
+ /** ID of the desired thermostat device. */
32980
+ device_id: string
32981
+ /** Desired [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C. You must set one of the `heating_set_point` parameters. */
32982
+ heating_set_point_celsius?: number | undefined
32983
+ /** Desired [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F. You must set one of the `heating_set_point` parameters. */
32984
+ heating_set_point_fahrenheit?: number | undefined
32985
+ }
32986
+ | {
32987
+ hvac_mode_setting: 'heat_cool'
32988
+ /** ID of the desired thermostat device. */
32989
+ device_id: string
32990
+ /** Desired [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C. You must set one of the `cooling_set_point` parameters. */
32991
+ cooling_set_point_celsius?: number | undefined
32992
+ /** Desired [cooling set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F. You must set one of the `cooling_set_point` parameters. */
32993
+ cooling_set_point_fahrenheit?: number | undefined
32994
+ /** Desired [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C. You must set one of the `heating_set_point` parameters. */
32995
+ heating_set_point_celsius?: number | undefined
32996
+ /** Desired [heating set point](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F. You must set one of the `heating_set_point` parameters. */
32997
+ heating_set_point_fahrenheit?: number | undefined
32998
+ }
32999
+ commonParams: {}
33000
+ formData: {}
33001
+ jsonResponse: {
33002
+ action_attempt:
33003
+ | {
33004
+ /** The ID of the action attempt. */
33005
+ action_attempt_id: string
33006
+ status: 'pending'
33007
+ result: null
33008
+ error: null
33009
+ action_type: 'LOCK_DOOR'
33010
+ }
33011
+ | {
33012
+ /** The ID of the action attempt. */
33013
+ action_attempt_id: string
33014
+ status: 'success'
33015
+ error: null
33016
+ action_type: 'LOCK_DOOR'
33017
+ result: {}
33018
+ }
33019
+ | {
33020
+ /** The ID of the action attempt. */
33021
+ action_attempt_id: string
33022
+ status: 'error'
33023
+ result: null
33024
+ action_type: 'LOCK_DOOR'
33025
+ error: {
33026
+ type: string
33027
+ message: string
33028
+ }
33029
+ }
33030
+ | {
33031
+ /** The ID of the action attempt. */
33032
+ action_attempt_id: string
33033
+ status: 'pending'
33034
+ result: null
33035
+ error: null
33036
+ action_type: 'UNLOCK_DOOR'
33037
+ }
33038
+ | {
33039
+ /** The ID of the action attempt. */
33040
+ action_attempt_id: string
33041
+ status: 'success'
33042
+ error: null
33043
+ action_type: 'UNLOCK_DOOR'
33044
+ result: {}
33045
+ }
33046
+ | {
33047
+ /** The ID of the action attempt. */
33048
+ action_attempt_id: string
33049
+ status: 'error'
33050
+ result: null
33051
+ action_type: 'UNLOCK_DOOR'
33052
+ error: {
33053
+ type: string
33054
+ message: string
33055
+ }
33056
+ }
33057
+ | {
33058
+ /** The ID of the action attempt. */
33059
+ action_attempt_id: string
33060
+ status: 'pending'
33061
+ result: null
33062
+ error: null
33063
+ action_type: 'SCAN_CREDENTIAL'
33064
+ }
33065
+ | {
33066
+ /** The ID of the action attempt. */
33067
+ action_attempt_id: string
33068
+ status: 'success'
33069
+ error: null
33070
+ action_type: 'SCAN_CREDENTIAL'
33071
+ result: {
33072
+ /** Snapshot of credential data read from physical encoder. */
33073
+ acs_credential_on_encoder: {
33074
+ /** Date and time the credential was created. */
33075
+ created_at: string | null
33076
+ is_issued: boolean | null
33077
+ /** Date and time the credential will become useable. */
33078
+ starts_at: string | null
33079
+ /** Date and time the credential will stop being useable. */
33080
+ ends_at: string | null
33081
+ /** A number or string that physically identifies this card. */
33082
+ card_number: string | null
33083
+ /** Visionline-specific metadata for the credential. */
33084
+ visionline_metadata?:
33085
+ | {
33086
+ card_id: string
33087
+ cancelled: boolean
33088
+ discarded: boolean
33089
+ expired: boolean
33090
+ overwritten: boolean
33091
+ overridden?: boolean | undefined
33092
+ pending_auto_update: boolean
33093
+ card_format: 'TLCode' | 'rfid48'
33094
+ card_holder?: string | undefined
33095
+ number_of_issued_cards: number
33096
+ guest_acs_entrance_ids?: string[] | undefined
33097
+ common_acs_entrance_ids?: string[] | undefined
33098
+ }
33099
+ | undefined
33100
+ }
33101
+ /** Matching acs_credential currently encoded on this card. */
33102
+ acs_credential_on_seam:
33103
+ | (
33104
+ | {
33105
+ /** ID of the credential. */
33106
+ acs_credential_id: string
33107
+ /** ID of the ACS user to whom the credential belongs. */
33108
+ acs_user_id?: string | undefined
33109
+ acs_credential_pool_id?: string | undefined
33110
+ /** ID of the access control system that contains the credential. */
33111
+ acs_system_id: string
33112
+ /** ID of the parent credential. */
33113
+ parent_acs_credential_id?: string | undefined
33114
+ /** Display name that corresponds to the credential type. */
33115
+ display_name: string
33116
+ /** Access (PIN) code for the credential. */
33117
+ code?: (string | undefined) | null
33118
+ card_number?: (string | undefined) | null
33119
+ is_issued?: boolean | undefined
33120
+ issued_at?: (string | undefined) | null
33121
+ /** Access method for the credential. Supported values: `code`, `card`, `mobile_key`. */
33122
+ access_method: 'code' | 'card' | 'mobile_key'
33123
+ /** Brand-specific terminology for the credential type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */
33124
+ external_type?:
33125
+ | (
33126
+ | 'pti_card'
33127
+ | 'brivo_credential'
33128
+ | 'hid_credential'
33129
+ | 'visionline_card'
33130
+ | 'salto_ks_credential'
33131
+ )
33132
+ | undefined
33133
+ /** Display name that corresponds to the brand-specific terminology for the credential type. */
33134
+ external_type_display_name?: string | undefined
33135
+ /** Date and time at which the credential was created. */
33136
+ created_at: string
33137
+ /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the credential. */
33138
+ workspace_id: string
33139
+ /** Date and time at which the credential validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
33140
+ starts_at?: string | undefined
33141
+ /** Date and time at which the credential 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`. */
33142
+ ends_at?: string | undefined
33143
+ /** Errors associated with the `acs_credential`. */
33144
+ errors: Array<{
33145
+ error_code: string
33146
+ message: string
33147
+ }>
33148
+ /** Warnings associated with the `acs_credential`. */
33149
+ warnings: Array<
33150
+ | {
33151
+ /** Date and time at which Seam created the warning. */
33152
+ created_at: string
33153
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33154
+ message: string
33155
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33156
+ warning_code: 'waiting_to_be_issued'
33157
+ }
33158
+ | {
33159
+ /** Date and time at which Seam created the warning. */
33160
+ created_at: string
33161
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33162
+ message: string
33163
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33164
+ warning_code: 'schedule_externally_modified'
33165
+ }
33166
+ | {
33167
+ /** Date and time at which Seam created the warning. */
33168
+ created_at: string
33169
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33170
+ message: string
33171
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33172
+ warning_code: 'schedule_modified'
33173
+ }
33174
+ | {
33175
+ /** Date and time at which Seam created the warning. */
33176
+ created_at: string
33177
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33178
+ message: string
33179
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33180
+ warning_code: 'being_deleted'
33181
+ }
33182
+ >
33183
+ /** Indicates whether the credential is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */
33184
+ is_multi_phone_sync_credential?: boolean | undefined
33185
+ /** Indicates whether the latest state of the credential has been synced from Seam to the provider. */
33186
+ is_latest_desired_state_synced_with_provider?:
33187
+ | boolean
33188
+ | undefined
33189
+ /** Date and time at which the state of the credential was most recently synced from Seam to the provider. */
33190
+ latest_desired_state_synced_with_provider_at?:
33191
+ | string
33192
+ | undefined
33193
+ /** Visionline-specific metadata for the credential. */
33194
+ visionline_metadata?:
33195
+ | {
33196
+ card_function_type: 'guest' | 'staff'
33197
+ joiner_acs_credential_ids?: string[] | undefined
33198
+ guest_acs_entrance_ids?: string[] | undefined
33199
+ common_acs_entrance_ids?: string[] | undefined
33200
+ is_valid?: boolean | undefined
33201
+ auto_join?: boolean | undefined
33202
+ card_id?: string | undefined
33203
+ credential_id?: string | undefined
33204
+ }
33205
+ | undefined
33206
+ is_managed: true
33207
+ }
33208
+ | {
33209
+ /** ID of the credential. */
33210
+ acs_credential_id: string
33211
+ /** ID of the ACS user to whom the credential belongs. */
33212
+ acs_user_id?: string | undefined
33213
+ acs_credential_pool_id?: string | undefined
33214
+ /** ID of the access control system that contains the credential. */
33215
+ acs_system_id: string
33216
+ /** ID of the parent credential. */
33217
+ parent_acs_credential_id?: string | undefined
33218
+ /** Display name that corresponds to the credential type. */
33219
+ display_name: string
33220
+ /** Access (PIN) code for the credential. */
33221
+ code?: (string | undefined) | null
33222
+ card_number?: (string | undefined) | null
33223
+ is_issued?: boolean | undefined
33224
+ issued_at?: (string | undefined) | null
33225
+ /** Access method for the credential. Supported values: `code`, `card`, `mobile_key`. */
33226
+ access_method: 'code' | 'card' | 'mobile_key'
33227
+ /** Brand-specific terminology for the credential type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */
33228
+ external_type?:
33229
+ | (
33230
+ | 'pti_card'
33231
+ | 'brivo_credential'
33232
+ | 'hid_credential'
33233
+ | 'visionline_card'
33234
+ | 'salto_ks_credential'
33235
+ )
33236
+ | undefined
33237
+ /** Display name that corresponds to the brand-specific terminology for the credential type. */
33238
+ external_type_display_name?: string | undefined
33239
+ /** Date and time at which the credential was created. */
33240
+ created_at: string
33241
+ /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the credential. */
33242
+ workspace_id: string
33243
+ /** Date and time at which the credential validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
33244
+ starts_at?: string | undefined
33245
+ /** Date and time at which the credential 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`. */
33246
+ ends_at?: string | undefined
33247
+ /** Errors associated with the `acs_credential`. */
33248
+ errors: Array<{
33249
+ error_code: string
33250
+ message: string
33251
+ }>
33252
+ /** Warnings associated with the `acs_credential`. */
33253
+ warnings: Array<
33254
+ | {
33255
+ /** Date and time at which Seam created the warning. */
33256
+ created_at: string
33257
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33258
+ message: string
33259
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33260
+ warning_code: 'waiting_to_be_issued'
33261
+ }
33262
+ | {
33263
+ /** Date and time at which Seam created the warning. */
33264
+ created_at: string
33265
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33266
+ message: string
33267
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33268
+ warning_code: 'schedule_externally_modified'
33269
+ }
33270
+ | {
33271
+ /** Date and time at which Seam created the warning. */
33272
+ created_at: string
33273
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33274
+ message: string
33275
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33276
+ warning_code: 'schedule_modified'
33277
+ }
33278
+ | {
33279
+ /** Date and time at which Seam created the warning. */
33280
+ created_at: string
33281
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33282
+ message: string
33283
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33284
+ warning_code: 'being_deleted'
33285
+ }
33286
+ >
33287
+ /** Indicates whether the credential is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */
33288
+ is_multi_phone_sync_credential?: boolean | undefined
33289
+ /** Indicates whether the latest state of the credential has been synced from Seam to the provider. */
33290
+ is_latest_desired_state_synced_with_provider?:
33291
+ | boolean
33292
+ | undefined
33293
+ /** Date and time at which the state of the credential was most recently synced from Seam to the provider. */
33294
+ latest_desired_state_synced_with_provider_at?:
33295
+ | string
33296
+ | undefined
33297
+ /** Visionline-specific metadata for the credential. */
33298
+ visionline_metadata?:
33299
+ | {
33300
+ card_function_type: 'guest' | 'staff'
33301
+ joiner_acs_credential_ids?: string[] | undefined
33302
+ guest_acs_entrance_ids?: string[] | undefined
33303
+ common_acs_entrance_ids?: string[] | undefined
33304
+ is_valid?: boolean | undefined
33305
+ auto_join?: boolean | undefined
33306
+ card_id?: string | undefined
33307
+ credential_id?: string | undefined
33308
+ }
33309
+ | undefined
33310
+ is_managed: false
33311
+ }
33312
+ )
33313
+ | null
33314
+ warnings: Array<{
33315
+ warning_code: 'acs_credential_on_encoder_out_of_sync'
33316
+ warning_message: string
33317
+ }>
33318
+ }
33319
+ }
33320
+ | {
33321
+ /** The ID of the action attempt. */
33322
+ action_attempt_id: string
33323
+ status: 'error'
33324
+ result: null
33325
+ action_type: 'SCAN_CREDENTIAL'
33326
+ error:
33327
+ | {
33328
+ type: 'uncategorized_error'
33329
+ message: string
33330
+ }
33331
+ | {
33332
+ type: 'action_attempt_expired'
33333
+ message: string
33334
+ }
33335
+ | {
33336
+ type: 'no_card_on_encoder'
33337
+ message: string
33338
+ }
33339
+ }
33340
+ | {
33341
+ /** The ID of the action attempt. */
33342
+ action_attempt_id: string
33343
+ status: 'pending'
33344
+ result: null
33345
+ error: null
33346
+ action_type: 'ENCODE_CREDENTIAL'
33347
+ }
33348
+ | {
33349
+ /** The ID of the action attempt. */
33350
+ action_attempt_id: string
33351
+ status: 'success'
33352
+ error: null
33353
+ action_type: 'ENCODE_CREDENTIAL'
33354
+ /** Means by which a user gains access at an entrance.
33355
+ The `acs_credential` object represents a credential that provides an ACS user access within an access control system. For each acs_credential object, you define the access method. You can also specify additional properties, such as a code. */
33356
+ result:
33357
+ | {
33358
+ /** ID of the credential. */
33359
+ acs_credential_id: string
33360
+ /** ID of the ACS user to whom the credential belongs. */
33361
+ acs_user_id?: string | undefined
33362
+ acs_credential_pool_id?: string | undefined
33363
+ /** ID of the access control system that contains the credential. */
33364
+ acs_system_id: string
33365
+ /** ID of the parent credential. */
33366
+ parent_acs_credential_id?: string | undefined
33367
+ /** Display name that corresponds to the credential type. */
33368
+ display_name: string
33369
+ /** Access (PIN) code for the credential. */
33370
+ code?: (string | undefined) | null
33371
+ card_number?: (string | undefined) | null
33372
+ is_issued?: boolean | undefined
33373
+ issued_at?: (string | undefined) | null
33374
+ /** Access method for the credential. Supported values: `code`, `card`, `mobile_key`. */
33375
+ access_method: 'code' | 'card' | 'mobile_key'
33376
+ /** Brand-specific terminology for the credential type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */
33377
+ external_type?:
33378
+ | (
33379
+ | 'pti_card'
33380
+ | 'brivo_credential'
33381
+ | 'hid_credential'
33382
+ | 'visionline_card'
33383
+ | 'salto_ks_credential'
33384
+ )
33385
+ | undefined
33386
+ /** Display name that corresponds to the brand-specific terminology for the credential type. */
33387
+ external_type_display_name?: string | undefined
33388
+ /** Date and time at which the credential was created. */
33389
+ created_at: string
33390
+ /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the credential. */
33391
+ workspace_id: string
33392
+ /** Date and time at which the credential validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
33393
+ starts_at?: string | undefined
33394
+ /** Date and time at which the credential 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`. */
33395
+ ends_at?: string | undefined
33396
+ /** Errors associated with the `acs_credential`. */
33397
+ errors: Array<{
33398
+ error_code: string
33399
+ message: string
33400
+ }>
33401
+ /** Warnings associated with the `acs_credential`. */
33402
+ warnings: Array<
33403
+ | {
33404
+ /** Date and time at which Seam created the warning. */
33405
+ created_at: string
33406
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33407
+ message: string
33408
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33409
+ warning_code: 'waiting_to_be_issued'
33410
+ }
33411
+ | {
33412
+ /** Date and time at which Seam created the warning. */
33413
+ created_at: string
33414
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33415
+ message: string
33416
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33417
+ warning_code: 'schedule_externally_modified'
33418
+ }
33419
+ | {
33420
+ /** Date and time at which Seam created the warning. */
33421
+ created_at: string
33422
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33423
+ message: string
33424
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33425
+ warning_code: 'schedule_modified'
33426
+ }
33427
+ | {
33428
+ /** Date and time at which Seam created the warning. */
33429
+ created_at: string
33430
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33431
+ message: string
33432
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33433
+ warning_code: 'being_deleted'
33434
+ }
33435
+ >
33436
+ /** Indicates whether the credential is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */
33437
+ is_multi_phone_sync_credential?: boolean | undefined
33438
+ /** Indicates whether the latest state of the credential has been synced from Seam to the provider. */
33439
+ is_latest_desired_state_synced_with_provider?:
33440
+ | boolean
33441
+ | undefined
33442
+ /** Date and time at which the state of the credential was most recently synced from Seam to the provider. */
33443
+ latest_desired_state_synced_with_provider_at?:
33444
+ | string
33445
+ | undefined
33446
+ /** Visionline-specific metadata for the credential. */
33447
+ visionline_metadata?:
33448
+ | {
33449
+ card_function_type: 'guest' | 'staff'
33450
+ joiner_acs_credential_ids?: string[] | undefined
33451
+ guest_acs_entrance_ids?: string[] | undefined
33452
+ common_acs_entrance_ids?: string[] | undefined
33453
+ is_valid?: boolean | undefined
33454
+ auto_join?: boolean | undefined
33455
+ card_id?: string | undefined
33456
+ credential_id?: string | undefined
33457
+ }
33458
+ | undefined
33459
+ is_managed: true
33460
+ }
33461
+ | {
33462
+ /** ID of the credential. */
33463
+ acs_credential_id: string
33464
+ /** ID of the ACS user to whom the credential belongs. */
33465
+ acs_user_id?: string | undefined
33466
+ acs_credential_pool_id?: string | undefined
33467
+ /** ID of the access control system that contains the credential. */
33468
+ acs_system_id: string
33469
+ /** ID of the parent credential. */
33470
+ parent_acs_credential_id?: string | undefined
33471
+ /** Display name that corresponds to the credential type. */
33472
+ display_name: string
33473
+ /** Access (PIN) code for the credential. */
33474
+ code?: (string | undefined) | null
33475
+ card_number?: (string | undefined) | null
33476
+ is_issued?: boolean | undefined
33477
+ issued_at?: (string | undefined) | null
33478
+ /** Access method for the credential. Supported values: `code`, `card`, `mobile_key`. */
33479
+ access_method: 'code' | 'card' | 'mobile_key'
33480
+ /** Brand-specific terminology for the credential type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. */
33481
+ external_type?:
33482
+ | (
33483
+ | 'pti_card'
33484
+ | 'brivo_credential'
33485
+ | 'hid_credential'
33486
+ | 'visionline_card'
33487
+ | 'salto_ks_credential'
33488
+ )
33489
+ | undefined
33490
+ /** Display name that corresponds to the brand-specific terminology for the credential type. */
33491
+ external_type_display_name?: string | undefined
33492
+ /** Date and time at which the credential was created. */
33493
+ created_at: string
33494
+ /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the credential. */
33495
+ workspace_id: string
33496
+ /** Date and time at which the credential validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
33497
+ starts_at?: string | undefined
33498
+ /** Date and time at which the credential 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`. */
33499
+ ends_at?: string | undefined
33500
+ /** Errors associated with the `acs_credential`. */
33501
+ errors: Array<{
33502
+ error_code: string
33503
+ message: string
33504
+ }>
33505
+ /** Warnings associated with the `acs_credential`. */
33506
+ warnings: Array<
33507
+ | {
33508
+ /** Date and time at which Seam created the warning. */
33509
+ created_at: string
33510
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33511
+ message: string
33512
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33513
+ warning_code: 'waiting_to_be_issued'
33514
+ }
33515
+ | {
33516
+ /** Date and time at which Seam created the warning. */
33517
+ created_at: string
33518
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33519
+ message: string
33520
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33521
+ warning_code: 'schedule_externally_modified'
33522
+ }
33523
+ | {
33524
+ /** Date and time at which Seam created the warning. */
33525
+ created_at: string
33526
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33527
+ message: string
33528
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33529
+ warning_code: 'schedule_modified'
33530
+ }
33531
+ | {
33532
+ /** Date and time at which Seam created the warning. */
33533
+ created_at: string
33534
+ /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
33535
+ message: string
33536
+ /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
33537
+ warning_code: 'being_deleted'
33538
+ }
33539
+ >
33540
+ /** Indicates whether the credential is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). */
33541
+ is_multi_phone_sync_credential?: boolean | undefined
33542
+ /** Indicates whether the latest state of the credential has been synced from Seam to the provider. */
33543
+ is_latest_desired_state_synced_with_provider?:
33544
+ | boolean
33545
+ | undefined
33546
+ /** Date and time at which the state of the credential was most recently synced from Seam to the provider. */
33547
+ latest_desired_state_synced_with_provider_at?:
33548
+ | string
33549
+ | undefined
33550
+ /** Visionline-specific metadata for the credential. */
33551
+ visionline_metadata?:
33552
+ | {
33553
+ card_function_type: 'guest' | 'staff'
33554
+ joiner_acs_credential_ids?: string[] | undefined
33555
+ guest_acs_entrance_ids?: string[] | undefined
33556
+ common_acs_entrance_ids?: string[] | undefined
33557
+ is_valid?: boolean | undefined
33558
+ auto_join?: boolean | undefined
33559
+ card_id?: string | undefined
33560
+ credential_id?: string | undefined
33561
+ }
33562
+ | undefined
33563
+ is_managed: false
33564
+ }
33565
+ }
33566
+ | {
33567
+ /** The ID of the action attempt. */
33568
+ action_attempt_id: string
33569
+ status: 'error'
33570
+ result: null
33571
+ action_type: 'ENCODE_CREDENTIAL'
33572
+ error:
33573
+ | {
33574
+ type: 'uncategorized_error'
33575
+ message: string
33576
+ }
33577
+ | {
33578
+ type: 'action_attempt_expired'
33579
+ message: string
33580
+ }
33581
+ | {
33582
+ type: 'no_card_on_encoder'
33583
+ message: string
33584
+ }
33585
+ | {
33586
+ type: 'incompatible_card_format'
33587
+ message: string
33588
+ }
33589
+ }
33590
+ | {
33591
+ /** The ID of the action attempt. */
33592
+ action_attempt_id: string
33593
+ status: 'pending'
33594
+ result: null
33595
+ error: null
33596
+ action_type: 'RESET_SANDBOX_WORKSPACE'
33597
+ }
33598
+ | {
33599
+ /** The ID of the action attempt. */
33600
+ action_attempt_id: string
33601
+ status: 'success'
33602
+ error: null
33603
+ action_type: 'RESET_SANDBOX_WORKSPACE'
33604
+ result: {}
33605
+ }
33606
+ | {
33607
+ /** The ID of the action attempt. */
33608
+ action_attempt_id: string
33609
+ status: 'error'
33610
+ result: null
33611
+ action_type: 'RESET_SANDBOX_WORKSPACE'
33612
+ error: {
33613
+ type: string
33614
+ message: string
33615
+ }
33616
+ }
33617
+ | {
33618
+ /** The ID of the action attempt. */
33619
+ action_attempt_id: string
33620
+ status: 'pending'
33621
+ result: null
33622
+ error: null
33623
+ action_type: 'SET_COOL'
33624
+ }
33625
+ | {
33626
+ /** The ID of the action attempt. */
33627
+ action_attempt_id: string
33628
+ status: 'success'
33629
+ error: null
33630
+ action_type: 'SET_COOL'
33631
+ result: {}
33632
+ }
33633
+ | {
33634
+ /** The ID of the action attempt. */
33635
+ action_attempt_id: string
33636
+ status: 'error'
33637
+ result: null
33638
+ action_type: 'SET_COOL'
33639
+ error: {
33640
+ type: string
33641
+ message: string
33642
+ }
33643
+ }
33644
+ | {
33645
+ /** The ID of the action attempt. */
33646
+ action_attempt_id: string
33647
+ status: 'pending'
33648
+ result: null
33649
+ error: null
33650
+ action_type: 'SET_HEAT'
33651
+ }
33652
+ | {
33653
+ /** The ID of the action attempt. */
33654
+ action_attempt_id: string
33655
+ status: 'success'
33656
+ error: null
33657
+ action_type: 'SET_HEAT'
33658
+ result: {}
33659
+ }
33660
+ | {
33661
+ /** The ID of the action attempt. */
33662
+ action_attempt_id: string
33663
+ status: 'error'
33664
+ result: null
33665
+ action_type: 'SET_HEAT'
33666
+ error: {
33667
+ type: string
33668
+ message: string
33669
+ }
33670
+ }
33671
+ | {
33672
+ /** The ID of the action attempt. */
33673
+ action_attempt_id: string
33674
+ status: 'pending'
33675
+ result: null
33676
+ error: null
33677
+ action_type: 'SET_HEAT_COOL'
33678
+ }
33679
+ | {
33680
+ /** The ID of the action attempt. */
33681
+ action_attempt_id: string
33682
+ status: 'success'
33683
+ error: null
33684
+ action_type: 'SET_HEAT_COOL'
33685
+ result: {}
33686
+ }
33687
+ | {
33688
+ /** The ID of the action attempt. */
33689
+ action_attempt_id: string
33690
+ status: 'error'
33691
+ result: null
33692
+ action_type: 'SET_HEAT_COOL'
33693
+ error: {
33694
+ type: string
33695
+ message: string
33696
+ }
33697
+ }
33698
+ | {
33699
+ /** The ID of the action attempt. */
33700
+ action_attempt_id: string
33701
+ status: 'pending'
33702
+ result: null
33703
+ error: null
33704
+ action_type: 'SET_FAN_MODE'
33705
+ }
33706
+ | {
33707
+ /** The ID of the action attempt. */
33708
+ action_attempt_id: string
33709
+ status: 'success'
33710
+ error: null
33711
+ action_type: 'SET_FAN_MODE'
33712
+ result: {}
33713
+ }
33714
+ | {
33715
+ /** The ID of the action attempt. */
33716
+ action_attempt_id: string
33717
+ status: 'error'
33718
+ result: null
33719
+ action_type: 'SET_FAN_MODE'
33720
+ error: {
33721
+ type: string
33722
+ message: string
33723
+ }
33724
+ }
33725
+ | {
33726
+ /** The ID of the action attempt. */
33727
+ action_attempt_id: string
33728
+ status: 'pending'
33729
+ result: null
33730
+ error: null
33731
+ action_type: 'SET_THERMOSTAT_OFF'
33732
+ }
33733
+ | {
33734
+ /** The ID of the action attempt. */
33735
+ action_attempt_id: string
33736
+ status: 'success'
33737
+ error: null
33738
+ action_type: 'SET_THERMOSTAT_OFF'
33739
+ result: {}
33740
+ }
33741
+ | {
33742
+ /** The ID of the action attempt. */
33743
+ action_attempt_id: string
33744
+ status: 'error'
33745
+ result: null
33746
+ action_type: 'SET_THERMOSTAT_OFF'
33747
+ error: {
33748
+ type: string
33749
+ message: string
33750
+ }
33751
+ }
33752
+ | {
33753
+ /** The ID of the action attempt. */
33754
+ action_attempt_id: string
33755
+ status: 'pending'
33756
+ result: null
33757
+ error: null
33758
+ action_type: 'ACTIVATE_CLIMATE_PRESET'
33759
+ }
33760
+ | {
33761
+ /** The ID of the action attempt. */
33762
+ action_attempt_id: string
33763
+ status: 'success'
33764
+ error: null
33765
+ action_type: 'ACTIVATE_CLIMATE_PRESET'
33766
+ result: {}
33767
+ }
33768
+ | {
33769
+ /** The ID of the action attempt. */
33770
+ action_attempt_id: string
33771
+ status: 'error'
33772
+ result: null
33773
+ action_type: 'ACTIVATE_CLIMATE_PRESET'
33774
+ error: {
33775
+ type: string
33776
+ message: string
33777
+ }
33778
+ }
33779
+ | {
33780
+ /** The ID of the action attempt. */
33781
+ action_attempt_id: string
33782
+ status: 'pending'
33783
+ result: null
33784
+ error: null
33785
+ action_type: 'SYNC_ACCESS_CODES'
33786
+ }
33787
+ | {
33788
+ /** The ID of the action attempt. */
33789
+ action_attempt_id: string
33790
+ status: 'success'
33791
+ error: null
33792
+ action_type: 'SYNC_ACCESS_CODES'
33793
+ result: {}
33794
+ }
33795
+ | {
33796
+ /** The ID of the action attempt. */
33797
+ action_attempt_id: string
33798
+ status: 'error'
33799
+ result: null
33800
+ action_type: 'SYNC_ACCESS_CODES'
33801
+ error: {
33802
+ type: string
33803
+ message: string
33804
+ }
33805
+ }
33806
+ | {
33807
+ /** The ID of the action attempt. */
33808
+ action_attempt_id: string
33809
+ status: 'pending'
33810
+ result: null
33811
+ error: null
33812
+ action_type: 'CREATE_ACCESS_CODE'
33813
+ }
33814
+ | {
33815
+ /** The ID of the action attempt. */
33816
+ action_attempt_id: string
33817
+ status: 'success'
33818
+ error: null
33819
+ action_type: 'CREATE_ACCESS_CODE'
33820
+ result: {
33821
+ access_code?: any
33822
+ }
33823
+ }
33824
+ | {
33825
+ /** The ID of the action attempt. */
33826
+ action_attempt_id: string
33827
+ status: 'error'
33828
+ result: null
33829
+ action_type: 'CREATE_ACCESS_CODE'
33830
+ error: {
33831
+ type: string
33832
+ message: string
33833
+ }
33834
+ }
33835
+ | {
33836
+ /** The ID of the action attempt. */
33837
+ action_attempt_id: string
33838
+ status: 'pending'
33839
+ result: null
33840
+ error: null
33841
+ action_type: 'DELETE_ACCESS_CODE'
33842
+ }
33843
+ | {
33844
+ /** The ID of the action attempt. */
33845
+ action_attempt_id: string
33846
+ status: 'success'
33847
+ error: null
33848
+ action_type: 'DELETE_ACCESS_CODE'
33849
+ result: {}
33850
+ }
33851
+ | {
33852
+ /** The ID of the action attempt. */
33853
+ action_attempt_id: string
33854
+ status: 'error'
33855
+ result: null
33856
+ action_type: 'DELETE_ACCESS_CODE'
33857
+ error: {
33858
+ type: string
33859
+ message: string
33860
+ }
33861
+ }
33862
+ | {
33863
+ /** The ID of the action attempt. */
33864
+ action_attempt_id: string
33865
+ status: 'pending'
33866
+ result: null
33867
+ error: null
33868
+ action_type: 'UPDATE_ACCESS_CODE'
33869
+ }
33870
+ | {
33871
+ /** The ID of the action attempt. */
33872
+ action_attempt_id: string
33873
+ status: 'success'
33874
+ error: null
33875
+ action_type: 'UPDATE_ACCESS_CODE'
33876
+ result: {
33877
+ access_code?: any
33878
+ }
33879
+ }
33880
+ | {
33881
+ /** The ID of the action attempt. */
33882
+ action_attempt_id: string
33883
+ status: 'error'
33884
+ result: null
33885
+ action_type: 'UPDATE_ACCESS_CODE'
33886
+ error: {
33887
+ type: string
33888
+ message: string
33889
+ }
33890
+ }
33891
+ | {
33892
+ /** The ID of the action attempt. */
33893
+ action_attempt_id: string
33894
+ status: 'pending'
33895
+ result: null
33896
+ error: null
33897
+ action_type: 'CREATE_NOISE_THRESHOLD'
33898
+ }
33899
+ | {
33900
+ /** The ID of the action attempt. */
33901
+ action_attempt_id: string
33902
+ status: 'success'
33903
+ error: null
33904
+ action_type: 'CREATE_NOISE_THRESHOLD'
33905
+ result: {
33906
+ noise_threshold?: any
33907
+ }
33908
+ }
33909
+ | {
33910
+ /** The ID of the action attempt. */
33911
+ action_attempt_id: string
33912
+ status: 'error'
33913
+ result: null
33914
+ action_type: 'CREATE_NOISE_THRESHOLD'
33915
+ error: {
33916
+ type: string
33917
+ message: string
33918
+ }
33919
+ }
33920
+ | {
33921
+ /** The ID of the action attempt. */
33922
+ action_attempt_id: string
33923
+ status: 'pending'
33924
+ result: null
33925
+ error: null
33926
+ action_type: 'DELETE_NOISE_THRESHOLD'
33927
+ }
33928
+ | {
33929
+ /** The ID of the action attempt. */
33930
+ action_attempt_id: string
33931
+ status: 'success'
33932
+ error: null
33933
+ action_type: 'DELETE_NOISE_THRESHOLD'
33934
+ result: {}
33935
+ }
33936
+ | {
33937
+ /** The ID of the action attempt. */
33938
+ action_attempt_id: string
33939
+ status: 'error'
33940
+ result: null
33941
+ action_type: 'DELETE_NOISE_THRESHOLD'
33942
+ error: {
33943
+ type: string
33944
+ message: string
33945
+ }
33946
+ }
33947
+ | {
33948
+ /** The ID of the action attempt. */
33949
+ action_attempt_id: string
33950
+ status: 'pending'
33951
+ result: null
33952
+ error: null
33953
+ action_type: 'UPDATE_NOISE_THRESHOLD'
33954
+ }
33955
+ | {
33956
+ /** The ID of the action attempt. */
33957
+ action_attempt_id: string
33958
+ status: 'success'
33959
+ error: null
33960
+ action_type: 'UPDATE_NOISE_THRESHOLD'
33961
+ result: {
33962
+ noise_threshold?: any
33963
+ }
33964
+ }
33965
+ | {
33966
+ /** The ID of the action attempt. */
33967
+ action_attempt_id: string
33968
+ status: 'error'
33969
+ result: null
33970
+ action_type: 'UPDATE_NOISE_THRESHOLD'
33971
+ error: {
33972
+ type: string
33973
+ message: string
33974
+ }
33975
+ }
33976
+ }
33977
+ }
32958
33978
  '/thermostats/set_temperature_threshold': {
32959
33979
  route: '/thermostats/set_temperature_threshold'
32960
33980
  method: 'POST' | 'PATCH'
@@ -34842,7 +35862,7 @@ export interface Routes {
34842
35862
  /** Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
34843
35863
  starts_at: string
34844
35864
  /** Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */
34845
- ends_at: string
35865
+ ends_at: string | null
34846
35866
  }
34847
35867
  | undefined
34848
35868
  /** ID of the user identity associated with the `acs_user`. */