diff --git a/src/lib/seam/connect/models/access-grants/access-method.ts b/src/lib/seam/connect/models/access-grants/access-method.ts index 5e490261..a8e39158 100644 --- a/src/lib/seam/connect/models/access-grants/access-method.ts +++ b/src/lib/seam/connect/models/access-grants/access-method.ts @@ -23,6 +23,10 @@ export const access_method = z.object({ .datetime() .nullable() .describe('Date and time at which the access method was issued.'), + instant_key_url: z + .string() + .optional() + .describe('URL of instant key for mobile key access methods.'), }).describe(` --- undocumented: Unreleased. 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..ece27d4d 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 @@ -299,23 +299,6 @@ const common_acs_user = z .describe( 'Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`).', ), - latest_desired_state_synced_with_provider_at: z - .string() - .datetime() - .nullable() - .optional().describe(` - --- - undocumented: Only used internally. - --- - `), - is_latest_desired_state_synced_with_provider: z - .boolean() - .nullable() - .optional().describe(` - --- - undocumented: Only used internally. - --- - `), warnings: z .array(acs_users_warnings) .describe( @@ -326,11 +309,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/models/thermostats/thermostat-schedule.ts b/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts index 6f8e6273..07780711 100644 --- a/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts +++ b/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts @@ -27,7 +27,7 @@ export const thermostat_schedule = z.object({ max_override_period_minutes: z .number() .int() - .nonnegative() + .positive() .nullable() .optional() .describe( @@ -39,15 +39,11 @@ export const thermostat_schedule = z.object({ .describe( 'Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', ), - unstable_is_override_allowed: z + is_override_allowed: z .boolean() .optional() .describe( - ` - --- - undocumented: Unstable - --- - Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.`, + "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.", ), ends_at: z .string() diff --git a/src/lib/seam/connect/openapi.ts b/src/lib/seam/connect/openapi.ts index 9b4f79b5..213ec5b1 100644 --- a/src/lib/seam/connect/openapi.ts +++ b/src/lib/seam/connect/openapi.ts @@ -2917,40 +2917,51 @@ export default { type: 'string', }, hid_acs_system_id: { format: 'uuid', type: 'string' }, - is_latest_desired_state_synced_with_provider: { - nullable: true, - type: 'boolean', - 'x-undocumented': 'Only used internally.', - }, is_managed: { enum: [true], type: 'boolean' }, is_suspended: { description: 'Indicates whether the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is currently [suspended](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users).', type: 'boolean', }, - latest_desired_state_synced_with_provider_at: { - format: 'date-time', - nullable: true, - type: 'string', - '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 +2969,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 +2987,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 +3018,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 +3043,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 +3078,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 +3116,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 +3138,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 +3172,6 @@ export default { ], }, type: 'array', - 'x-undocumented': 'Experimental.', }, phone_number: { description: @@ -8413,9 +8465,15 @@ export default { }, type: 'array', }, + is_override_allowed: { + description: + "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.", + type: 'boolean', + }, max_override_period_minutes: { description: "Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).", + exclusiveMinimum: true, minimum: 0, nullable: true, type: 'integer', @@ -8437,12 +8495,6 @@ export default { format: 'uuid', type: 'string', }, - unstable_is_override_allowed: { - description: - "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.", - type: 'boolean', - 'x-undocumented': 'Unstable', - }, }, required: [ 'thermostat_schedule_id', @@ -8810,6 +8862,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', }, @@ -14114,9 +14310,15 @@ export default { }, type: 'array', }, + is_override_allowed: { + description: + "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.", + type: 'boolean', + }, max_override_period_minutes: { description: "Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).", + exclusiveMinimum: true, minimum: 0, nullable: true, type: 'integer', @@ -14138,12 +14340,6 @@ export default { format: 'uuid', type: 'string', }, - unstable_is_override_allowed: { - description: - "Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.", - type: 'boolean', - 'x-undocumented': 'Unstable', - }, }, required: [ 'thermostat_schedule_id', @@ -16293,40 +16489,51 @@ export default { type: 'string', }, hid_acs_system_id: { format: 'uuid', type: 'string' }, - is_latest_desired_state_synced_with_provider: { - nullable: true, - type: 'boolean', - 'x-undocumented': 'Only used internally.', - }, is_managed: { enum: [false], type: 'boolean' }, is_suspended: { description: 'Indicates whether the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is currently [suspended](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users).', type: 'boolean', }, - latest_desired_state_synced_with_provider_at: { - format: 'date-time', - nullable: true, - type: 'string', - '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 +16541,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 +16559,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 +16590,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 +16615,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 +16650,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 +16688,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 +16710,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 +16744,6 @@ export default { ], }, type: 'array', - 'x-undocumented': 'Experimental.', }, phone_number: { description: @@ -18381,6 +18629,79 @@ export default { 'x-title': 'Pull a Backup Access Code', }, }, + '/access_codes/report_device_constraints': { + post: { + description: + 'Allows clients to report supported code length constraints for a SmartThings lock device.', + operationId: 'accessCodesReportDeviceConstraintsPost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + device_id: { + description: 'ID of the device to report constraints for.', + format: 'uuid', + 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'], + 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: '/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: @@ -28647,6 +28968,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 +29381,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: @@ -29388,15 +30278,14 @@ export default { type: 'string', }, is_override_allowed: { - default: false, description: "Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the schedule is active. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).", type: 'boolean', }, max_override_period_minutes: { - default: null, description: "Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).", + exclusiveMinimum: true, minimum: 0, nullable: true, type: 'integer', @@ -29663,6 +30552,7 @@ export default { max_override_period_minutes: { description: "Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).", + exclusiveMinimum: true, minimum: 0, nullable: true, type: 'integer', @@ -29744,6 +30634,7 @@ export default { max_override_period_minutes: { description: "Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).", + exclusiveMinimum: true, minimum: 0, nullable: true, type: 'integer', @@ -31307,6 +32198,11 @@ export default { description: 'Display name of the access method.', type: 'string', }, + instant_key_url: { + description: + 'URL of instant key for mobile key access methods.', + type: 'string', + }, issued_at: { description: 'Date and time at which the access method was issued.', diff --git a/src/lib/seam/connect/route-types.ts b/src/lib/seam/connect/route-types.ts index f1a976db..85e97381 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' @@ -9767,14 +9785,6 @@ export interface Routes { user_identity_email_address?: (string | null) | undefined /** Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). */ user_identity_phone_number?: (string | null) | undefined - /** */ - latest_desired_state_synced_with_provider_at?: - | (string | null) - | undefined - /** */ - is_latest_desired_state_synced_with_provider?: - | (boolean | null) - | undefined /** Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). */ warnings: Array< | { @@ -9837,21 +9847,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 +9882,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 +9897,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 +9910,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 } } @@ -15270,14 +15296,6 @@ export interface Routes { user_identity_email_address?: (string | null) | undefined /** Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). */ user_identity_phone_number?: (string | null) | undefined - /** */ - latest_desired_state_synced_with_provider_at?: - | (string | null) - | undefined - /** */ - is_latest_desired_state_synced_with_provider?: - | (boolean | null) - | undefined /** Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). */ warnings: Array< | { @@ -15340,21 +15358,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 +15393,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 +15408,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 +15421,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 } } @@ -15491,14 +15525,6 @@ export interface Routes { user_identity_email_address?: (string | null) | undefined /** Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). */ user_identity_phone_number?: (string | null) | undefined - /** */ - latest_desired_state_synced_with_provider_at?: - | (string | null) - | undefined - /** */ - is_latest_desired_state_synced_with_provider?: - | (boolean | null) - | undefined /** Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). */ warnings: Array< | { @@ -15561,21 +15587,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 +15622,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 +15637,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 +15650,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 } } @@ -15708,14 +15750,6 @@ export interface Routes { user_identity_email_address?: (string | null) | undefined /** Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). */ user_identity_phone_number?: (string | null) | undefined - /** */ - latest_desired_state_synced_with_provider_at?: - | (string | null) - | undefined - /** */ - is_latest_desired_state_synced_with_provider?: - | (boolean | null) - | undefined /** Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). */ warnings: Array< | { @@ -15778,21 +15812,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 +15847,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 +15862,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 +15875,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 } } @@ -16057,14 +16107,6 @@ export interface Routes { user_identity_email_address?: (string | null) | undefined /** Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). */ user_identity_phone_number?: (string | null) | undefined - /** */ - latest_desired_state_synced_with_provider_at?: - | (string | null) - | undefined - /** */ - is_latest_desired_state_synced_with_provider?: - | (boolean | null) - | undefined /** Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). */ warnings: Array< | { @@ -16127,21 +16169,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 +16204,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 +16219,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 +16232,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 } } @@ -16264,14 +16322,6 @@ export interface Routes { user_identity_email_address?: (string | null) | undefined /** Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). */ user_identity_phone_number?: (string | null) | undefined - /** */ - latest_desired_state_synced_with_provider_at?: - | (string | null) - | undefined - /** */ - is_latest_desired_state_synced_with_provider?: - | (boolean | null) - | undefined /** Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). */ warnings: Array< | { @@ -16334,21 +16384,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 +16419,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 +16434,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 +16447,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 } } @@ -20254,7 +20320,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -20268,6 +20334,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 @@ -21368,7 +21475,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -21382,6 +21489,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 @@ -26281,7 +26429,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -26295,6 +26443,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 @@ -27207,7 +27396,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -27221,6 +27410,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 @@ -28289,7 +28519,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -28303,6 +28533,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 @@ -29214,7 +29485,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -29228,6 +29499,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 @@ -35014,7 +35326,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -35028,6 +35340,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 @@ -35939,7 +36292,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -35953,6 +36306,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 +41958,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 +43247,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' @@ -43470,7 +43995,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -43484,6 +44009,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 @@ -46882,7 +47448,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -46896,6 +47462,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 @@ -47807,7 +48414,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -47821,6 +48428,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 @@ -49293,13 +49941,13 @@ export interface Routes { /** Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the thermostat schedule. */ climate_preset_key: string /** Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions). */ - max_override_period_minutes?: number | null + max_override_period_minutes?: (number | null) | undefined /** Date and time at which the thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Date and time at which the thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the schedule is active. See also [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions). */ - is_override_allowed?: boolean + is_override_allowed?: boolean | undefined } commonParams: {} formData: {} @@ -49319,7 +49967,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -49372,7 +50020,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -49414,7 +50062,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -52194,6 +52842,8 @@ export interface Routes { created_at: string /** Date and time at which the access method was issued. */ issued_at: string | null + /** URL of instant key for mobile key access methods. */ + instant_key_url?: string | undefined }> } } @@ -53291,7 +53941,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -53305,6 +53955,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 @@ -54218,7 +54909,7 @@ export interface Routes { /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ starts_at: string /** Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts. */ - unstable_is_override_allowed?: boolean | undefined + is_override_allowed?: boolean | undefined /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. */ ends_at: string /** Date and time at which the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created. */ @@ -54232,6 +54923,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 @@ -54737,14 +55469,6 @@ export interface Routes { user_identity_email_address?: (string | null) | undefined /** Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). */ user_identity_phone_number?: (string | null) | undefined - /** */ - latest_desired_state_synced_with_provider_at?: - | (string | null) - | undefined - /** */ - is_latest_desired_state_synced_with_provider?: - | (boolean | null) - | undefined /** Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). */ warnings: Array< | { @@ -54807,21 +55531,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 +55566,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 +55581,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 +55594,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,