@seamapi/types 1.769.0 → 1.771.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 (32) hide show
  1. package/dist/connect.cjs +777 -35
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +1530 -269
  4. package/dist/index.cjs +777 -35
  5. package/dist/index.cjs.map +1 -1
  6. package/lib/seam/connect/models/access-grants/access-grant.d.ts +10 -10
  7. package/lib/seam/connect/models/access-grants/access-method.d.ts +6 -6
  8. package/lib/seam/connect/models/access-grants/access-method.js +2 -2
  9. package/lib/seam/connect/models/access-grants/access-method.js.map +1 -1
  10. package/lib/seam/connect/models/access-grants/requested-access-method.d.ts +3 -3
  11. package/lib/seam/connect/models/access-grants/requested-access-method.js +2 -2
  12. package/lib/seam/connect/models/access-grants/requested-access-method.js.map +1 -1
  13. package/lib/seam/connect/models/acs/acs-entrance.d.ts +6 -6
  14. package/lib/seam/connect/models/acs/acs-entrance.js +4 -4
  15. package/lib/seam/connect/models/acs/acs-entrance.js.map +1 -1
  16. package/lib/seam/connect/models/action-attempts/action-attempt.d.ts +15 -0
  17. package/lib/seam/connect/models/action-attempts/encode-credential.d.ts +15 -0
  18. package/lib/seam/connect/models/action-attempts/encode-credential.js +11 -0
  19. package/lib/seam/connect/models/action-attempts/encode-credential.js.map +1 -1
  20. package/lib/seam/connect/models/batch.d.ts +38 -17
  21. package/lib/seam/connect/models/phones/phone-session.d.ts +16 -16
  22. package/lib/seam/connect/openapi.d.ts +952 -0
  23. package/lib/seam/connect/openapi.js +758 -27
  24. package/lib/seam/connect/openapi.js.map +1 -1
  25. package/lib/seam/connect/route-types.d.ts +336 -63
  26. package/package.json +1 -1
  27. package/src/lib/seam/connect/models/access-grants/access-method.ts +2 -2
  28. package/src/lib/seam/connect/models/access-grants/requested-access-method.ts +2 -2
  29. package/src/lib/seam/connect/models/acs/acs-entrance.ts +4 -4
  30. package/src/lib/seam/connect/models/action-attempts/encode-credential.ts +18 -0
  31. package/src/lib/seam/connect/openapi.ts +825 -27
  32. package/src/lib/seam/connect/route-types.ts +407 -63
package/dist/connect.cjs CHANGED
@@ -2565,8 +2565,8 @@ zod.z.object({
2565
2565
  });
2566
2566
  var requested_access_method = zod.z.object({
2567
2567
  display_name: zod.z.string().describe("Display name of the access method."),
2568
- mode: zod.z.enum(["code", "card", "mobile_key"]).describe(
2569
- "Access method mode. Supported values: `code`, `card`, `mobile_key`."
2568
+ mode: zod.z.enum(["code", "card", "mobile_key", "cloud_key"]).describe(
2569
+ "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`."
2570
2570
  ),
2571
2571
  code: zod.z.string().min(4).max(9).regex(/^\d+$/, "Must only contain digits").optional().describe(
2572
2572
  "Specific PIN code to use for this access method. Only applicable when mode is 'code'."
@@ -2830,8 +2830,8 @@ var access_method = zod.z.object({
2830
2830
  workspace_id: zod.z.string().uuid().describe("ID of the Seam workspace associated with the access method."),
2831
2831
  access_method_id: zod.z.string().uuid().describe("ID of the access method."),
2832
2832
  display_name: zod.z.string().describe("Display name of the access method."),
2833
- mode: zod.z.enum(["code", "card", "mobile_key"]).describe(
2834
- "Access method mode. Supported values: `code`, `card`, `mobile_key`."
2833
+ mode: zod.z.enum(["code", "card", "mobile_key", "cloud_key"]).describe(
2834
+ "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`."
2835
2835
  ),
2836
2836
  created_at: zod.z.string().datetime().describe("Date and time at which the access method was created."),
2837
2837
  issued_at: zod.z.string().datetime().nullable().describe("Date and time at which the access method was issued."),
@@ -3503,11 +3503,11 @@ var acs_entrance_capability_flags = zod.z.object({
3503
3503
  can_unlock_with_code: zod.z.boolean().optional().describe(
3504
3504
  "Indicates whether the ACS entrance can be unlocked with pin codes."
3505
3505
  ),
3506
+ can_unlock_with_cloud_key: zod.z.boolean().optional().describe(
3507
+ "Indicates whether the ACS entrance can be unlocked with cloud key credentials."
3508
+ ),
3506
3509
  can_belong_to_reservation: zod.z.boolean().optional().describe(
3507
3510
  "Indicates whether the ACS entrance can belong to a reservation via an access_grant.reservation_key."
3508
- ),
3509
- can_unlock_with_cloud_key: zod.z.boolean().optional().describe(
3510
- "Indicates whether the ACS entrance can be remotely unlocked using a cloud_key credential."
3511
3511
  )
3512
3512
  });
3513
3513
  var acs_entrance = zod.z.object({
@@ -4373,6 +4373,16 @@ var bridge_disconnected_error = zod.z.object({
4373
4373
  }).describe(
4374
4374
  "Error to indicate that the Seam Bridge is disconnected or cannot reach the access control system."
4375
4375
  );
4376
+ var encoding_interrupted_error = zod.z.object({
4377
+ type: zod.z.literal("encoding_interrupted").describe(
4378
+ "Error type to indicate that encoding was interrupted, for example, if the card was removed from the encoder before writing was complete."
4379
+ ),
4380
+ message: zod.z.string().describe(
4381
+ "Detailed description of the error. Provides insights into the issue and potentially how to rectify it."
4382
+ )
4383
+ }).describe(
4384
+ "Error to indicate that encoding was interrupted, for example, if the card was removed from the encoder before writing was complete."
4385
+ );
4376
4386
  var error4 = zod.z.union([
4377
4387
  ...common_action_attempt_errors,
4378
4388
  no_credential_on_encoder_error,
@@ -4380,7 +4390,8 @@ var error4 = zod.z.union([
4380
4390
  credential_cannot_be_reissued,
4381
4391
  encoder_not_online_error,
4382
4392
  encoder_timeout_error,
4383
- bridge_disconnected_error
4393
+ bridge_disconnected_error,
4394
+ encoding_interrupted_error
4384
4395
  ]);
4385
4396
  var result4 = acs_credential.or(unmanaged_acs_credential).describe(
4386
4397
  "Result of an encoding attempt. If the attempt was successful, includes the credential data that was encoded onto the card."
@@ -8482,8 +8493,8 @@ var openapi_default = {
8482
8493
  type: "integer"
8483
8494
  },
8484
8495
  mode: {
8485
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
8486
- enum: ["code", "card", "mobile_key"],
8496
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
8497
+ enum: ["code", "card", "mobile_key", "cloud_key"],
8487
8498
  type: "string"
8488
8499
  }
8489
8500
  },
@@ -8774,8 +8785,8 @@ var openapi_default = {
8774
8785
  type: "string"
8775
8786
  },
8776
8787
  mode: {
8777
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
8778
- enum: ["code", "card", "mobile_key"],
8788
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
8789
+ enum: ["code", "card", "mobile_key", "cloud_key"],
8779
8790
  type: "string"
8780
8791
  },
8781
8792
  pending_mutations: {
@@ -10090,7 +10101,7 @@ var openapi_default = {
10090
10101
  type: "boolean"
10091
10102
  },
10092
10103
  can_unlock_with_cloud_key: {
10093
- description: "Indicates whether the ACS entrance can be remotely unlocked using a cloud_key credential.",
10104
+ description: "Indicates whether the ACS entrance can be unlocked with cloud key credentials.",
10094
10105
  type: "boolean"
10095
10106
  },
10096
10107
  can_unlock_with_code: {
@@ -13741,6 +13752,22 @@ var openapi_default = {
13741
13752
  },
13742
13753
  required: ["type", "message"],
13743
13754
  type: "object"
13755
+ },
13756
+ {
13757
+ description: "Error to indicate that encoding was interrupted, for example, if the card was removed from the encoder before writing was complete.",
13758
+ properties: {
13759
+ message: {
13760
+ description: "Detailed description of the error. Provides insights into the issue and potentially how to rectify it.",
13761
+ type: "string"
13762
+ },
13763
+ type: {
13764
+ description: "Error type to indicate that encoding was interrupted, for example, if the card was removed from the encoder before writing was complete.",
13765
+ enum: ["encoding_interrupted"],
13766
+ type: "string"
13767
+ }
13768
+ },
13769
+ required: ["type", "message"],
13770
+ type: "object"
13744
13771
  }
13745
13772
  ]
13746
13773
  },
@@ -28583,7 +28610,7 @@ var openapi_default = {
28583
28610
  type: "boolean"
28584
28611
  },
28585
28612
  can_unlock_with_cloud_key: {
28586
- description: "Indicates whether the ACS entrance can be remotely unlocked using a cloud_key credential.",
28613
+ description: "Indicates whether the ACS entrance can be unlocked with cloud key credentials.",
28587
28614
  type: "boolean"
28588
28615
  },
28589
28616
  can_unlock_with_code: {
@@ -37389,8 +37416,8 @@ var openapi_default = {
37389
37416
  type: "integer"
37390
37417
  },
37391
37418
  mode: {
37392
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
37393
- enum: ["code", "card", "mobile_key"],
37419
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
37420
+ enum: ["code", "card", "mobile_key", "cloud_key"],
37394
37421
  type: "string"
37395
37422
  }
37396
37423
  },
@@ -38236,8 +38263,8 @@ var openapi_default = {
38236
38263
  type: "integer"
38237
38264
  },
38238
38265
  mode: {
38239
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
38240
- enum: ["code", "card", "mobile_key"],
38266
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
38267
+ enum: ["code", "card", "mobile_key", "cloud_key"],
38241
38268
  type: "string"
38242
38269
  }
38243
38270
  },
@@ -38558,8 +38585,13 @@ var openapi_default = {
38558
38585
  type: "integer"
38559
38586
  },
38560
38587
  mode: {
38561
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
38562
- enum: ["code", "card", "mobile_key"],
38588
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
38589
+ enum: [
38590
+ "code",
38591
+ "card",
38592
+ "mobile_key",
38593
+ "cloud_key"
38594
+ ],
38563
38595
  type: "string"
38564
38596
  }
38565
38597
  },
@@ -39108,8 +39140,13 @@ var openapi_default = {
39108
39140
  type: "integer"
39109
39141
  },
39110
39142
  mode: {
39111
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
39112
- enum: ["code", "card", "mobile_key"],
39143
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
39144
+ enum: [
39145
+ "code",
39146
+ "card",
39147
+ "mobile_key",
39148
+ "cloud_key"
39149
+ ],
39113
39150
  type: "string"
39114
39151
  }
39115
39152
  },
@@ -39700,8 +39737,13 @@ var openapi_default = {
39700
39737
  type: "integer"
39701
39738
  },
39702
39739
  mode: {
39703
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
39704
- enum: ["code", "card", "mobile_key"],
39740
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
39741
+ enum: [
39742
+ "code",
39743
+ "card",
39744
+ "mobile_key",
39745
+ "cloud_key"
39746
+ ],
39705
39747
  type: "string"
39706
39748
  }
39707
39749
  },
@@ -40278,8 +40320,13 @@ var openapi_default = {
40278
40320
  type: "integer"
40279
40321
  },
40280
40322
  mode: {
40281
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
40282
- enum: ["code", "card", "mobile_key"],
40323
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
40324
+ enum: [
40325
+ "code",
40326
+ "card",
40327
+ "mobile_key",
40328
+ "cloud_key"
40329
+ ],
40283
40330
  type: "string"
40284
40331
  }
40285
40332
  },
@@ -41603,8 +41650,8 @@ var openapi_default = {
41603
41650
  type: "string"
41604
41651
  },
41605
41652
  mode: {
41606
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
41607
- enum: ["code", "card", "mobile_key"],
41653
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
41654
+ enum: ["code", "card", "mobile_key", "cloud_key"],
41608
41655
  type: "string"
41609
41656
  },
41610
41657
  pending_mutations: {
@@ -41999,8 +42046,8 @@ var openapi_default = {
41999
42046
  type: "string"
42000
42047
  },
42001
42048
  mode: {
42002
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
42003
- enum: ["code", "card", "mobile_key"],
42049
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
42050
+ enum: ["code", "card", "mobile_key", "cloud_key"],
42004
42051
  type: "string"
42005
42052
  },
42006
42053
  pending_mutations: {
@@ -42423,8 +42470,8 @@ var openapi_default = {
42423
42470
  type: "string"
42424
42471
  },
42425
42472
  mode: {
42426
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
42427
- enum: ["code", "card", "mobile_key"],
42473
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
42474
+ enum: ["code", "card", "mobile_key", "cloud_key"],
42428
42475
  type: "string"
42429
42476
  },
42430
42477
  pending_mutations: {
@@ -42838,8 +42885,8 @@ var openapi_default = {
42838
42885
  type: "string"
42839
42886
  },
42840
42887
  mode: {
42841
- description: "Access method mode. Supported values: `code`, `card`, `mobile_key`.",
42842
- enum: ["code", "card", "mobile_key"],
42888
+ description: "Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.",
42889
+ enum: ["code", "card", "mobile_key", "cloud_key"],
42843
42890
  type: "string"
42844
42891
  },
42845
42892
  pending_mutations: {
@@ -46185,7 +46232,10 @@ var openapi_default = {
46185
46232
  error_code: {
46186
46233
  default: "no_credential_on_encoder",
46187
46234
  description: "Code of the error to simulate.",
46188
- enum: ["no_credential_on_encoder"],
46235
+ enum: [
46236
+ "no_credential_on_encoder",
46237
+ "encoding_interrupted"
46238
+ ],
46189
46239
  type: "string"
46190
46240
  }
46191
46241
  },
@@ -68313,6 +68363,698 @@ var openapi_default = {
68313
68363
  "x-undocumented": "Internal endpoint for customer portals."
68314
68364
  }
68315
68365
  },
68366
+ "/seam/customer/v1/portals/update": {
68367
+ patch: {
68368
+ description: "Updates the configuration for a customer portal.",
68369
+ operationId: "seamCustomerV1PortalsUpdatePatch",
68370
+ requestBody: {
68371
+ content: {
68372
+ "application/json": {
68373
+ schema: {
68374
+ properties: {
68375
+ customer_portal_id: {
68376
+ description: "ID of the customer portal to update.",
68377
+ format: "uuid",
68378
+ type: "string"
68379
+ },
68380
+ portal_configuration: {
68381
+ description: "Partial portal configuration to merge with the existing configuration.",
68382
+ properties: {
68383
+ customer_resources_filters: {
68384
+ description: "Filter configuration for resources based on their custom_metadata. Each filter specifies a field, operation, and value to match against resource custom_metadata.",
68385
+ items: {
68386
+ properties: {
68387
+ field: {
68388
+ description: "The custom_metadata field name to filter on.",
68389
+ pattern: "^[a-zA-Z_]\\w*$",
68390
+ type: "string"
68391
+ },
68392
+ operation: {
68393
+ description: "The comparison operation. Currently only '=' is supported.",
68394
+ enum: ["="],
68395
+ type: "string"
68396
+ },
68397
+ value: {
68398
+ description: "The value to compare against.",
68399
+ oneOf: [{ type: "string" }, { type: "boolean" }]
68400
+ }
68401
+ },
68402
+ required: ["field", "operation", "value"],
68403
+ type: "object"
68404
+ },
68405
+ type: "array"
68406
+ },
68407
+ customization_profile_id: {
68408
+ description: "The ID of the customization profile to use for the portal.",
68409
+ format: "uuid",
68410
+ type: "string"
68411
+ },
68412
+ deep_link: {
68413
+ description: "Deep link target resource for initial redirect. When set, the portal will navigate directly to the specified resource.",
68414
+ properties: {
68415
+ resource_key: { type: "string" },
68416
+ resource_type: {
68417
+ enum: ["reservation", "space"],
68418
+ type: "string"
68419
+ }
68420
+ },
68421
+ required: ["resource_type", "resource_key"],
68422
+ type: "object",
68423
+ "x-undocumented": "Internal endpoint for customer portals."
68424
+ },
68425
+ exclude_locale_picker: {
68426
+ default: false,
68427
+ description: "Whether to exclude the option to select a locale within the portal UI.",
68428
+ type: "boolean"
68429
+ },
68430
+ features: {
68431
+ default: {},
68432
+ properties: {
68433
+ configure: {
68434
+ default: {},
68435
+ description: "Configuration for the configure feature.",
68436
+ properties: {
68437
+ allow_access_automation_rule_customization: {
68438
+ default: false,
68439
+ description: "Indicates whether the customer can customize the access automation rules for their properties.",
68440
+ type: "boolean"
68441
+ },
68442
+ allow_climate_automation_rule_customization: {
68443
+ default: false,
68444
+ description: "Indicates whether the customer can customize the climate automation rules for their properties.",
68445
+ type: "boolean"
68446
+ },
68447
+ allow_instant_key_customization: {
68448
+ default: false,
68449
+ description: "Indicates whether the customer can customize the Instant Key profile for their properties.",
68450
+ type: "boolean"
68451
+ },
68452
+ exclude: {
68453
+ default: false,
68454
+ description: "Whether to exclude this feature from the portal.",
68455
+ type: "boolean"
68456
+ }
68457
+ },
68458
+ type: "object"
68459
+ },
68460
+ connect: {
68461
+ default: {},
68462
+ description: "Configuration for the connect accounts feature.",
68463
+ properties: {
68464
+ accepted_providers: {
68465
+ description: "List of provider keys to allow for the connect feature. These providers will be shown when the customer tries to connect an account.",
68466
+ items: { type: "string" },
68467
+ type: "array"
68468
+ },
68469
+ exclude: {
68470
+ default: false,
68471
+ description: "Whether to exclude this feature from the portal.",
68472
+ type: "boolean"
68473
+ },
68474
+ excluded_providers: {
68475
+ description: "List of provider keys to exclude from the connect feature. These providers will not be shown when the customer tries to connect an account.",
68476
+ items: { type: "string" },
68477
+ type: "array"
68478
+ }
68479
+ },
68480
+ type: "object"
68481
+ },
68482
+ manage: {
68483
+ default: {},
68484
+ description: "Configuration for the manage feature.",
68485
+ properties: {
68486
+ events: {
68487
+ description: "Configuration for event type filtering in the manage feature.",
68488
+ properties: {
68489
+ allowed_events: {
68490
+ description: "List of event types to show in the events filter. When set, only these event types will be available. Leave empty to show all events.",
68491
+ items: { type: "string" },
68492
+ type: "array"
68493
+ },
68494
+ default_events: {
68495
+ description: "List of event types that are pre-selected in the events filter when the user first loads the events tab.",
68496
+ items: { type: "string" },
68497
+ type: "array"
68498
+ }
68499
+ },
68500
+ type: "object"
68501
+ },
68502
+ exclude: {
68503
+ default: false,
68504
+ description: "Whether to exclude this feature from the portal.",
68505
+ type: "boolean"
68506
+ },
68507
+ exclude_reservation_management: {
68508
+ default: false,
68509
+ description: "Indicates whether the customer can manage reservations for their properties.",
68510
+ type: "boolean"
68511
+ },
68512
+ exclude_reservation_technical_details: {
68513
+ default: false,
68514
+ description: "Indicates whether to exclude technical details from reservation views.",
68515
+ type: "boolean"
68516
+ },
68517
+ exclude_staff_management: {
68518
+ default: false,
68519
+ description: "Indicates whether the customer can manage staff for their properties.",
68520
+ type: "boolean"
68521
+ }
68522
+ },
68523
+ type: "object"
68524
+ },
68525
+ manage_devices: {
68526
+ default: {},
68527
+ description: "Configuration for the manage devices feature.\n---\ndeprecated: Use `manage` instead.\n---",
68528
+ properties: {
68529
+ exclude: {
68530
+ default: false,
68531
+ description: "Whether to exclude this feature from the portal.",
68532
+ type: "boolean"
68533
+ }
68534
+ },
68535
+ type: "object"
68536
+ },
68537
+ organize: {
68538
+ default: {},
68539
+ description: "Configuration for the organize feature.",
68540
+ properties: {
68541
+ exclude: {
68542
+ default: false,
68543
+ description: "Whether to exclude this feature from the portal.",
68544
+ type: "boolean"
68545
+ }
68546
+ },
68547
+ type: "object"
68548
+ }
68549
+ },
68550
+ type: "object"
68551
+ },
68552
+ is_embedded: {
68553
+ default: false,
68554
+ description: "Whether the portal is embedded in another application.",
68555
+ type: "boolean"
68556
+ },
68557
+ landing_page: {
68558
+ description: "Configuration for the landing page when the portal loads.",
68559
+ properties: {
68560
+ manage: {
68561
+ oneOf: [
68562
+ {
68563
+ oneOf: [
68564
+ {
68565
+ properties: {
68566
+ space_key: { type: "string" }
68567
+ },
68568
+ required: ["space_key"],
68569
+ type: "object"
68570
+ },
68571
+ {
68572
+ properties: {
68573
+ property_key: { type: "string" }
68574
+ },
68575
+ required: ["property_key"],
68576
+ type: "object"
68577
+ },
68578
+ {
68579
+ properties: {
68580
+ room_key: { type: "string" }
68581
+ },
68582
+ required: ["room_key"],
68583
+ type: "object"
68584
+ },
68585
+ {
68586
+ properties: {
68587
+ common_area_key: { type: "string" }
68588
+ },
68589
+ required: ["common_area_key"],
68590
+ type: "object"
68591
+ },
68592
+ {
68593
+ properties: {
68594
+ unit_key: { type: "string" }
68595
+ },
68596
+ required: ["unit_key"],
68597
+ type: "object"
68598
+ },
68599
+ {
68600
+ properties: {
68601
+ facility_key: { type: "string" }
68602
+ },
68603
+ required: ["facility_key"],
68604
+ type: "object"
68605
+ },
68606
+ {
68607
+ properties: {
68608
+ building_key: { type: "string" }
68609
+ },
68610
+ required: ["building_key"],
68611
+ type: "object"
68612
+ },
68613
+ {
68614
+ properties: {
68615
+ listing_key: { type: "string" }
68616
+ },
68617
+ required: ["listing_key"],
68618
+ type: "object"
68619
+ },
68620
+ {
68621
+ properties: {
68622
+ property_listing_key: { type: "string" }
68623
+ },
68624
+ required: ["property_listing_key"],
68625
+ type: "object"
68626
+ },
68627
+ {
68628
+ properties: {
68629
+ site_key: { type: "string" }
68630
+ },
68631
+ required: ["site_key"],
68632
+ type: "object"
68633
+ }
68634
+ ]
68635
+ },
68636
+ {
68637
+ oneOf: [
68638
+ {
68639
+ properties: {
68640
+ reservation_key: { type: "string" }
68641
+ },
68642
+ required: ["reservation_key"],
68643
+ type: "object"
68644
+ },
68645
+ {
68646
+ properties: {
68647
+ booking_key: { type: "string" }
68648
+ },
68649
+ required: ["booking_key"],
68650
+ type: "object"
68651
+ },
68652
+ {
68653
+ properties: {
68654
+ access_grant_key: { type: "string" }
68655
+ },
68656
+ required: ["access_grant_key"],
68657
+ type: "object"
68658
+ }
68659
+ ]
68660
+ }
68661
+ ]
68662
+ }
68663
+ },
68664
+ type: "object"
68665
+ },
68666
+ locale: {
68667
+ description: "The locale to use for the portal.",
68668
+ enum: ["en-US", "pt-PT", "fr-FR", "it-IT", "es-ES"],
68669
+ type: "string"
68670
+ },
68671
+ navigation_mode: {
68672
+ default: "full",
68673
+ description: "Navigation mode for the portal. 'restricted' tells frontend to hide navigation UI, typically used for embedded deep links.",
68674
+ enum: ["full", "restricted"],
68675
+ type: "string"
68676
+ }
68677
+ },
68678
+ type: "object"
68679
+ }
68680
+ },
68681
+ required: ["customer_portal_id", "portal_configuration"],
68682
+ type: "object"
68683
+ }
68684
+ }
68685
+ }
68686
+ },
68687
+ responses: {
68688
+ 200: {
68689
+ content: {
68690
+ "application/json": {
68691
+ schema: {
68692
+ properties: { ok: { type: "boolean" } },
68693
+ required: ["ok"],
68694
+ type: "object"
68695
+ }
68696
+ }
68697
+ },
68698
+ description: "OK"
68699
+ },
68700
+ 400: { description: "Bad Request" },
68701
+ 401: { description: "Unauthorized" }
68702
+ },
68703
+ security: [{ console_session_with_workspace: [] }, { api_key: [] }],
68704
+ summary: "/seam/customer/v1/portals/update",
68705
+ tags: [],
68706
+ "x-fern-sdk-group-name": ["seam", "customer", "v1", "portals"],
68707
+ "x-fern-sdk-method-name": "update",
68708
+ "x-response-key": null,
68709
+ "x-title": "Update Customer Portal Configuration",
68710
+ "x-undocumented": "Internal endpoint for customer portals."
68711
+ },
68712
+ post: {
68713
+ description: "Updates the configuration for a customer portal.",
68714
+ operationId: "seamCustomerV1PortalsUpdatePost",
68715
+ requestBody: {
68716
+ content: {
68717
+ "application/json": {
68718
+ schema: {
68719
+ properties: {
68720
+ customer_portal_id: {
68721
+ description: "ID of the customer portal to update.",
68722
+ format: "uuid",
68723
+ type: "string"
68724
+ },
68725
+ portal_configuration: {
68726
+ description: "Partial portal configuration to merge with the existing configuration.",
68727
+ properties: {
68728
+ customer_resources_filters: {
68729
+ description: "Filter configuration for resources based on their custom_metadata. Each filter specifies a field, operation, and value to match against resource custom_metadata.",
68730
+ items: {
68731
+ properties: {
68732
+ field: {
68733
+ description: "The custom_metadata field name to filter on.",
68734
+ pattern: "^[a-zA-Z_]\\w*$",
68735
+ type: "string"
68736
+ },
68737
+ operation: {
68738
+ description: "The comparison operation. Currently only '=' is supported.",
68739
+ enum: ["="],
68740
+ type: "string"
68741
+ },
68742
+ value: {
68743
+ description: "The value to compare against.",
68744
+ oneOf: [{ type: "string" }, { type: "boolean" }]
68745
+ }
68746
+ },
68747
+ required: ["field", "operation", "value"],
68748
+ type: "object"
68749
+ },
68750
+ type: "array"
68751
+ },
68752
+ customization_profile_id: {
68753
+ description: "The ID of the customization profile to use for the portal.",
68754
+ format: "uuid",
68755
+ type: "string"
68756
+ },
68757
+ deep_link: {
68758
+ description: "Deep link target resource for initial redirect. When set, the portal will navigate directly to the specified resource.",
68759
+ properties: {
68760
+ resource_key: { type: "string" },
68761
+ resource_type: {
68762
+ enum: ["reservation", "space"],
68763
+ type: "string"
68764
+ }
68765
+ },
68766
+ required: ["resource_type", "resource_key"],
68767
+ type: "object",
68768
+ "x-undocumented": "Internal endpoint for customer portals."
68769
+ },
68770
+ exclude_locale_picker: {
68771
+ default: false,
68772
+ description: "Whether to exclude the option to select a locale within the portal UI.",
68773
+ type: "boolean"
68774
+ },
68775
+ features: {
68776
+ default: {},
68777
+ properties: {
68778
+ configure: {
68779
+ default: {},
68780
+ description: "Configuration for the configure feature.",
68781
+ properties: {
68782
+ allow_access_automation_rule_customization: {
68783
+ default: false,
68784
+ description: "Indicates whether the customer can customize the access automation rules for their properties.",
68785
+ type: "boolean"
68786
+ },
68787
+ allow_climate_automation_rule_customization: {
68788
+ default: false,
68789
+ description: "Indicates whether the customer can customize the climate automation rules for their properties.",
68790
+ type: "boolean"
68791
+ },
68792
+ allow_instant_key_customization: {
68793
+ default: false,
68794
+ description: "Indicates whether the customer can customize the Instant Key profile for their properties.",
68795
+ type: "boolean"
68796
+ },
68797
+ exclude: {
68798
+ default: false,
68799
+ description: "Whether to exclude this feature from the portal.",
68800
+ type: "boolean"
68801
+ }
68802
+ },
68803
+ type: "object"
68804
+ },
68805
+ connect: {
68806
+ default: {},
68807
+ description: "Configuration for the connect accounts feature.",
68808
+ properties: {
68809
+ accepted_providers: {
68810
+ description: "List of provider keys to allow for the connect feature. These providers will be shown when the customer tries to connect an account.",
68811
+ items: { type: "string" },
68812
+ type: "array"
68813
+ },
68814
+ exclude: {
68815
+ default: false,
68816
+ description: "Whether to exclude this feature from the portal.",
68817
+ type: "boolean"
68818
+ },
68819
+ excluded_providers: {
68820
+ description: "List of provider keys to exclude from the connect feature. These providers will not be shown when the customer tries to connect an account.",
68821
+ items: { type: "string" },
68822
+ type: "array"
68823
+ }
68824
+ },
68825
+ type: "object"
68826
+ },
68827
+ manage: {
68828
+ default: {},
68829
+ description: "Configuration for the manage feature.",
68830
+ properties: {
68831
+ events: {
68832
+ description: "Configuration for event type filtering in the manage feature.",
68833
+ properties: {
68834
+ allowed_events: {
68835
+ description: "List of event types to show in the events filter. When set, only these event types will be available. Leave empty to show all events.",
68836
+ items: { type: "string" },
68837
+ type: "array"
68838
+ },
68839
+ default_events: {
68840
+ description: "List of event types that are pre-selected in the events filter when the user first loads the events tab.",
68841
+ items: { type: "string" },
68842
+ type: "array"
68843
+ }
68844
+ },
68845
+ type: "object"
68846
+ },
68847
+ exclude: {
68848
+ default: false,
68849
+ description: "Whether to exclude this feature from the portal.",
68850
+ type: "boolean"
68851
+ },
68852
+ exclude_reservation_management: {
68853
+ default: false,
68854
+ description: "Indicates whether the customer can manage reservations for their properties.",
68855
+ type: "boolean"
68856
+ },
68857
+ exclude_reservation_technical_details: {
68858
+ default: false,
68859
+ description: "Indicates whether to exclude technical details from reservation views.",
68860
+ type: "boolean"
68861
+ },
68862
+ exclude_staff_management: {
68863
+ default: false,
68864
+ description: "Indicates whether the customer can manage staff for their properties.",
68865
+ type: "boolean"
68866
+ }
68867
+ },
68868
+ type: "object"
68869
+ },
68870
+ manage_devices: {
68871
+ default: {},
68872
+ description: "Configuration for the manage devices feature.\n---\ndeprecated: Use `manage` instead.\n---",
68873
+ properties: {
68874
+ exclude: {
68875
+ default: false,
68876
+ description: "Whether to exclude this feature from the portal.",
68877
+ type: "boolean"
68878
+ }
68879
+ },
68880
+ type: "object"
68881
+ },
68882
+ organize: {
68883
+ default: {},
68884
+ description: "Configuration for the organize feature.",
68885
+ properties: {
68886
+ exclude: {
68887
+ default: false,
68888
+ description: "Whether to exclude this feature from the portal.",
68889
+ type: "boolean"
68890
+ }
68891
+ },
68892
+ type: "object"
68893
+ }
68894
+ },
68895
+ type: "object"
68896
+ },
68897
+ is_embedded: {
68898
+ default: false,
68899
+ description: "Whether the portal is embedded in another application.",
68900
+ type: "boolean"
68901
+ },
68902
+ landing_page: {
68903
+ description: "Configuration for the landing page when the portal loads.",
68904
+ properties: {
68905
+ manage: {
68906
+ oneOf: [
68907
+ {
68908
+ oneOf: [
68909
+ {
68910
+ properties: {
68911
+ space_key: { type: "string" }
68912
+ },
68913
+ required: ["space_key"],
68914
+ type: "object"
68915
+ },
68916
+ {
68917
+ properties: {
68918
+ property_key: { type: "string" }
68919
+ },
68920
+ required: ["property_key"],
68921
+ type: "object"
68922
+ },
68923
+ {
68924
+ properties: {
68925
+ room_key: { type: "string" }
68926
+ },
68927
+ required: ["room_key"],
68928
+ type: "object"
68929
+ },
68930
+ {
68931
+ properties: {
68932
+ common_area_key: { type: "string" }
68933
+ },
68934
+ required: ["common_area_key"],
68935
+ type: "object"
68936
+ },
68937
+ {
68938
+ properties: {
68939
+ unit_key: { type: "string" }
68940
+ },
68941
+ required: ["unit_key"],
68942
+ type: "object"
68943
+ },
68944
+ {
68945
+ properties: {
68946
+ facility_key: { type: "string" }
68947
+ },
68948
+ required: ["facility_key"],
68949
+ type: "object"
68950
+ },
68951
+ {
68952
+ properties: {
68953
+ building_key: { type: "string" }
68954
+ },
68955
+ required: ["building_key"],
68956
+ type: "object"
68957
+ },
68958
+ {
68959
+ properties: {
68960
+ listing_key: { type: "string" }
68961
+ },
68962
+ required: ["listing_key"],
68963
+ type: "object"
68964
+ },
68965
+ {
68966
+ properties: {
68967
+ property_listing_key: { type: "string" }
68968
+ },
68969
+ required: ["property_listing_key"],
68970
+ type: "object"
68971
+ },
68972
+ {
68973
+ properties: {
68974
+ site_key: { type: "string" }
68975
+ },
68976
+ required: ["site_key"],
68977
+ type: "object"
68978
+ }
68979
+ ]
68980
+ },
68981
+ {
68982
+ oneOf: [
68983
+ {
68984
+ properties: {
68985
+ reservation_key: { type: "string" }
68986
+ },
68987
+ required: ["reservation_key"],
68988
+ type: "object"
68989
+ },
68990
+ {
68991
+ properties: {
68992
+ booking_key: { type: "string" }
68993
+ },
68994
+ required: ["booking_key"],
68995
+ type: "object"
68996
+ },
68997
+ {
68998
+ properties: {
68999
+ access_grant_key: { type: "string" }
69000
+ },
69001
+ required: ["access_grant_key"],
69002
+ type: "object"
69003
+ }
69004
+ ]
69005
+ }
69006
+ ]
69007
+ }
69008
+ },
69009
+ type: "object"
69010
+ },
69011
+ locale: {
69012
+ description: "The locale to use for the portal.",
69013
+ enum: ["en-US", "pt-PT", "fr-FR", "it-IT", "es-ES"],
69014
+ type: "string"
69015
+ },
69016
+ navigation_mode: {
69017
+ default: "full",
69018
+ description: "Navigation mode for the portal. 'restricted' tells frontend to hide navigation UI, typically used for embedded deep links.",
69019
+ enum: ["full", "restricted"],
69020
+ type: "string"
69021
+ }
69022
+ },
69023
+ type: "object"
69024
+ }
69025
+ },
69026
+ required: ["customer_portal_id", "portal_configuration"],
69027
+ type: "object"
69028
+ }
69029
+ }
69030
+ }
69031
+ },
69032
+ responses: {
69033
+ 200: {
69034
+ content: {
69035
+ "application/json": {
69036
+ schema: {
69037
+ properties: { ok: { type: "boolean" } },
69038
+ required: ["ok"],
69039
+ type: "object"
69040
+ }
69041
+ }
69042
+ },
69043
+ description: "OK"
69044
+ },
69045
+ 400: { description: "Bad Request" },
69046
+ 401: { description: "Unauthorized" }
69047
+ },
69048
+ security: [{ console_session_with_workspace: [] }, { api_key: [] }],
69049
+ summary: "/seam/customer/v1/portals/update",
69050
+ tags: [],
69051
+ "x-fern-sdk-group-name": ["seam", "customer", "v1", "portals"],
69052
+ "x-fern-sdk-method-name": "update",
69053
+ "x-response-key": null,
69054
+ "x-title": "Update Customer Portal Configuration",
69055
+ "x-undocumented": "Internal endpoint for customer portals."
69056
+ }
69057
+ },
68316
69058
  "/seam/customer/v1/reservations/get": {
68317
69059
  get: {
68318
69060
  description: "Returns a single reservation for a specific customer by reservation ID.",