@seamapi/types 1.938.0 → 1.940.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.
@@ -15456,6 +15456,12 @@ const openapi: OpenAPISpec = {
15456
15456
  type: 'boolean',
15457
15457
  'x-property-group-key': 'locks',
15458
15458
  },
15459
+ backup_access_code_pool_enabled: {
15460
+ description:
15461
+ 'Indicates whether the [backup access code pool](https://docs.seam.co/low-level-apis/smart-locks/access-codes/backup-access-codes) is currently enabled for the device. To disable it, set this to `false` using [/devices/update](https://docs.seam.co/api/devices/update).',
15462
+ type: 'boolean',
15463
+ 'x-property-group-key': 'access_codes',
15464
+ },
15459
15465
  code_constraints: {
15460
15466
  description:
15461
15467
  'Constraints on access codes for the device. Seam represents each constraint as an object with a `constraint_type` property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific.',
@@ -60555,6 +60561,11 @@ const openapi: OpenAPISpec = {
60555
60561
  'application/json': {
60556
60562
  schema: {
60557
60563
  properties: {
60564
+ backup_access_code_pool_enabled: {
60565
+ description:
60566
+ "Indicates whether the device's [backup access code pool](https://docs.seam.co/low-level-apis/smart-locks/access-codes/backup-access-codes) is enabled. Set to `false` to disable the pool: Seam stops refilling it and removes any backup codes that have not yet been pulled into active use.",
60567
+ type: 'boolean',
60568
+ },
60558
60569
  custom_metadata: {
60559
60570
  additionalProperties: {
60560
60571
  nullable: true,
@@ -60639,6 +60650,11 @@ const openapi: OpenAPISpec = {
60639
60650
  'application/json': {
60640
60651
  schema: {
60641
60652
  properties: {
60653
+ backup_access_code_pool_enabled: {
60654
+ description:
60655
+ "Indicates whether the device's [backup access code pool](https://docs.seam.co/low-level-apis/smart-locks/access-codes/backup-access-codes) is enabled. Set to `false` to disable the pool: Seam stops refilling it and removes any backup codes that have not yet been pulled into active use.",
60656
+ type: 'boolean',
60657
+ },
60642
60658
  custom_metadata: {
60643
60659
  additionalProperties: {
60644
60660
  nullable: true,
@@ -65780,6 +65796,596 @@ const openapi: OpenAPISpec = {
65780
65796
  'x-undocumented': 'Internal endpoint for Console',
65781
65797
  },
65782
65798
  },
65799
+ '/seam/console/v1/lynx_migration/get_property_migration_status': {
65800
+ get: {
65801
+ description:
65802
+ 'Returns the most recent Lynx cutover run for a property (space), including a\nrollup of its per-reservation child runs by status. Returns a null run when the\nproperty has never been migrated.',
65803
+ operationId: 'seamConsoleV1LynxMigrationGetPropertyMigrationStatusGet',
65804
+ parameters: [
65805
+ {
65806
+ in: 'query',
65807
+ name: 'space_id',
65808
+ required: true,
65809
+ schema: {
65810
+ description:
65811
+ 'ID of the space (property) to get the migration status for.',
65812
+ format: 'uuid',
65813
+ type: 'string',
65814
+ },
65815
+ },
65816
+ ],
65817
+ responses: {
65818
+ 200: {
65819
+ content: {
65820
+ 'application/json': {
65821
+ schema: {
65822
+ properties: {
65823
+ lynx_migration_property_run: {
65824
+ nullable: true,
65825
+ properties: {
65826
+ child_status_counts: {
65827
+ additionalProperties: {
65828
+ format: 'float',
65829
+ type: 'number',
65830
+ },
65831
+ type: 'object',
65832
+ },
65833
+ created_at: { type: 'string' },
65834
+ lynx_migration_property_run_id: {
65835
+ format: 'uuid',
65836
+ type: 'string',
65837
+ },
65838
+ space_id: { format: 'uuid', type: 'string' },
65839
+ status: { type: 'string' },
65840
+ updated_at: { type: 'string' },
65841
+ },
65842
+ required: [
65843
+ 'lynx_migration_property_run_id',
65844
+ 'space_id',
65845
+ 'status',
65846
+ 'created_at',
65847
+ 'updated_at',
65848
+ 'child_status_counts',
65849
+ ],
65850
+ type: 'object',
65851
+ },
65852
+ ok: { type: 'boolean' },
65853
+ },
65854
+ required: ['lynx_migration_property_run', 'ok'],
65855
+ type: 'object',
65856
+ },
65857
+ },
65858
+ },
65859
+ description: 'OK',
65860
+ },
65861
+ 400: { description: 'Bad Request' },
65862
+ 401: { description: 'Unauthorized' },
65863
+ },
65864
+ security: [
65865
+ { pat_with_workspace: [] },
65866
+ { console_session_with_workspace: [] },
65867
+ { api_key: [] },
65868
+ ],
65869
+ summary:
65870
+ '/seam/console/v1/lynx_migration/get_property_migration_status',
65871
+ tags: [],
65872
+ 'x-fern-sdk-group-name': ['seam', 'console', 'v1', 'lynx_migration'],
65873
+ 'x-fern-sdk-method-name': 'get_property_migration_status',
65874
+ 'x-fern-sdk-return-value': 'lynx_migration_property_run',
65875
+ 'x-response-key': 'lynx_migration_property_run',
65876
+ 'x-title': 'Get Lynx Migration Property Status',
65877
+ 'x-undocumented': 'Internal endpoint for Console',
65878
+ },
65879
+ post: {
65880
+ description:
65881
+ 'Returns the most recent Lynx cutover run for a property (space), including a\nrollup of its per-reservation child runs by status. Returns a null run when the\nproperty has never been migrated.',
65882
+ operationId: 'seamConsoleV1LynxMigrationGetPropertyMigrationStatusPost',
65883
+ requestBody: {
65884
+ content: {
65885
+ 'application/json': {
65886
+ schema: {
65887
+ properties: {
65888
+ space_id: {
65889
+ description:
65890
+ 'ID of the space (property) to get the migration status for.',
65891
+ format: 'uuid',
65892
+ type: 'string',
65893
+ },
65894
+ },
65895
+ required: ['space_id'],
65896
+ type: 'object',
65897
+ },
65898
+ },
65899
+ },
65900
+ },
65901
+ responses: {
65902
+ 200: {
65903
+ content: {
65904
+ 'application/json': {
65905
+ schema: {
65906
+ properties: {
65907
+ lynx_migration_property_run: {
65908
+ nullable: true,
65909
+ properties: {
65910
+ child_status_counts: {
65911
+ additionalProperties: {
65912
+ format: 'float',
65913
+ type: 'number',
65914
+ },
65915
+ type: 'object',
65916
+ },
65917
+ created_at: { type: 'string' },
65918
+ lynx_migration_property_run_id: {
65919
+ format: 'uuid',
65920
+ type: 'string',
65921
+ },
65922
+ space_id: { format: 'uuid', type: 'string' },
65923
+ status: { type: 'string' },
65924
+ updated_at: { type: 'string' },
65925
+ },
65926
+ required: [
65927
+ 'lynx_migration_property_run_id',
65928
+ 'space_id',
65929
+ 'status',
65930
+ 'created_at',
65931
+ 'updated_at',
65932
+ 'child_status_counts',
65933
+ ],
65934
+ type: 'object',
65935
+ },
65936
+ ok: { type: 'boolean' },
65937
+ },
65938
+ required: ['lynx_migration_property_run', 'ok'],
65939
+ type: 'object',
65940
+ },
65941
+ },
65942
+ },
65943
+ description: 'OK',
65944
+ },
65945
+ 400: { description: 'Bad Request' },
65946
+ 401: { description: 'Unauthorized' },
65947
+ },
65948
+ security: [
65949
+ { pat_with_workspace: [] },
65950
+ { console_session_with_workspace: [] },
65951
+ { api_key: [] },
65952
+ ],
65953
+ summary:
65954
+ '/seam/console/v1/lynx_migration/get_property_migration_status',
65955
+ tags: [],
65956
+ 'x-fern-sdk-group-name': ['seam', 'console', 'v1', 'lynx_migration'],
65957
+ 'x-fern-sdk-method-name': 'get_property_migration_status',
65958
+ 'x-fern-sdk-return-value': 'lynx_migration_property_run',
65959
+ 'x-response-key': 'lynx_migration_property_run',
65960
+ 'x-title': 'Get Lynx Migration Property Status',
65961
+ 'x-undocumented': 'Internal endpoint for Console',
65962
+ },
65963
+ },
65964
+ '/seam/console/v1/lynx_migration/get_reservation_migration_status': {
65965
+ get: {
65966
+ description:
65967
+ 'Returns the most recent per-reservation Lynx cutover run for an access grant.\nReturns a null run when the reservation has never been migrated. Keyed by\naccess_grant_id — a successful cutover deletes the access grant, but the run\nrecord outlives it, so status remains available after the migration completes.',
65968
+ operationId:
65969
+ 'seamConsoleV1LynxMigrationGetReservationMigrationStatusGet',
65970
+ parameters: [
65971
+ {
65972
+ in: 'query',
65973
+ name: 'access_grant_id',
65974
+ required: true,
65975
+ schema: {
65976
+ description:
65977
+ 'ID of the access grant (reservation) to get the migration status for.',
65978
+ format: 'uuid',
65979
+ type: 'string',
65980
+ },
65981
+ },
65982
+ ],
65983
+ responses: {
65984
+ 200: {
65985
+ content: {
65986
+ 'application/json': {
65987
+ schema: {
65988
+ properties: {
65989
+ lynx_migration_reservation_run: {
65990
+ nullable: true,
65991
+ properties: {
65992
+ access_grant_id: { format: 'uuid', type: 'string' },
65993
+ created_at: { type: 'string' },
65994
+ lynx_migration_run_id: {
65995
+ format: 'uuid',
65996
+ type: 'string',
65997
+ },
65998
+ status: { type: 'string' },
65999
+ updated_at: { type: 'string' },
66000
+ },
66001
+ required: [
66002
+ 'lynx_migration_run_id',
66003
+ 'access_grant_id',
66004
+ 'status',
66005
+ 'created_at',
66006
+ 'updated_at',
66007
+ ],
66008
+ type: 'object',
66009
+ },
66010
+ ok: { type: 'boolean' },
66011
+ },
66012
+ required: ['lynx_migration_reservation_run', 'ok'],
66013
+ type: 'object',
66014
+ },
66015
+ },
66016
+ },
66017
+ description: 'OK',
66018
+ },
66019
+ 400: { description: 'Bad Request' },
66020
+ 401: { description: 'Unauthorized' },
66021
+ },
66022
+ security: [
66023
+ { pat_with_workspace: [] },
66024
+ { console_session_with_workspace: [] },
66025
+ { api_key: [] },
66026
+ ],
66027
+ summary:
66028
+ '/seam/console/v1/lynx_migration/get_reservation_migration_status',
66029
+ tags: [],
66030
+ 'x-fern-sdk-group-name': ['seam', 'console', 'v1', 'lynx_migration'],
66031
+ 'x-fern-sdk-method-name': 'get_reservation_migration_status',
66032
+ 'x-fern-sdk-return-value': 'lynx_migration_reservation_run',
66033
+ 'x-response-key': 'lynx_migration_reservation_run',
66034
+ 'x-title': 'Get Lynx Migration Reservation Status',
66035
+ 'x-undocumented': 'Internal endpoint for Console',
66036
+ },
66037
+ post: {
66038
+ description:
66039
+ 'Returns the most recent per-reservation Lynx cutover run for an access grant.\nReturns a null run when the reservation has never been migrated. Keyed by\naccess_grant_id — a successful cutover deletes the access grant, but the run\nrecord outlives it, so status remains available after the migration completes.',
66040
+ operationId:
66041
+ 'seamConsoleV1LynxMigrationGetReservationMigrationStatusPost',
66042
+ requestBody: {
66043
+ content: {
66044
+ 'application/json': {
66045
+ schema: {
66046
+ properties: {
66047
+ access_grant_id: {
66048
+ description:
66049
+ 'ID of the access grant (reservation) to get the migration status for.',
66050
+ format: 'uuid',
66051
+ type: 'string',
66052
+ },
66053
+ },
66054
+ required: ['access_grant_id'],
66055
+ type: 'object',
66056
+ },
66057
+ },
66058
+ },
66059
+ },
66060
+ responses: {
66061
+ 200: {
66062
+ content: {
66063
+ 'application/json': {
66064
+ schema: {
66065
+ properties: {
66066
+ lynx_migration_reservation_run: {
66067
+ nullable: true,
66068
+ properties: {
66069
+ access_grant_id: { format: 'uuid', type: 'string' },
66070
+ created_at: { type: 'string' },
66071
+ lynx_migration_run_id: {
66072
+ format: 'uuid',
66073
+ type: 'string',
66074
+ },
66075
+ status: { type: 'string' },
66076
+ updated_at: { type: 'string' },
66077
+ },
66078
+ required: [
66079
+ 'lynx_migration_run_id',
66080
+ 'access_grant_id',
66081
+ 'status',
66082
+ 'created_at',
66083
+ 'updated_at',
66084
+ ],
66085
+ type: 'object',
66086
+ },
66087
+ ok: { type: 'boolean' },
66088
+ },
66089
+ required: ['lynx_migration_reservation_run', 'ok'],
66090
+ type: 'object',
66091
+ },
66092
+ },
66093
+ },
66094
+ description: 'OK',
66095
+ },
66096
+ 400: { description: 'Bad Request' },
66097
+ 401: { description: 'Unauthorized' },
66098
+ },
66099
+ security: [
66100
+ { pat_with_workspace: [] },
66101
+ { console_session_with_workspace: [] },
66102
+ { api_key: [] },
66103
+ ],
66104
+ summary:
66105
+ '/seam/console/v1/lynx_migration/get_reservation_migration_status',
66106
+ tags: [],
66107
+ 'x-fern-sdk-group-name': ['seam', 'console', 'v1', 'lynx_migration'],
66108
+ 'x-fern-sdk-method-name': 'get_reservation_migration_status',
66109
+ 'x-fern-sdk-return-value': 'lynx_migration_reservation_run',
66110
+ 'x-response-key': 'lynx_migration_reservation_run',
66111
+ 'x-title': 'Get Lynx Migration Reservation Status',
66112
+ 'x-undocumented': 'Internal endpoint for Console',
66113
+ },
66114
+ },
66115
+ '/seam/console/v1/lynx_migration/list_property_reservations': {
66116
+ get: {
66117
+ description:
66118
+ 'Lists the reservations in a property (space) and classifies each for a Lynx\ncutover: which are eligible to migrate to Seam-managed access, and which are\nskipped (with a reason). Read-only — does not start a migration.',
66119
+ operationId: 'seamConsoleV1LynxMigrationListPropertyReservationsGet',
66120
+ parameters: [
66121
+ {
66122
+ in: 'query',
66123
+ name: 'space_id',
66124
+ required: true,
66125
+ schema: {
66126
+ description:
66127
+ 'ID of the space (property) to plan a Lynx migration for.',
66128
+ format: 'uuid',
66129
+ type: 'string',
66130
+ },
66131
+ },
66132
+ ],
66133
+ responses: {
66134
+ 200: {
66135
+ content: {
66136
+ 'application/json': {
66137
+ schema: {
66138
+ properties: {
66139
+ lynx_migration_property_plan: {
66140
+ properties: {
66141
+ eligible: {
66142
+ items: {
66143
+ properties: {
66144
+ access_grant_id: {
66145
+ format: 'uuid',
66146
+ type: 'string',
66147
+ },
66148
+ guest_name: { nullable: true, type: 'string' },
66149
+ },
66150
+ required: ['access_grant_id', 'guest_name'],
66151
+ type: 'object',
66152
+ },
66153
+ type: 'array',
66154
+ },
66155
+ eligible_count: { format: 'float', type: 'number' },
66156
+ skipped: {
66157
+ items: {
66158
+ properties: {
66159
+ access_grant_id: {
66160
+ format: 'uuid',
66161
+ type: 'string',
66162
+ },
66163
+ guest_name: { nullable: true, type: 'string' },
66164
+ reason: { nullable: true, type: 'string' },
66165
+ },
66166
+ required: [
66167
+ 'access_grant_id',
66168
+ 'guest_name',
66169
+ 'reason',
66170
+ ],
66171
+ type: 'object',
66172
+ },
66173
+ type: 'array',
66174
+ },
66175
+ space_id: { format: 'uuid', type: 'string' },
66176
+ total: { format: 'float', type: 'number' },
66177
+ },
66178
+ required: [
66179
+ 'space_id',
66180
+ 'total',
66181
+ 'eligible_count',
66182
+ 'eligible',
66183
+ 'skipped',
66184
+ ],
66185
+ type: 'object',
66186
+ },
66187
+ ok: { type: 'boolean' },
66188
+ },
66189
+ required: ['lynx_migration_property_plan', 'ok'],
66190
+ type: 'object',
66191
+ },
66192
+ },
66193
+ },
66194
+ description: 'OK',
66195
+ },
66196
+ 400: { description: 'Bad Request' },
66197
+ 401: { description: 'Unauthorized' },
66198
+ },
66199
+ security: [
66200
+ { pat_with_workspace: [] },
66201
+ { console_session_with_workspace: [] },
66202
+ { api_key: [] },
66203
+ ],
66204
+ summary: '/seam/console/v1/lynx_migration/list_property_reservations',
66205
+ tags: [],
66206
+ 'x-fern-sdk-group-name': ['seam', 'console', 'v1', 'lynx_migration'],
66207
+ 'x-fern-sdk-method-name': 'list_property_reservations',
66208
+ 'x-fern-sdk-return-value': 'lynx_migration_property_plan',
66209
+ 'x-response-key': 'lynx_migration_property_plan',
66210
+ 'x-title': 'List Lynx Migration Property Reservations',
66211
+ 'x-undocumented': 'Internal endpoint for Console',
66212
+ },
66213
+ post: {
66214
+ description:
66215
+ 'Lists the reservations in a property (space) and classifies each for a Lynx\ncutover: which are eligible to migrate to Seam-managed access, and which are\nskipped (with a reason). Read-only — does not start a migration.',
66216
+ operationId: 'seamConsoleV1LynxMigrationListPropertyReservationsPost',
66217
+ requestBody: {
66218
+ content: {
66219
+ 'application/json': {
66220
+ schema: {
66221
+ properties: {
66222
+ space_id: {
66223
+ description:
66224
+ 'ID of the space (property) to plan a Lynx migration for.',
66225
+ format: 'uuid',
66226
+ type: 'string',
66227
+ },
66228
+ },
66229
+ required: ['space_id'],
66230
+ type: 'object',
66231
+ },
66232
+ },
66233
+ },
66234
+ },
66235
+ responses: {
66236
+ 200: {
66237
+ content: {
66238
+ 'application/json': {
66239
+ schema: {
66240
+ properties: {
66241
+ lynx_migration_property_plan: {
66242
+ properties: {
66243
+ eligible: {
66244
+ items: {
66245
+ properties: {
66246
+ access_grant_id: {
66247
+ format: 'uuid',
66248
+ type: 'string',
66249
+ },
66250
+ guest_name: { nullable: true, type: 'string' },
66251
+ },
66252
+ required: ['access_grant_id', 'guest_name'],
66253
+ type: 'object',
66254
+ },
66255
+ type: 'array',
66256
+ },
66257
+ eligible_count: { format: 'float', type: 'number' },
66258
+ skipped: {
66259
+ items: {
66260
+ properties: {
66261
+ access_grant_id: {
66262
+ format: 'uuid',
66263
+ type: 'string',
66264
+ },
66265
+ guest_name: { nullable: true, type: 'string' },
66266
+ reason: { nullable: true, type: 'string' },
66267
+ },
66268
+ required: [
66269
+ 'access_grant_id',
66270
+ 'guest_name',
66271
+ 'reason',
66272
+ ],
66273
+ type: 'object',
66274
+ },
66275
+ type: 'array',
66276
+ },
66277
+ space_id: { format: 'uuid', type: 'string' },
66278
+ total: { format: 'float', type: 'number' },
66279
+ },
66280
+ required: [
66281
+ 'space_id',
66282
+ 'total',
66283
+ 'eligible_count',
66284
+ 'eligible',
66285
+ 'skipped',
66286
+ ],
66287
+ type: 'object',
66288
+ },
66289
+ ok: { type: 'boolean' },
66290
+ },
66291
+ required: ['lynx_migration_property_plan', 'ok'],
66292
+ type: 'object',
66293
+ },
66294
+ },
66295
+ },
66296
+ description: 'OK',
66297
+ },
66298
+ 400: { description: 'Bad Request' },
66299
+ 401: { description: 'Unauthorized' },
66300
+ },
66301
+ security: [
66302
+ { pat_with_workspace: [] },
66303
+ { console_session_with_workspace: [] },
66304
+ { api_key: [] },
66305
+ ],
66306
+ summary: '/seam/console/v1/lynx_migration/list_property_reservations',
66307
+ tags: [],
66308
+ 'x-fern-sdk-group-name': ['seam', 'console', 'v1', 'lynx_migration'],
66309
+ 'x-fern-sdk-method-name': 'list_property_reservations',
66310
+ 'x-fern-sdk-return-value': 'lynx_migration_property_plan',
66311
+ 'x-response-key': 'lynx_migration_property_plan',
66312
+ 'x-title': 'List Lynx Migration Property Reservations',
66313
+ 'x-undocumented': 'Internal endpoint for Console',
66314
+ },
66315
+ },
66316
+ '/seam/console/v1/lynx_migration/migrate_property': {
66317
+ post: {
66318
+ description:
66319
+ 'Starts a Lynx cutover for a property (space): schedules a background task that\nplans the eligible reservations and migrates them to Seam-managed access a\nbounded number at a time. Idempotent — if a migration is already running for\nthe property, returns that run with `already_running: true`. Poll\n`/seam/console/v1/lynx_migration/get_property_migration_status` for progress.',
66320
+ operationId: 'seamConsoleV1LynxMigrationMigratePropertyPost',
66321
+ requestBody: {
66322
+ content: {
66323
+ 'application/json': {
66324
+ schema: {
66325
+ properties: {
66326
+ space_id: {
66327
+ description: 'ID of the space (property) to migrate.',
66328
+ format: 'uuid',
66329
+ type: 'string',
66330
+ },
66331
+ },
66332
+ required: ['space_id'],
66333
+ type: 'object',
66334
+ },
66335
+ },
66336
+ },
66337
+ },
66338
+ responses: {
66339
+ 200: {
66340
+ content: {
66341
+ 'application/json': {
66342
+ schema: {
66343
+ properties: {
66344
+ lynx_migration_property_run: {
66345
+ properties: {
66346
+ already_running: { type: 'boolean' },
66347
+ lynx_migration_property_run_id: {
66348
+ format: 'uuid',
66349
+ type: 'string',
66350
+ },
66351
+ space_id: { format: 'uuid', type: 'string' },
66352
+ status: { type: 'string' },
66353
+ },
66354
+ required: [
66355
+ 'lynx_migration_property_run_id',
66356
+ 'space_id',
66357
+ 'status',
66358
+ 'already_running',
66359
+ ],
66360
+ type: 'object',
66361
+ },
66362
+ ok: { type: 'boolean' },
66363
+ },
66364
+ required: ['lynx_migration_property_run', 'ok'],
66365
+ type: 'object',
66366
+ },
66367
+ },
66368
+ },
66369
+ description: 'OK',
66370
+ },
66371
+ 400: { description: 'Bad Request' },
66372
+ 401: { description: 'Unauthorized' },
66373
+ },
66374
+ security: [
66375
+ { pat_with_workspace: [] },
66376
+ { console_session_with_workspace: [] },
66377
+ { api_key: [] },
66378
+ ],
66379
+ summary: '/seam/console/v1/lynx_migration/migrate_property',
66380
+ tags: [],
66381
+ 'x-fern-sdk-group-name': ['seam', 'console', 'v1', 'lynx_migration'],
66382
+ 'x-fern-sdk-method-name': 'migrate_property',
66383
+ 'x-fern-sdk-return-value': 'lynx_migration_property_run',
66384
+ 'x-response-key': 'lynx_migration_property_run',
66385
+ 'x-title': 'Migrate a Property to Seam-Managed Access',
66386
+ 'x-undocumented': 'Internal endpoint for Console',
66387
+ },
66388
+ },
65783
66389
  '/seam/console/v1/sites/create': {
65784
66390
  post: {
65785
66391
  description: