From 551cbffe27d3e40072aacae0431a0919a3ae626f Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Thu, 24 Apr 2025 14:24:13 +0000 Subject: [PATCH] Update via seamapi/seam-connect@7b49fb8d126e022427d60f430e31ce007adcdd37 --- .../connect/models/acs/acs-users/acs-user.ts | 11 +- .../models/acs/acs-users/pending-mutations.ts | 89 +- .../capability-properties/thermostat.ts | 9 + .../seam/connect/models/thermostats/index.ts | 1 + .../models/thermostats/thermostat-program.ts | 90 ++ src/lib/seam/connect/openapi.ts | 1006 ++++++++++++++++- src/lib/seam/connect/route-types.ts | 808 ++++++++++++- src/lib/seam/connect/schemas.ts | 2 + 8 files changed, 1930 insertions(+), 86 deletions(-) create mode 100644 src/lib/seam/connect/models/thermostats/thermostat-program.ts diff --git a/src/lib/seam/connect/models/acs/acs-users/acs-user.ts b/src/lib/seam/connect/models/acs/acs-users/acs-user.ts index bb48a4e2..c5b9cd31 100644 --- a/src/lib/seam/connect/models/acs/acs-users/acs-user.ts +++ b/src/lib/seam/connect/models/acs/acs-users/acs-user.ts @@ -326,11 +326,12 @@ const common_acs_user = z .describe( 'Errors associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', ), - pending_mutations: z.array(acs_user_pending_mutations).optional().describe(` - --- - undocumented: Experimental. - --- - `), + pending_mutations: z + .array(acs_user_pending_mutations) + .optional() + .describe( + 'Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system.', + ), }) .merge(user_fields) diff --git a/src/lib/seam/connect/models/acs/acs-users/pending-mutations.ts b/src/lib/seam/connect/models/acs/acs-users/pending-mutations.ts index b85bacc5..4af383fa 100644 --- a/src/lib/seam/connect/models/acs/acs-users/pending-mutations.ts +++ b/src/lib/seam/connect/models/acs/acs-users/pending-mutations.ts @@ -3,17 +3,28 @@ import { z } from 'zod' import { phone_number } from '../../phone-number.js' const common_pending_mutation = z.object({ - created_at: z.string().datetime(), - message: z.string(), + created_at: z + .string() + .datetime() + .describe('Date and time at which the mutation was created.'), + message: z.string().describe('Detailed description of the mutation.'), }) -const creating = common_pending_mutation.extend({ - mutation_code: z.literal('creating'), -}) +const creating = common_pending_mutation + .extend({ + mutation_code: z.literal('creating'), + }) + .describe( + 'Seam is in the process of pushing a user creation to the integrated access system.', + ) -const deleting = common_pending_mutation.extend({ - mutation_code: z.literal('deleting'), -}) +const deleting = common_pending_mutation + .extend({ + mutation_code: z.literal('deleting'), + }) + .describe( + 'Seam is in the process of pushing a user deletion to the integrated access system.', + ) const acs_user_info = z.object({ email_address: z.string().email().nullable(), @@ -33,27 +44,51 @@ const access_schedule = z.object({ ends_at: z.string().datetime().nullable(), }) -const updating_access_schedule_mutation = common_pending_mutation.extend({ - mutation_code: z.literal('updating_access_schedule'), - from: access_schedule, - to: access_schedule, -}) +const updating_access_schedule_mutation = common_pending_mutation + .extend({ + mutation_code: z.literal('updating_access_schedule'), + from: access_schedule, + to: access_schedule, + }) + .describe( + 'Seam is in the process of pushing an access schedule update to the integrated access system.', + ) -const updating_suspension_state_mutation = common_pending_mutation.extend({ - mutation_code: z.literal('updating_suspension_state'), - from: z.object({ is_suspended: z.boolean() }), - to: z.object({ is_suspended: z.boolean() }), -}) +const updating_suspension_state_mutation = common_pending_mutation + .extend({ + mutation_code: z.literal('updating_suspension_state'), + from: z.object({ is_suspended: z.boolean() }), + to: z.object({ is_suspended: z.boolean() }), + }) + .describe( + 'Seam is in the process of pushing a suspension state update to the integrated access system.', + ) -const updating_group_membership_mutation = common_pending_mutation.extend({ - mutation_code: z.literal('updating_group_membership'), - from: z.object({ - acs_access_group_id: z.string().uuid().nullable(), - }), - to: z.object({ - acs_access_group_id: z.string().uuid().nullable(), - }), -}) +const updating_group_membership_mutation = common_pending_mutation + .extend({ + mutation_code: z.literal('updating_group_membership'), + from: z + .object({ + acs_access_group_id: z + .string() + .uuid() + .nullable() + .describe('Old access group ID.'), + }) + .describe('Old access group membership.'), + to: z + .object({ + acs_access_group_id: z + .string() + .uuid() + .nullable() + .describe('New access group ID.'), + }) + .describe('New access group membership.'), + }) + .describe( + 'Seam is in the process of pushing an access group membership update to the integrated access system.', + ) export const acs_user_pending_mutations = z.discriminatedUnion( 'mutation_code', diff --git a/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts b/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts index d7e6f0be..50824b47 100644 --- a/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts +++ b/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts @@ -5,7 +5,9 @@ import { climate_setting, fan_mode_setting, hvac_mode_setting, + thermostat_daily_program, thermostat_schedule, + thermostat_weekly_program, } from '../../thermostats/index.js' export const thermostat_capability_properties = z @@ -41,6 +43,13 @@ export const thermostat_capability_properties = z available_climate_presets: z.array(climate_preset), fallback_climate_preset_key: z.string().min(1).nullable().default(null), active_thermostat_schedule: thermostat_schedule.nullable().default(null), + thermostat_daily_programs: z + .array(thermostat_daily_program) + .nullable() + .default(null), + thermostat_weekly_program: thermostat_weekly_program + .nullable() + .default(null), min_cooling_set_point_celsius: z.number(), min_cooling_set_point_fahrenheit: z.number(), max_cooling_set_point_celsius: z.number(), diff --git a/src/lib/seam/connect/models/thermostats/index.ts b/src/lib/seam/connect/models/thermostats/index.ts index eef433fa..ac822bb9 100644 --- a/src/lib/seam/connect/models/thermostats/index.ts +++ b/src/lib/seam/connect/models/thermostats/index.ts @@ -1,3 +1,4 @@ export * from './climate-preset.js' export * from './modes.js' +export * from './thermostat-program.js' export * from './thermostat-schedule.js' diff --git a/src/lib/seam/connect/models/thermostats/thermostat-program.ts b/src/lib/seam/connect/models/thermostats/thermostat-program.ts new file mode 100644 index 00000000..0d750189 --- /dev/null +++ b/src/lib/seam/connect/models/thermostats/thermostat-program.ts @@ -0,0 +1,90 @@ +import { z } from 'zod' + +export const thermostat_daily_program_period = z.object({ + starts_at_time: z + .string() + .regex(/^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/) + .describe( + 'Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + ), + climate_preset_key: z + .string() + .describe( + 'Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.', + ), +}) + +export const thermostat_daily_program = z.object({ + thermostat_daily_program_id: z + .string() + .uuid() + .describe('ID of the thermostat daily program.'), + device_id: z.string().uuid().describe('ID of the desired thermostat device.'), + name: z + .string() + .optional() + .describe('User-friendly name to identify the thermostat daily program.'), + periods: z + .array(thermostat_daily_program_period) + .describe('Array of thermostat daily program periods.'), + created_at: z + .string() + .datetime() + .describe( + 'Date and time at which the thermostat daily program was created.', + ), +}) + +export const thermostat_weekly_program = z.object({ + device_id: z + .string() + .uuid() + .describe('ID of the thermostat device the weekly program is for.'), + monday_program_id: z + .string() + .uuid() + .nullable() + .describe('ID of the thermostat daily program to run on Mondays.'), + tuesday_program_id: z + .string() + .uuid() + .nullable() + .describe('ID of the thermostat daily program to run on Tuesdays.'), + wednesday_program_id: z + .string() + .uuid() + .nullable() + .describe('ID of the thermostat daily program to run on Wednesdays.'), + thursday_program_id: z + .string() + .uuid() + .nullable() + .describe('ID of the thermostat daily program to run on Thursdays.'), + friday_program_id: z + .string() + .uuid() + .nullable() + .describe('ID of the thermostat daily program to run on Fridays.'), + saturday_program_id: z + .string() + .uuid() + .nullable() + .describe('ID of the thermostat daily program to run on Saturdays.'), + sunday_program_id: z + .string() + .uuid() + .nullable() + .describe('ID of the thermostat daily program to run on Sundays.'), + created_at: z + .string() + .datetime() + .describe( + 'Date and time at which the thermostat weekly program was created.', + ), +}) + +export type ThermostatDailyProgram = z.infer +export type ThermostatDailyProgramPeriod = z.infer< + typeof thermostat_daily_program_period +> +export type ThermostatWeeklyProgram = z.infer diff --git a/src/lib/seam/connect/openapi.ts b/src/lib/seam/connect/openapi.ts index 9b4f79b5..5db4ae98 100644 --- a/src/lib/seam/connect/openapi.ts +++ b/src/lib/seam/connect/openapi.ts @@ -2935,22 +2935,44 @@ export default { 'x-undocumented': 'Only used internally.', }, pending_mutations: { + description: + 'Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system.', items: { discriminator: { propertyName: 'mutation_code' }, oneOf: [ { + description: + 'Seam is in the process of pushing a user creation to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, - message: { type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['creating'], type: 'string' }, }, required: ['created_at', 'message', 'mutation_code'], type: 'object', }, { + description: + 'Seam is in the process of pushing a user deletion to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, - message: { type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['deleting'], type: 'string' }, }, required: ['created_at', 'message', 'mutation_code'], @@ -2958,7 +2980,12 @@ export default { }, { properties: { - created_at: { format: 'date-time', type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, from: { properties: { email_address: { @@ -2971,7 +2998,10 @@ export default { }, type: 'object', }, - message: { type: 'string' }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['updating_user_information'], type: 'string', @@ -2999,8 +3029,15 @@ export default { type: 'object', }, { + description: + 'Seam is in the process of pushing an access schedule update to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, from: { properties: { ends_at: { @@ -3017,7 +3054,10 @@ export default { required: ['starts_at', 'ends_at'], type: 'object', }, - message: { type: 'string' }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['updating_access_schedule'], type: 'string', @@ -3049,14 +3089,24 @@ export default { type: 'object', }, { + description: + 'Seam is in the process of pushing a suspension state update to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, from: { properties: { is_suspended: { type: 'boolean' } }, required: ['is_suspended'], type: 'object', }, - message: { type: 'string' }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['updating_suspension_state'], type: 'string', @@ -3077,11 +3127,20 @@ export default { type: 'object', }, { + description: + 'Seam is in the process of pushing an access group membership update to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, from: { + description: 'Old access group membership.', properties: { acs_access_group_id: { + description: 'Old access group ID.', format: 'uuid', nullable: true, type: 'string', @@ -3090,14 +3149,19 @@ export default { required: ['acs_access_group_id'], type: 'object', }, - message: { type: 'string' }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['updating_group_membership'], type: 'string', }, to: { + description: 'New access group membership.', properties: { acs_access_group_id: { + description: 'New access group ID.', format: 'uuid', nullable: true, type: 'string', @@ -3119,7 +3183,6 @@ export default { ], }, type: 'array', - 'x-undocumented': 'Experimental.', }, phone_number: { description: @@ -8810,6 +8873,150 @@ export default { ], type: 'object', }, + thermostat_daily_programs: { + default: null, + items: { + properties: { + created_at: { + description: + 'Date and time at which the thermostat daily program was created.', + format: 'date-time', + type: 'string', + }, + device_id: { + description: + 'ID of the desired thermostat device.', + format: 'uuid', + type: 'string', + }, + name: { + description: + 'User-friendly name to identify the thermostat daily program.', + type: 'string', + }, + periods: { + description: + 'Array of thermostat daily program periods.', + items: { + properties: { + climate_preset_key: { + description: + 'Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.', + type: 'string', + }, + starts_at_time: { + description: + 'Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + pattern: + '^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$', + type: 'string', + }, + }, + required: [ + 'starts_at_time', + 'climate_preset_key', + ], + type: 'object', + }, + type: 'array', + }, + thermostat_daily_program_id: { + description: + 'ID of the thermostat daily program.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'thermostat_daily_program_id', + 'device_id', + 'periods', + 'created_at', + ], + type: 'object', + }, + nullable: true, + type: 'array', + }, + thermostat_weekly_program: { + default: null, + nullable: true, + properties: { + created_at: { + description: + 'Date and time at which the thermostat weekly program was created.', + format: 'date-time', + type: 'string', + }, + device_id: { + description: + 'ID of the thermostat device the weekly program is for.', + format: 'uuid', + type: 'string', + }, + friday_program_id: { + description: + 'ID of the thermostat daily program to run on Fridays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + monday_program_id: { + description: + 'ID of the thermostat daily program to run on Mondays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + saturday_program_id: { + description: + 'ID of the thermostat daily program to run on Saturdays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + sunday_program_id: { + description: + 'ID of the thermostat daily program to run on Sundays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + thursday_program_id: { + description: + 'ID of the thermostat daily program to run on Thursdays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + tuesday_program_id: { + description: + 'ID of the thermostat daily program to run on Tuesdays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + wednesday_program_id: { + description: + 'ID of the thermostat daily program to run on Wednesdays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + }, + required: [ + 'device_id', + 'monday_program_id', + 'tuesday_program_id', + 'wednesday_program_id', + 'thursday_program_id', + 'friday_program_id', + 'saturday_program_id', + 'sunday_program_id', + 'created_at', + ], + type: 'object', + }, }, type: 'object', }, @@ -16311,22 +16518,44 @@ export default { 'x-undocumented': 'Only used internally.', }, pending_mutations: { + description: + 'Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system.', items: { discriminator: { propertyName: 'mutation_code' }, oneOf: [ { + description: + 'Seam is in the process of pushing a user creation to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, - message: { type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['creating'], type: 'string' }, }, required: ['created_at', 'message', 'mutation_code'], type: 'object', }, { + description: + 'Seam is in the process of pushing a user deletion to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, - message: { type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['deleting'], type: 'string' }, }, required: ['created_at', 'message', 'mutation_code'], @@ -16334,7 +16563,12 @@ export default { }, { properties: { - created_at: { format: 'date-time', type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, from: { properties: { email_address: { @@ -16347,7 +16581,10 @@ export default { }, type: 'object', }, - message: { type: 'string' }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['updating_user_information'], type: 'string', @@ -16375,8 +16612,15 @@ export default { type: 'object', }, { + description: + 'Seam is in the process of pushing an access schedule update to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, from: { properties: { ends_at: { @@ -16393,7 +16637,10 @@ export default { required: ['starts_at', 'ends_at'], type: 'object', }, - message: { type: 'string' }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['updating_access_schedule'], type: 'string', @@ -16425,14 +16672,24 @@ export default { type: 'object', }, { + description: + 'Seam is in the process of pushing a suspension state update to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, from: { properties: { is_suspended: { type: 'boolean' } }, required: ['is_suspended'], type: 'object', }, - message: { type: 'string' }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['updating_suspension_state'], type: 'string', @@ -16453,11 +16710,20 @@ export default { type: 'object', }, { + description: + 'Seam is in the process of pushing an access group membership update to the integrated access system.', properties: { - created_at: { format: 'date-time', type: 'string' }, + created_at: { + description: + 'Date and time at which the mutation was created.', + format: 'date-time', + type: 'string', + }, from: { + description: 'Old access group membership.', properties: { acs_access_group_id: { + description: 'Old access group ID.', format: 'uuid', nullable: true, type: 'string', @@ -16466,14 +16732,19 @@ export default { required: ['acs_access_group_id'], type: 'object', }, - message: { type: 'string' }, + message: { + description: 'Detailed description of the mutation.', + type: 'string', + }, mutation_code: { enum: ['updating_group_membership'], type: 'string', }, to: { + description: 'New access group membership.', properties: { acs_access_group_id: { + description: 'New access group ID.', format: 'uuid', nullable: true, type: 'string', @@ -16495,7 +16766,6 @@ export default { ], }, type: 'array', - 'x-undocumented': 'Experimental.', }, phone_number: { description: @@ -18381,35 +18651,44 @@ export default { 'x-title': 'Pull a Backup Access Code', }, }, - '/access_codes/simulate/create_unmanaged_access_code': { + '/access_codes/report_device_constraints': { post: { description: - 'Simulates the creation of an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) in a [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces).', - operationId: 'accessCodesSimulateCreateUnmanagedAccessCodePost', + 'Allows clients to report supported code length constraints for a SmartThings lock device.', + operationId: 'accessCodesReportDeviceConstraintsPost', requestBody: { content: { 'application/json': { schema: { properties: { - code: { - description: 'Code of the simulated unmanaged access code.', - maxLength: 8, - minLength: 4, - pattern: '^\\d+$', - type: 'string', - }, device_id: { - description: - 'ID of the device for which you want to simulate the creation of an unmanaged access code.', + description: 'ID of the device to report constraints for.', format: 'uuid', type: 'string', }, - name: { - description: 'Name of the simulated unmanaged access code.', - type: 'string', + max_code_length: { + description: + 'Maximum supported code length between 4 and 20 inclusive; cannot be provided with supported_code_lengths.', + maximum: 20, + minimum: 4, + type: 'integer', + }, + min_code_length: { + description: + 'Minimum supported code length between 4 and 20 inclusive; cannot be provided with supported_code_lengths.', + maximum: 20, + minimum: 4, + type: 'integer', + }, + supported_code_lengths: { + description: + 'Array of supported code lengths between 4 and 20 inclusive; cannot be provided with min_code_length or max_code_length.', + items: { maximum: 20, minimum: 4, type: 'integer' }, + minItems: 1, + type: 'array', }, }, - required: ['device_id', 'name', 'code'], + required: ['device_id'], type: 'object', }, }, @@ -18420,11 +18699,75 @@ export default { content: { 'application/json': { schema: { - properties: { - access_code: { - $ref: '#/components/schemas/unmanaged_access_code', - }, - ok: { type: 'boolean' }, + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { client_session: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/access_codes/report_device_constraints', + tags: ['/access_codes'], + 'x-fern-sdk-group-name': ['access_codes'], + 'x-fern-sdk-method-name': 'report_device_constraints', + 'x-response-key': null, + 'x-title': 'Report Device Code Constraints', + }, + }, + '/access_codes/simulate/create_unmanaged_access_code': { + post: { + description: + 'Simulates the creation of an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) in a [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces).', + operationId: 'accessCodesSimulateCreateUnmanagedAccessCodePost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + code: { + description: 'Code of the simulated unmanaged access code.', + maxLength: 8, + minLength: 4, + pattern: '^\\d+$', + type: 'string', + }, + device_id: { + description: + 'ID of the device for which you want to simulate the creation of an unmanaged access code.', + format: 'uuid', + type: 'string', + }, + name: { + description: 'Name of the simulated unmanaged access code.', + type: 'string', + }, + }, + required: ['device_id', 'name', 'code'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + access_code: { + $ref: '#/components/schemas/unmanaged_access_code', + }, + ok: { type: 'boolean' }, }, required: ['access_code', 'ok'], type: 'object', @@ -28647,6 +28990,234 @@ export default { 'x-title': 'Activate a Climate Preset', }, }, + '/thermostats/activate_weekly_program': { + post: { + description: 'Activates a thermostat weekly program.', + operationId: 'thermostatsActivateWeeklyProgramPost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + device_id: { + description: + 'ID of the thermostat device that the weekly program is for.', + format: 'uuid', + type: 'string', + }, + friday_program_id: { + description: + 'ID of the thermostat daily program to run on Fridays.', + format: 'uuid', + type: 'string', + }, + monday_program_id: { + description: + 'ID of the thermostat daily program to run on Mondays.', + format: 'uuid', + type: 'string', + }, + saturday_program_id: { + description: + 'ID of the thermostat daily program to run on Saturdays.', + format: 'uuid', + type: 'string', + }, + sunday_program_id: { + description: + 'ID of the thermostat daily program to run on Sundays.', + format: 'uuid', + type: 'string', + }, + thursday_program_id: { + description: + 'ID of the thermostat daily program to run on Thursdays.', + format: 'uuid', + type: 'string', + }, + tuesday_program_id: { + description: + 'ID of the thermostat daily program to run on Tuesdays.', + format: 'uuid', + type: 'string', + }, + wednesday_program_id: { + description: + 'ID of the thermostat daily program to run on Wednesdays.', + format: 'uuid', + type: 'string', + }, + }, + required: ['device_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + ok: { type: 'boolean' }, + thermostat_weekly_program: { + properties: { + created_at: { + description: + 'Date and time at which the thermostat weekly program was created.', + format: 'date-time', + type: 'string', + }, + device_id: { + description: + 'ID of the thermostat device the weekly program is for.', + format: 'uuid', + type: 'string', + }, + friday_program_id: { + description: + 'ID of the thermostat daily program to run on Fridays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + monday_program_id: { + description: + 'ID of the thermostat daily program to run on Mondays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + saturday_program_id: { + description: + 'ID of the thermostat daily program to run on Saturdays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + sunday_program_id: { + description: + 'ID of the thermostat daily program to run on Sundays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + thursday_program_id: { + description: + 'ID of the thermostat daily program to run on Thursdays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + tuesday_program_id: { + description: + 'ID of the thermostat daily program to run on Tuesdays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + wednesday_program_id: { + description: + 'ID of the thermostat daily program to run on Wednesdays.', + format: 'uuid', + nullable: true, + type: 'string', + }, + }, + required: [ + 'device_id', + 'monday_program_id', + 'tuesday_program_id', + 'wednesday_program_id', + 'thursday_program_id', + 'friday_program_id', + 'saturday_program_id', + 'sunday_program_id', + 'created_at', + ], + type: 'object', + }, + }, + required: ['thermostat_weekly_program', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { client_session: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/thermostats/activate_weekly_program', + tags: ['/thermostats'], + 'x-fern-sdk-group-name': ['thermostats'], + 'x-fern-sdk-method-name': 'activate_weekly_program', + 'x-fern-sdk-return-value': 'thermostat_weekly_program', + 'x-response-key': 'thermostat_weekly_program', + 'x-title': 'Activate a Thermostat Weekly Program', + 'x-undocumented': 'Unreleased.', + }, + }, + '/thermostats/clear_weekly_program': { + post: { + description: 'Clears a thermostat weekly program.', + operationId: 'thermostatsClearWeeklyProgramPost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + device_id: { + description: + 'ID of the thermostat device to clear the weekly program for.', + format: 'uuid', + type: 'string', + }, + }, + required: ['device_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { client_session: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/thermostats/clear_weekly_program', + tags: ['/thermostats'], + 'x-fern-sdk-group-name': ['thermostats'], + 'x-fern-sdk-method-name': 'clear_weekly_program', + 'x-response-key': null, + 'x-title': 'Clear a Thermostat Weekly Program', + 'x-undocumented': 'Unreleased.', + }, + }, '/thermostats/cool': { post: { description: @@ -28832,6 +29403,347 @@ export default { 'x-title': 'Create a Climate Preset', }, }, + '/thermostats/daily_programs/create': { + post: { + description: 'Creates a thermostat daily program.', + operationId: 'thermostatsDailyProgramsCreatePost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + device_id: { + description: 'ID of the desired thermostat device.', + format: 'uuid', + type: 'string', + }, + name: { + description: + 'User-friendly name to identify the thermostat daily program.', + type: 'string', + }, + periods: { + description: 'Array of thermostat daily program periods.', + items: { + properties: { + climate_preset_key: { + description: + 'Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.', + type: 'string', + }, + starts_at_time: { + description: + 'Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + pattern: '^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$', + type: 'string', + }, + }, + required: ['starts_at_time', 'climate_preset_key'], + type: 'object', + }, + type: 'array', + }, + }, + required: ['device_id', 'periods'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + ok: { type: 'boolean' }, + thermostat_daily_program: { + properties: { + created_at: { + description: + 'Date and time at which the thermostat daily program was created.', + format: 'date-time', + type: 'string', + }, + device_id: { + description: 'ID of the desired thermostat device.', + format: 'uuid', + type: 'string', + }, + name: { + description: + 'User-friendly name to identify the thermostat daily program.', + type: 'string', + }, + periods: { + description: + 'Array of thermostat daily program periods.', + items: { + properties: { + climate_preset_key: { + description: + 'Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.', + type: 'string', + }, + starts_at_time: { + description: + 'Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + pattern: + '^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$', + type: 'string', + }, + }, + required: ['starts_at_time', 'climate_preset_key'], + type: 'object', + }, + type: 'array', + }, + thermostat_daily_program_id: { + description: 'ID of the thermostat daily program.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'thermostat_daily_program_id', + 'device_id', + 'periods', + 'created_at', + ], + type: 'object', + }, + }, + required: ['thermostat_daily_program', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { client_session: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/thermostats/daily_programs/create', + tags: ['/thermostats'], + 'x-fern-sdk-group-name': ['thermostats', 'daily_programs'], + 'x-fern-sdk-method-name': 'create', + 'x-fern-sdk-return-value': 'thermostat_daily_program', + 'x-response-key': 'thermostat_daily_program', + 'x-title': 'Create a Thermostat Daily Program', + 'x-undocumented': 'Unreleased.', + }, + }, + '/thermostats/daily_programs/delete': { + post: { + description: 'Deletes a thermostat daily program.', + operationId: 'thermostatsDailyProgramsDeletePost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + thermostat_daily_program_id: { + description: 'ID of the desired thermostat schedule.', + format: 'uuid', + type: 'string', + }, + }, + required: ['thermostat_daily_program_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { client_session: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/thermostats/daily_programs/delete', + tags: ['/thermostats'], + 'x-fern-sdk-group-name': ['thermostats', 'daily_programs'], + 'x-fern-sdk-method-name': 'delete', + 'x-response-key': null, + 'x-title': 'Delete a Thermostat Daily Program', + 'x-undocumented': 'Unreleased.', + }, + }, + '/thermostats/daily_programs/update': { + patch: { + description: 'Updates a specified thermostat daily program.', + operationId: 'thermostatsDailyProgramsUpdatePatch', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + name: { + description: + 'User-friendly name to identify the thermostat daily program.', + type: 'string', + }, + periods: { + description: 'Array of thermostat daily program periods.', + items: { + properties: { + climate_preset_key: { + description: + 'Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.', + type: 'string', + }, + starts_at_time: { + description: + 'Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + pattern: '^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$', + type: 'string', + }, + }, + required: ['starts_at_time', 'climate_preset_key'], + type: 'object', + }, + type: 'array', + }, + thermostat_daily_program_id: { + description: 'ID of the desired thermostat daily program.', + format: 'uuid', + type: 'string', + }, + }, + required: ['thermostat_daily_program_id', 'periods'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { client_session: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/thermostats/daily_programs/update', + tags: ['/thermostats'], + 'x-fern-ignore': true, + 'x-response-key': null, + 'x-title': 'Update a Thermostat Daily Program', + 'x-undocumented': 'Unreleased.', + }, + post: { + description: 'Updates a specified thermostat daily program.', + operationId: 'thermostatsDailyProgramsUpdatePost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + name: { + description: + 'User-friendly name to identify the thermostat daily program.', + type: 'string', + }, + periods: { + description: 'Array of thermostat daily program periods.', + items: { + properties: { + climate_preset_key: { + description: + 'Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time.', + type: 'string', + }, + starts_at_time: { + description: + 'Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + pattern: '^([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$', + type: 'string', + }, + }, + required: ['starts_at_time', 'climate_preset_key'], + type: 'object', + }, + type: 'array', + }, + thermostat_daily_program_id: { + description: 'ID of the desired thermostat daily program.', + format: 'uuid', + type: 'string', + }, + }, + required: ['thermostat_daily_program_id', 'periods'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { client_session: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/thermostats/daily_programs/update', + tags: ['/thermostats'], + 'x-fern-sdk-group-name': ['thermostats', 'daily_programs'], + 'x-fern-sdk-method-name': 'update', + 'x-response-key': null, + 'x-title': 'Update a Thermostat Daily Program', + 'x-undocumented': 'Unreleased.', + }, + }, '/thermostats/delete_climate_preset': { post: { description: diff --git a/src/lib/seam/connect/route-types.ts b/src/lib/seam/connect/route-types.ts index f1a976db..8a9a61c8 100644 --- a/src/lib/seam/connect/route-types.ts +++ b/src/lib/seam/connect/route-types.ts @@ -5509,6 +5509,24 @@ export interface Routes { } } } + '/access_codes/report_device_constraints': { + route: '/access_codes/report_device_constraints' + method: 'POST' + queryParams: {} + jsonBody: { + /** ID of the device to report constraints for. */ + device_id: string + /** Array of supported code lengths between 4 and 20 inclusive; cannot be provided with min_code_length or max_code_length. */ + supported_code_lengths?: number[] | undefined + /** Minimum supported code length between 4 and 20 inclusive; cannot be provided with supported_code_lengths. */ + min_code_length?: number | undefined + /** Maximum supported code length between 4 and 20 inclusive; cannot be provided with supported_code_lengths. */ + max_code_length?: number | undefined + } + commonParams: {} + formData: {} + jsonResponse: {} + } '/access_codes/simulate/create_unmanaged_access_code': { route: '/access_codes/simulate/create_unmanaged_access_code' method: 'POST' @@ -9837,21 +9855,27 @@ export interface Routes { error_code: 'failed_to_delete_on_acs_system' } > - /** */ + /** Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system. */ pending_mutations?: | Array< | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'creating' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'deleting' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_user_information' from: { @@ -9866,7 +9890,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_access_schedule' from: { @@ -9879,7 +9905,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_suspension_state' from: { @@ -9890,13 +9918,19 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_group_membership' + /** Old access group membership. */ from: { + /** Old access group ID. */ acs_access_group_id: string | null } + /** New access group membership. */ to: { + /** New access group ID. */ acs_access_group_id: string | null } } @@ -15340,21 +15374,27 @@ export interface Routes { error_code: 'failed_to_delete_on_acs_system' } > - /** */ + /** Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system. */ pending_mutations?: | Array< | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'creating' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'deleting' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_user_information' from: { @@ -15369,7 +15409,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_access_schedule' from: { @@ -15382,7 +15424,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_suspension_state' from: { @@ -15393,13 +15437,19 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_group_membership' + /** Old access group membership. */ from: { + /** Old access group ID. */ acs_access_group_id: string | null } + /** New access group membership. */ to: { + /** New access group ID. */ acs_access_group_id: string | null } } @@ -15561,21 +15611,27 @@ export interface Routes { error_code: 'failed_to_delete_on_acs_system' } > - /** */ + /** Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system. */ pending_mutations?: | Array< | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'creating' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'deleting' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_user_information' from: { @@ -15590,7 +15646,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_access_schedule' from: { @@ -15603,7 +15661,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_suspension_state' from: { @@ -15614,13 +15674,19 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_group_membership' + /** Old access group membership. */ from: { + /** Old access group ID. */ acs_access_group_id: string | null } + /** New access group membership. */ to: { + /** New access group ID. */ acs_access_group_id: string | null } } @@ -15778,21 +15844,27 @@ export interface Routes { error_code: 'failed_to_delete_on_acs_system' } > - /** */ + /** Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system. */ pending_mutations?: | Array< | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'creating' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'deleting' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_user_information' from: { @@ -15807,7 +15879,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_access_schedule' from: { @@ -15820,7 +15894,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_suspension_state' from: { @@ -15831,13 +15907,19 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_group_membership' + /** Old access group membership. */ from: { + /** Old access group ID. */ acs_access_group_id: string | null } + /** New access group membership. */ to: { + /** New access group ID. */ acs_access_group_id: string | null } } @@ -16127,21 +16209,27 @@ export interface Routes { error_code: 'failed_to_delete_on_acs_system' } > - /** */ + /** Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system. */ pending_mutations?: | Array< | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'creating' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'deleting' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_user_information' from: { @@ -16156,7 +16244,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_access_schedule' from: { @@ -16169,7 +16259,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_suspension_state' from: { @@ -16180,13 +16272,19 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_group_membership' + /** Old access group membership. */ from: { + /** Old access group ID. */ acs_access_group_id: string | null } + /** New access group membership. */ to: { + /** New access group ID. */ acs_access_group_id: string | null } } @@ -16334,21 +16432,27 @@ export interface Routes { error_code: 'failed_to_delete_on_acs_system' } > - /** */ + /** Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system. */ pending_mutations?: | Array< | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'creating' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'deleting' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_user_information' from: { @@ -16363,7 +16467,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_access_schedule' from: { @@ -16376,7 +16482,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_suspension_state' from: { @@ -16387,13 +16495,19 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_group_membership' + /** Old access group membership. */ from: { + /** Old access group ID. */ acs_access_group_id: string | null } + /** New access group membership. */ to: { + /** New access group ID. */ acs_access_group_id: string | null } } @@ -20268,6 +20382,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -21382,6 +21537,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -26295,6 +26491,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -27221,6 +27458,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -28303,6 +28581,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -29228,6 +29547,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -35028,6 +35388,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -35953,6 +36354,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -41564,6 +42006,65 @@ export interface Routes { } } } + '/thermostats/activate_weekly_program': { + route: '/thermostats/activate_weekly_program' + method: 'POST' + queryParams: {} + jsonBody: { + /** ID of the thermostat device that the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id?: string | undefined + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id?: string | undefined + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id?: string | undefined + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id?: string | undefined + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id?: string | undefined + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id?: string | undefined + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id?: string | undefined + } + commonParams: {} + formData: {} + jsonResponse: { + thermostat_weekly_program: { + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } + } + } + '/thermostats/clear_weekly_program': { + route: '/thermostats/clear_weekly_program' + method: 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** ID of the thermostat device to clear the weekly program for. */ + device_id: string + } + formData: {} + jsonResponse: {} + } '/thermostats/cool': { route: '/thermostats/cool' method: 'POST' @@ -42794,6 +43295,78 @@ export interface Routes { formData: {} jsonResponse: {} } + '/thermostats/daily_programs/create': { + route: '/thermostats/daily_programs/create' + method: 'POST' + queryParams: {} + jsonBody: { + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + } + commonParams: {} + formData: {} + jsonResponse: { + thermostat_daily_program: { + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + } + } + } + '/thermostats/daily_programs/delete': { + route: '/thermostats/daily_programs/delete' + method: 'DELETE' | 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** ID of the desired thermostat schedule. */ + thermostat_daily_program_id: string + } + formData: {} + jsonResponse: {} + } + '/thermostats/daily_programs/update': { + route: '/thermostats/daily_programs/update' + method: 'PATCH' | 'POST' + queryParams: {} + jsonBody: { + /** ID of the desired thermostat daily program. */ + thermostat_daily_program_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + } + commonParams: {} + formData: {} + jsonResponse: {} + } '/thermostats/delete_climate_preset': { route: '/thermostats/delete_climate_preset' method: 'POST' | 'DELETE' @@ -43484,6 +44057,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -46896,6 +47510,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -47821,6 +48476,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -53305,6 +54001,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -54232,6 +54969,47 @@ export interface Routes { }> } | null) | undefined + thermostat_daily_programs?: + | (Array<{ + /** ID of the thermostat daily program. */ + thermostat_daily_program_id: string + /** ID of the desired thermostat device. */ + device_id: string + /** User-friendly name to identify the thermostat daily program. */ + name?: string | undefined + /** Array of thermostat daily program periods. */ + periods: Array<{ + /** Time at which the thermostat daily program entry starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ + starts_at_time: string + /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the starts_at_time. */ + climate_preset_key: string + }> + /** Date and time at which the thermostat daily program was created. */ + created_at: string + }> | null) + | undefined + thermostat_weekly_program?: + | ({ + /** ID of the thermostat device the weekly program is for. */ + device_id: string + /** ID of the thermostat daily program to run on Mondays. */ + monday_program_id: string | null + /** ID of the thermostat daily program to run on Tuesdays. */ + tuesday_program_id: string | null + /** ID of the thermostat daily program to run on Wednesdays. */ + wednesday_program_id: string | null + /** ID of the thermostat daily program to run on Thursdays. */ + thursday_program_id: string | null + /** ID of the thermostat daily program to run on Fridays. */ + friday_program_id: string | null + /** ID of the thermostat daily program to run on Saturdays. */ + saturday_program_id: string | null + /** ID of the thermostat daily program to run on Sundays. */ + sunday_program_id: string | null + /** Date and time at which the thermostat weekly program was created. */ + created_at: string + } | null) + | undefined min_cooling_set_point_celsius?: number | undefined min_cooling_set_point_fahrenheit?: number | undefined max_cooling_set_point_celsius?: number | undefined @@ -54807,21 +55585,27 @@ export interface Routes { error_code: 'failed_to_delete_on_acs_system' } > - /** */ + /** Pending mutations associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Seam is in the process of pushing these mutations to the integrated access system. */ pending_mutations?: | Array< | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'creating' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'deleting' } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_user_information' from: { @@ -54836,7 +55620,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_access_schedule' from: { @@ -54849,7 +55635,9 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_suspension_state' from: { @@ -54860,13 +55648,19 @@ export interface Routes { } } | { + /** Date and time at which the mutation was created. */ created_at: string + /** Detailed description of the mutation. */ message: string mutation_code: 'updating_group_membership' + /** Old access group membership. */ from: { + /** Old access group ID. */ acs_access_group_id: string | null } + /** New access group membership. */ to: { + /** New access group ID. */ acs_access_group_id: string | null } } diff --git a/src/lib/seam/connect/schemas.ts b/src/lib/seam/connect/schemas.ts index f46ca755..f1f3c1f5 100644 --- a/src/lib/seam/connect/schemas.ts +++ b/src/lib/seam/connect/schemas.ts @@ -22,7 +22,9 @@ export { noise_threshold, pagination, seam_event, + thermostat_daily_program, thermostat_schedule, + thermostat_weekly_program, unmanaged_access_code, unmanaged_acs_access_group, unmanaged_acs_credential,