@seamapi/types 1.47.0 → 1.49.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.
Files changed (35) hide show
  1. package/dist/connect.cjs +359 -61
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +465 -37
  4. package/lib/seam/connect/openapi.d.ts +268 -23
  5. package/lib/seam/connect/openapi.js +358 -60
  6. package/lib/seam/connect/openapi.js.map +1 -1
  7. package/lib/seam/connect/route-types.d.ts +197 -14
  8. package/lib/seam/connect/unstable/model-types.d.ts +1 -1
  9. package/lib/seam/connect/unstable/models/access-codes/managed-access-code.js +81 -21
  10. package/lib/seam/connect/unstable/models/access-codes/managed-access-code.js.map +1 -1
  11. package/lib/seam/connect/unstable/models/acs/credential.d.ts +7 -4
  12. package/lib/seam/connect/unstable/models/acs/credential.js +2 -0
  13. package/lib/seam/connect/unstable/models/acs/credential.js.map +1 -1
  14. package/lib/seam/connect/unstable/models/acs/credential_pool.d.ts +29 -0
  15. package/lib/seam/connect/unstable/models/acs/credential_pool.js +12 -0
  16. package/lib/seam/connect/unstable/models/acs/credential_pool.js.map +1 -0
  17. package/lib/seam/connect/unstable/models/acs/index.d.ts +1 -0
  18. package/lib/seam/connect/unstable/models/acs/index.js +1 -0
  19. package/lib/seam/connect/unstable/models/acs/index.js.map +1 -1
  20. package/lib/seam/connect/unstable/models/devices/managed-device.d.ts +14 -14
  21. package/lib/seam/connect/unstable/models/devices/managed-device.js +1 -1
  22. package/lib/seam/connect/unstable/models/devices/managed-device.js.map +1 -1
  23. package/lib/seam/connect/unstable/schemas.d.ts +1 -1
  24. package/lib/seam/connect/unstable/schemas.js +1 -1
  25. package/lib/seam/connect/unstable/schemas.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/lib/seam/connect/openapi.ts +383 -60
  28. package/src/lib/seam/connect/route-types.ts +197 -14
  29. package/src/lib/seam/connect/unstable/model-types.ts +2 -0
  30. package/src/lib/seam/connect/unstable/models/access-codes/managed-access-code.ts +113 -21
  31. package/src/lib/seam/connect/unstable/models/acs/credential.ts +2 -0
  32. package/src/lib/seam/connect/unstable/models/acs/credential_pool.ts +19 -0
  33. package/src/lib/seam/connect/unstable/models/acs/index.ts +1 -0
  34. package/src/lib/seam/connect/unstable/models/devices/managed-device.ts +1 -1
  35. package/src/lib/seam/connect/unstable/schemas.ts +2 -0
package/dist/connect.cjs CHANGED
@@ -50,34 +50,105 @@ var openapi_default = {
50
50
  schemas: {
51
51
  access_code: {
52
52
  properties: {
53
- access_code_id: { format: "uuid", type: "string" },
54
- code: { nullable: true, type: "string" },
55
- common_code_key: { nullable: true, type: "string" },
56
- created_at: { format: "date-time", type: "string" },
57
- device_id: { format: "uuid", type: "string" },
58
- ends_at: { format: "date-time", nullable: true, type: "string" },
59
- errors: { nullable: true },
60
- is_backup: { type: "boolean" },
61
- is_backup_access_code_available: { type: "boolean" },
62
- is_external_modification_allowed: { type: "boolean" },
63
- is_managed: { enum: [true], type: "boolean" },
64
- is_offline_access_code: { type: "boolean" },
65
- is_one_time_use: { type: "boolean" },
66
- is_scheduled_on_device: { type: "boolean" },
67
- is_waiting_for_code_assignment: { type: "boolean" },
68
- name: { nullable: true, type: "string" },
53
+ access_code_id: {
54
+ description: "Unique identifier for the access code.",
55
+ format: "uuid",
56
+ type: "string"
57
+ },
58
+ code: {
59
+ description: "Code used for access. Typically, a numeric or alphanumeric string.",
60
+ nullable: true,
61
+ type: "string"
62
+ },
63
+ common_code_key: {
64
+ description: "Unique identifier for a group of access codes that share the same code.",
65
+ nullable: true,
66
+ type: "string"
67
+ },
68
+ created_at: {
69
+ description: "Date and time at which the access code was created.",
70
+ format: "date-time",
71
+ type: "string"
72
+ },
73
+ device_id: {
74
+ description: "Unique identifier for the device associated with the access code.",
75
+ format: "uuid",
76
+ type: "string"
77
+ },
78
+ ends_at: {
79
+ description: "Date and time after which the time-bound access code becomes inactive.",
80
+ format: "date-time",
81
+ nullable: true,
82
+ type: "string"
83
+ },
84
+ errors: {
85
+ description: 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
86
+ nullable: true
87
+ },
88
+ is_backup: {
89
+ description: "Indicates whether the access code is a backup code.",
90
+ type: "boolean"
91
+ },
92
+ is_backup_access_code_available: {
93
+ description: "Indicates whether a backup access code is available for use if the primary access code is lost or compromised.",
94
+ type: "boolean"
95
+ },
96
+ is_external_modification_allowed: {
97
+ description: "Indicates whether changes to the access code from external sources are permitted.",
98
+ type: "boolean"
99
+ },
100
+ is_managed: {
101
+ description: "Indicates whether Seam manages the access code.",
102
+ enum: [true],
103
+ type: "boolean"
104
+ },
105
+ is_offline_access_code: {
106
+ description: 'Indicates whether the access code is intended for use in offline scenarios. If "true," this code can be created on a device without a network connection.',
107
+ type: "boolean"
108
+ },
109
+ is_one_time_use: {
110
+ description: 'Indicates whether the access code can only be used once. If "true," the code becomes invalid after the first use.',
111
+ type: "boolean"
112
+ },
113
+ is_scheduled_on_device: {
114
+ description: "Indicates whether the code is set on the device according to a preconfigured schedule.",
115
+ type: "boolean"
116
+ },
117
+ is_waiting_for_code_assignment: {
118
+ description: "Indicates whether the access code is waiting for a code assignment.",
119
+ type: "boolean"
120
+ },
121
+ name: {
122
+ description: "Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.",
123
+ nullable: true,
124
+ type: "string"
125
+ },
69
126
  pulled_backup_access_code_id: {
127
+ description: "Identifier of the pulled backup access code. Used to associate the pulled backup access code with the original access code.",
70
128
  format: "uuid",
71
129
  nullable: true,
72
130
  type: "string"
73
131
  },
74
- starts_at: { format: "date-time", nullable: true, type: "string" },
132
+ starts_at: {
133
+ description: "Date and time at which the time-bound access code becomes active.",
134
+ format: "date-time",
135
+ nullable: true,
136
+ type: "string"
137
+ },
75
138
  status: {
139
+ description: '\n Current status of the access code within the operational lifecycle. Values are "setting," a transitional phase that indicates that the code is being configured or activated; "set", which indicates that the code is active and operational; "unset," which indicates a deactivated or unused state, either before activation or after deliberate deactivation; "removing," which indicates a transitional period in which the code is being deleted or made inactive; and "unknown," which indicates an indeterminate state, due to reasons such as system errors or incomplete data, that highlights a potential need for system review or troubleshooting.\n ',
76
140
  enum: ["setting", "set", "unset", "removing", "unknown"],
77
141
  type: "string"
78
142
  },
79
- type: { enum: ["time_bound", "ongoing"], type: "string" },
80
- warnings: { nullable: true }
143
+ type: {
144
+ description: 'Nature of the access code. Values are "ongoing" for access codes that are active continuously until deactivated manually or "time_bound" for access codes that have a specific duration.',
145
+ enum: ["time_bound", "ongoing"],
146
+ type: "string"
147
+ },
148
+ warnings: {
149
+ description: 'Collection of warnings associated with the access code, structured in a dictionary format. A unique "warning_code" keys each warning. Each warning entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the warning. "created_at" is a date that indicates when the warning was generated. This structure enables detailed tracking and timely response to potential issues that are not critical but that may require attention.',
150
+ nullable: true
151
+ }
81
152
  },
82
153
  required: [
83
154
  "common_code_key",
@@ -550,11 +621,11 @@ var openapi_default = {
550
621
  manufacturer: { type: "string" },
551
622
  model: {
552
623
  properties: {
553
- access_codes_supported: { type: "boolean" },
554
624
  accessory_keypad_supported: { type: "boolean" },
555
625
  display_name: { type: "string" },
556
626
  manufacturer_display_name: { type: "string" },
557
- offline_access_codes_supported: { type: "boolean" }
627
+ offline_access_codes_supported: { type: "boolean" },
628
+ online_access_codes_supported: { type: "boolean" }
558
629
  },
559
630
  required: ["display_name", "manufacturer_display_name"],
560
631
  type: "object"
@@ -1417,6 +1488,24 @@ var openapi_default = {
1417
1488
  ],
1418
1489
  type: "object"
1419
1490
  },
1491
+ device_provider: {
1492
+ properties: {
1493
+ device_provider_name: { type: "string" },
1494
+ display_name: { type: "string" },
1495
+ image_url: { type: "string" },
1496
+ provider_categories: {
1497
+ items: { enum: ["stable", "consumer_smartlocks"], type: "string" },
1498
+ type: "array"
1499
+ }
1500
+ },
1501
+ required: [
1502
+ "device_provider_name",
1503
+ "display_name",
1504
+ "image_url",
1505
+ "provider_categories"
1506
+ ],
1507
+ type: "object"
1508
+ },
1420
1509
  event: {
1421
1510
  properties: {
1422
1511
  created_at: { format: "date-time", type: "string" },
@@ -1466,18 +1555,58 @@ var openapi_default = {
1466
1555
  },
1467
1556
  unmanaged_access_code: {
1468
1557
  properties: {
1469
- access_code_id: { format: "uuid", type: "string" },
1470
- code: { nullable: true, type: "string" },
1471
- created_at: { format: "date-time", type: "string" },
1472
- device_id: { format: "uuid", type: "string" },
1473
- ends_at: { format: "date-time", nullable: true, type: "string" },
1474
- errors: { nullable: true },
1558
+ access_code_id: {
1559
+ description: "Unique identifier for the access code.",
1560
+ format: "uuid",
1561
+ type: "string"
1562
+ },
1563
+ code: {
1564
+ description: "Code used for access. Typically, a numeric or alphanumeric string.",
1565
+ nullable: true,
1566
+ type: "string"
1567
+ },
1568
+ created_at: {
1569
+ description: "Date and time at which the access code was created.",
1570
+ format: "date-time",
1571
+ type: "string"
1572
+ },
1573
+ device_id: {
1574
+ description: "Unique identifier for the device associated with the access code.",
1575
+ format: "uuid",
1576
+ type: "string"
1577
+ },
1578
+ ends_at: {
1579
+ description: "Date and time after which the time-bound access code becomes inactive.",
1580
+ format: "date-time",
1581
+ nullable: true,
1582
+ type: "string"
1583
+ },
1584
+ errors: {
1585
+ description: 'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
1586
+ nullable: true
1587
+ },
1475
1588
  is_managed: { enum: [false], type: "boolean" },
1476
- name: { nullable: true, type: "string" },
1477
- starts_at: { format: "date-time", nullable: true, type: "string" },
1589
+ name: {
1590
+ description: "Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes.",
1591
+ nullable: true,
1592
+ type: "string"
1593
+ },
1594
+ starts_at: {
1595
+ description: "Date and time at which the time-bound access code becomes active.",
1596
+ format: "date-time",
1597
+ nullable: true,
1598
+ type: "string"
1599
+ },
1478
1600
  status: { enum: ["set"], type: "string" },
1479
- type: { enum: ["time_bound", "ongoing"], type: "string" },
1480
- warnings: { nullable: true }
1601
+ type: {
1602
+ description: 'Nature of the access code. Values are "ongoing" for access codes that are active continuously until deactivated manually or "time_bound" for access codes that have a specific duration.',
1603
+ enum: ["time_bound", "ongoing"],
1604
+ type: "string"
1605
+ },
1606
+ warnings: {
1607
+ description: 'Collection of warnings associated with the access code, structured in a dictionary format. A unique "warning_code" keys each warning. Each warning entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the warning. "created_at" is a date that indicates when the warning was generated. This structure enables detailed tracking and timely response to potential issues that are not critical but that may require attention.',
1608
+ nullable: true
1609
+ }
1481
1610
  },
1482
1611
  required: [
1483
1612
  "type",
@@ -3043,6 +3172,81 @@ var openapi_default = {
3043
3172
  "x-fern-sdk-method-name": "remove_user"
3044
3173
  }
3045
3174
  },
3175
+ "/acs/credential_pools/list": {
3176
+ post: {
3177
+ operationId: "acsCredentialPoolsListPost",
3178
+ requestBody: {
3179
+ content: {
3180
+ "application/json": {
3181
+ schema: {
3182
+ properties: {
3183
+ acs_system_id: { format: "uuid", type: "string" }
3184
+ },
3185
+ required: ["acs_system_id"],
3186
+ type: "object"
3187
+ }
3188
+ }
3189
+ }
3190
+ },
3191
+ responses: {
3192
+ 200: {
3193
+ content: {
3194
+ "application/json": {
3195
+ schema: {
3196
+ properties: {
3197
+ acs_credential_pools: {
3198
+ items: {
3199
+ properties: {
3200
+ acs_credential_pool_id: {
3201
+ format: "uuid",
3202
+ type: "string"
3203
+ },
3204
+ acs_system_id: { format: "uuid", type: "string" },
3205
+ created_at: { format: "date-time", type: "string" },
3206
+ display_name: { minLength: 1, type: "string" },
3207
+ external_type: {
3208
+ enum: ["hid_part_number"],
3209
+ type: "string"
3210
+ },
3211
+ external_type_display_name: { type: "string" },
3212
+ workspace_id: { format: "uuid", type: "string" }
3213
+ },
3214
+ required: [
3215
+ "acs_credential_pool_id",
3216
+ "acs_system_id",
3217
+ "display_name",
3218
+ "external_type",
3219
+ "external_type_display_name",
3220
+ "created_at",
3221
+ "workspace_id"
3222
+ ],
3223
+ type: "object"
3224
+ },
3225
+ type: "array"
3226
+ },
3227
+ ok: { type: "boolean" }
3228
+ },
3229
+ required: ["acs_credential_pools", "ok"],
3230
+ type: "object"
3231
+ }
3232
+ }
3233
+ },
3234
+ description: "OK"
3235
+ },
3236
+ 400: { description: "Bad Request" },
3237
+ 401: { description: "Unauthorized" }
3238
+ },
3239
+ security: [
3240
+ { access_token: [], seam_workspace: [] },
3241
+ { seam_client_session_token: [] },
3242
+ { client_session_token: [] }
3243
+ ],
3244
+ summary: "/acs/credential_pools/list",
3245
+ tags: [],
3246
+ "x-fern-sdk-group-name": ["acs", "credential_pools"],
3247
+ "x-fern-sdk-method-name": "list"
3248
+ }
3249
+ },
3046
3250
  "/acs/credentials/assign": {
3047
3251
  patch: {
3048
3252
  operationId: "acsCredentialsAssignPatch",
@@ -3065,8 +3269,45 @@ var openapi_default = {
3065
3269
  content: {
3066
3270
  "application/json": {
3067
3271
  schema: {
3068
- properties: { ok: { type: "boolean" } },
3069
- required: ["ok"],
3272
+ properties: {
3273
+ acs_credential: {
3274
+ properties: {
3275
+ acs_credential_id: { format: "uuid", type: "string" },
3276
+ acs_credential_pool_id: {
3277
+ format: "uuid",
3278
+ type: "string"
3279
+ },
3280
+ acs_system_id: { format: "uuid", type: "string" },
3281
+ acs_user_id: { format: "uuid", type: "string" },
3282
+ code: { nullable: true, type: "string" },
3283
+ created_at: { format: "date-time", type: "string" },
3284
+ display_name: { minLength: 1, type: "string" },
3285
+ external_type: {
3286
+ enum: [
3287
+ "pti_card",
3288
+ "brivo_credential",
3289
+ "hid_credential"
3290
+ ],
3291
+ type: "string"
3292
+ },
3293
+ external_type_display_name: { type: "string" },
3294
+ workspace_id: { format: "uuid", type: "string" }
3295
+ },
3296
+ required: [
3297
+ "acs_credential_id",
3298
+ "acs_system_id",
3299
+ "display_name",
3300
+ "code",
3301
+ "external_type",
3302
+ "external_type_display_name",
3303
+ "created_at",
3304
+ "workspace_id"
3305
+ ],
3306
+ type: "object"
3307
+ },
3308
+ ok: { type: "boolean" }
3309
+ },
3310
+ required: ["acs_credential", "ok"],
3070
3311
  type: "object"
3071
3312
  }
3072
3313
  }
@@ -3106,8 +3347,45 @@ var openapi_default = {
3106
3347
  content: {
3107
3348
  "application/json": {
3108
3349
  schema: {
3109
- properties: { ok: { type: "boolean" } },
3110
- required: ["ok"],
3350
+ properties: {
3351
+ acs_credential: {
3352
+ properties: {
3353
+ acs_credential_id: { format: "uuid", type: "string" },
3354
+ acs_credential_pool_id: {
3355
+ format: "uuid",
3356
+ type: "string"
3357
+ },
3358
+ acs_system_id: { format: "uuid", type: "string" },
3359
+ acs_user_id: { format: "uuid", type: "string" },
3360
+ code: { nullable: true, type: "string" },
3361
+ created_at: { format: "date-time", type: "string" },
3362
+ display_name: { minLength: 1, type: "string" },
3363
+ external_type: {
3364
+ enum: [
3365
+ "pti_card",
3366
+ "brivo_credential",
3367
+ "hid_credential"
3368
+ ],
3369
+ type: "string"
3370
+ },
3371
+ external_type_display_name: { type: "string" },
3372
+ workspace_id: { format: "uuid", type: "string" }
3373
+ },
3374
+ required: [
3375
+ "acs_credential_id",
3376
+ "acs_system_id",
3377
+ "display_name",
3378
+ "code",
3379
+ "external_type",
3380
+ "external_type_display_name",
3381
+ "created_at",
3382
+ "workspace_id"
3383
+ ],
3384
+ type: "object"
3385
+ },
3386
+ ok: { type: "boolean" }
3387
+ },
3388
+ required: ["acs_credential", "ok"],
3111
3389
  type: "object"
3112
3390
  }
3113
3391
  }
@@ -3154,13 +3432,21 @@ var openapi_default = {
3154
3432
  acs_credential: {
3155
3433
  properties: {
3156
3434
  acs_credential_id: { format: "uuid", type: "string" },
3435
+ acs_credential_pool_id: {
3436
+ format: "uuid",
3437
+ type: "string"
3438
+ },
3157
3439
  acs_system_id: { format: "uuid", type: "string" },
3158
3440
  acs_user_id: { format: "uuid", type: "string" },
3159
3441
  code: { nullable: true, type: "string" },
3160
3442
  created_at: { format: "date-time", type: "string" },
3161
3443
  display_name: { minLength: 1, type: "string" },
3162
3444
  external_type: {
3163
- enum: ["pti_card", "brivo_credential"],
3445
+ enum: [
3446
+ "pti_card",
3447
+ "brivo_credential",
3448
+ "hid_credential"
3449
+ ],
3164
3450
  type: "string"
3165
3451
  },
3166
3452
  external_type_display_name: { type: "string" },
@@ -3269,13 +3555,21 @@ var openapi_default = {
3269
3555
  acs_credential: {
3270
3556
  properties: {
3271
3557
  acs_credential_id: { format: "uuid", type: "string" },
3558
+ acs_credential_pool_id: {
3559
+ format: "uuid",
3560
+ type: "string"
3561
+ },
3272
3562
  acs_system_id: { format: "uuid", type: "string" },
3273
3563
  acs_user_id: { format: "uuid", type: "string" },
3274
3564
  code: { nullable: true, type: "string" },
3275
3565
  created_at: { format: "date-time", type: "string" },
3276
3566
  display_name: { minLength: 1, type: "string" },
3277
3567
  external_type: {
3278
- enum: ["pti_card", "brivo_credential"],
3568
+ enum: [
3569
+ "pti_card",
3570
+ "brivo_credential",
3571
+ "hid_credential"
3572
+ ],
3279
3573
  type: "string"
3280
3574
  },
3281
3575
  external_type_display_name: { type: "string" },
@@ -3361,13 +3655,21 @@ var openapi_default = {
3361
3655
  items: {
3362
3656
  properties: {
3363
3657
  acs_credential_id: { format: "uuid", type: "string" },
3658
+ acs_credential_pool_id: {
3659
+ format: "uuid",
3660
+ type: "string"
3661
+ },
3364
3662
  acs_system_id: { format: "uuid", type: "string" },
3365
3663
  acs_user_id: { format: "uuid", type: "string" },
3366
3664
  code: { nullable: true, type: "string" },
3367
3665
  created_at: { format: "date-time", type: "string" },
3368
3666
  display_name: { minLength: 1, type: "string" },
3369
3667
  external_type: {
3370
- enum: ["pti_card", "brivo_credential"],
3668
+ enum: [
3669
+ "pti_card",
3670
+ "brivo_credential",
3671
+ "hid_credential"
3672
+ ],
3371
3673
  type: "string"
3372
3674
  },
3373
3675
  external_type_display_name: { type: "string" },
@@ -3436,13 +3738,21 @@ var openapi_default = {
3436
3738
  acs_credential: {
3437
3739
  properties: {
3438
3740
  acs_credential_id: { format: "uuid", type: "string" },
3741
+ acs_credential_pool_id: {
3742
+ format: "uuid",
3743
+ type: "string"
3744
+ },
3439
3745
  acs_system_id: { format: "uuid", type: "string" },
3440
3746
  acs_user_id: { format: "uuid", type: "string" },
3441
3747
  code: { nullable: true, type: "string" },
3442
3748
  created_at: { format: "date-time", type: "string" },
3443
3749
  display_name: { minLength: 1, type: "string" },
3444
3750
  external_type: {
3445
- enum: ["pti_card", "brivo_credential"],
3751
+ enum: [
3752
+ "pti_card",
3753
+ "brivo_credential",
3754
+ "hid_credential"
3755
+ ],
3446
3756
  type: "string"
3447
3757
  },
3448
3758
  external_type_display_name: { type: "string" },
@@ -3506,13 +3816,21 @@ var openapi_default = {
3506
3816
  acs_credential: {
3507
3817
  properties: {
3508
3818
  acs_credential_id: { format: "uuid", type: "string" },
3819
+ acs_credential_pool_id: {
3820
+ format: "uuid",
3821
+ type: "string"
3822
+ },
3509
3823
  acs_system_id: { format: "uuid", type: "string" },
3510
3824
  acs_user_id: { format: "uuid", type: "string" },
3511
3825
  code: { nullable: true, type: "string" },
3512
3826
  created_at: { format: "date-time", type: "string" },
3513
3827
  display_name: { minLength: 1, type: "string" },
3514
3828
  external_type: {
3515
- enum: ["pti_card", "brivo_credential"],
3829
+ enum: [
3830
+ "pti_card",
3831
+ "brivo_credential",
3832
+ "hid_credential"
3833
+ ],
3516
3834
  type: "string"
3517
3835
  },
3518
3836
  external_type_display_name: { type: "string" },
@@ -5636,27 +5954,7 @@ var openapi_default = {
5636
5954
  schema: {
5637
5955
  properties: {
5638
5956
  device_providers: {
5639
- items: {
5640
- properties: {
5641
- device_provider_name: { type: "string" },
5642
- display_name: { type: "string" },
5643
- image_url: { type: "string" },
5644
- provider_categories: {
5645
- items: {
5646
- enum: ["stable", "consumer_smartlocks"],
5647
- type: "string"
5648
- },
5649
- type: "array"
5650
- }
5651
- },
5652
- required: [
5653
- "device_provider_name",
5654
- "display_name",
5655
- "image_url",
5656
- "provider_categories"
5657
- ],
5658
- type: "object"
5659
- },
5957
+ items: { $ref: "#/components/schemas/device_provider" },
5660
5958
  type: "array"
5661
5959
  },
5662
5960
  ok: { type: "boolean" }