/* * Automatically generated by codegen/smith.ts. * Do not edit this file or add other files to this directory. */ import { seamApiLtsVersion } from 'lib/lts-version.js' import { getAuthHeadersForClientSessionToken, warnOnInsecureuserIdentifierKey, } from 'lib/seam/connect/auth.js' import { type Client, createClient } from 'lib/seam/connect/client.js' import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, type SeamHttpFromPublishableKeyOptions, SeamHttpInvalidOptionsError, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions, } from 'lib/seam/connect/options.js' import { limitToSeamHttpRequestOptions, parseOptions, } from 'lib/seam/connect/parse-options.js' import type { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js' import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js' import { type AccessCodesCreateMultipleOptions, type AccessCodesCreateMultipleParameters, type AccessCodesCreateMultipleRequest, type AccessCodesCreateOptions, type AccessCodesCreateParameters, type AccessCodesCreateRequest, type AccessCodesDeleteOptions, type AccessCodesDeleteParameters, type AccessCodesDeleteRequest, type AccessCodesGenerateCodeOptions, type AccessCodesGenerateCodeParameters, type AccessCodesGenerateCodeRequest, type AccessCodesGetOptions, type AccessCodesGetParameters, type AccessCodesGetRequest, type AccessCodesListOptions, type AccessCodesListParameters, type AccessCodesListRequest, type AccessCodesPullBackupAccessCodeOptions, type AccessCodesPullBackupAccessCodeParameters, type AccessCodesPullBackupAccessCodeRequest, type AccessCodesReportDeviceConstraintsOptions, type AccessCodesReportDeviceConstraintsParameters, type AccessCodesReportDeviceConstraintsRequest, type AccessCodesUpdateMultipleOptions, type AccessCodesUpdateMultipleParameters, type AccessCodesUpdateMultipleRequest, type AccessCodesUpdateOptions, type AccessCodesUpdateParameters, type AccessCodesUpdateRequest, SeamHttpAccessCodes, } from './access-codes/index.js' import { type AccessCodesSimulateCreateUnmanagedAccessCodeOptions, type AccessCodesSimulateCreateUnmanagedAccessCodeParameters, type AccessCodesSimulateCreateUnmanagedAccessCodeRequest, SeamHttpAccessCodesSimulate, } from './access-codes/simulate/index.js' import { type AccessCodesUnmanagedConvertToManagedOptions, type AccessCodesUnmanagedConvertToManagedParameters, type AccessCodesUnmanagedConvertToManagedRequest, type AccessCodesUnmanagedDeleteOptions, type AccessCodesUnmanagedDeleteParameters, type AccessCodesUnmanagedDeleteRequest, type AccessCodesUnmanagedGetOptions, type AccessCodesUnmanagedGetParameters, type AccessCodesUnmanagedGetRequest, type AccessCodesUnmanagedListOptions, type AccessCodesUnmanagedListParameters, type AccessCodesUnmanagedListRequest, type AccessCodesUnmanagedUpdateOptions, type AccessCodesUnmanagedUpdateParameters, type AccessCodesUnmanagedUpdateRequest, SeamHttpAccessCodesUnmanaged, } from './access-codes/unmanaged/index.js' import { type AccessGrantsCreateOptions, type AccessGrantsCreateParameters, type AccessGrantsCreateRequest, type AccessGrantsDeleteOptions, type AccessGrantsDeleteParameters, type AccessGrantsDeleteRequest, type AccessGrantsGetOptions, type AccessGrantsGetParameters, type AccessGrantsGetRelatedOptions, type AccessGrantsGetRelatedParameters, type AccessGrantsGetRelatedRequest, type AccessGrantsGetRequest, type AccessGrantsListOptions, type AccessGrantsListParameters, type AccessGrantsListRequest, type AccessGrantsRequestAccessMethodsOptions, type AccessGrantsRequestAccessMethodsParameters, type AccessGrantsRequestAccessMethodsRequest, type AccessGrantsUpdateOptions, type AccessGrantsUpdateParameters, type AccessGrantsUpdateRequest, SeamHttpAccessGrants, } from './access-grants/index.js' import { type AccessGrantsUnmanagedGetOptions, type AccessGrantsUnmanagedGetParameters, type AccessGrantsUnmanagedGetRequest, type AccessGrantsUnmanagedListOptions, type AccessGrantsUnmanagedListParameters, type AccessGrantsUnmanagedListRequest, type AccessGrantsUnmanagedUpdateOptions, type AccessGrantsUnmanagedUpdateParameters, type AccessGrantsUnmanagedUpdateRequest, SeamHttpAccessGrantsUnmanaged, } from './access-grants/unmanaged/index.js' import { type AccessMethodsAssignCardOptions, type AccessMethodsAssignCardParameters, type AccessMethodsAssignCardRequest, type AccessMethodsDeleteOptions, type AccessMethodsDeleteParameters, type AccessMethodsDeleteRequest, type AccessMethodsEncodeOptions, type AccessMethodsEncodeParameters, type AccessMethodsEncodeRequest, type AccessMethodsGetOptions, type AccessMethodsGetParameters, type AccessMethodsGetRelatedOptions, type AccessMethodsGetRelatedParameters, type AccessMethodsGetRelatedRequest, type AccessMethodsGetRequest, type AccessMethodsListOptions, type AccessMethodsListParameters, type AccessMethodsListRequest, type AccessMethodsUnlockDoorOptions, type AccessMethodsUnlockDoorParameters, type AccessMethodsUnlockDoorRequest, SeamHttpAccessMethods, } from './access-methods/index.js' import { type AccessMethodsUnmanagedGetOptions, type AccessMethodsUnmanagedGetParameters, type AccessMethodsUnmanagedGetRequest, type AccessMethodsUnmanagedListOptions, type AccessMethodsUnmanagedListParameters, type AccessMethodsUnmanagedListRequest, SeamHttpAccessMethodsUnmanaged, } from './access-methods/unmanaged/index.js' import { type AcsAccessGroupsAddUserOptions, type AcsAccessGroupsAddUserParameters, type AcsAccessGroupsAddUserRequest, type AcsAccessGroupsDeleteOptions, type AcsAccessGroupsDeleteParameters, type AcsAccessGroupsDeleteRequest, type AcsAccessGroupsGetOptions, type AcsAccessGroupsGetParameters, type AcsAccessGroupsGetRequest, type AcsAccessGroupsListAccessibleEntrancesOptions, type AcsAccessGroupsListAccessibleEntrancesParameters, type AcsAccessGroupsListAccessibleEntrancesRequest, type AcsAccessGroupsListOptions, type AcsAccessGroupsListParameters, type AcsAccessGroupsListRequest, type AcsAccessGroupsListUsersOptions, type AcsAccessGroupsListUsersParameters, type AcsAccessGroupsListUsersRequest, type AcsAccessGroupsRemoveUserOptions, type AcsAccessGroupsRemoveUserParameters, type AcsAccessGroupsRemoveUserRequest, SeamHttpAcsAccessGroups, } from './acs/access-groups/index.js' import { type AcsCredentialsAssignOptions, type AcsCredentialsAssignParameters, type AcsCredentialsAssignRequest, type AcsCredentialsCreateOptions, type AcsCredentialsCreateParameters, type AcsCredentialsCreateRequest, type AcsCredentialsDeleteOptions, type AcsCredentialsDeleteParameters, type AcsCredentialsDeleteRequest, type AcsCredentialsGetOptions, type AcsCredentialsGetParameters, type AcsCredentialsGetRequest, type AcsCredentialsListAccessibleEntrancesOptions, type AcsCredentialsListAccessibleEntrancesParameters, type AcsCredentialsListAccessibleEntrancesRequest, type AcsCredentialsListOptions, type AcsCredentialsListParameters, type AcsCredentialsListRequest, type AcsCredentialsUnassignOptions, type AcsCredentialsUnassignParameters, type AcsCredentialsUnassignRequest, type AcsCredentialsUpdateOptions, type AcsCredentialsUpdateParameters, type AcsCredentialsUpdateRequest, SeamHttpAcsCredentials, } from './acs/credentials/index.js' import { type AcsEncodersEncodeCredentialOptions, type AcsEncodersEncodeCredentialParameters, type AcsEncodersEncodeCredentialRequest, type AcsEncodersGetOptions, type AcsEncodersGetParameters, type AcsEncodersGetRequest, type AcsEncodersListOptions, type AcsEncodersListParameters, type AcsEncodersListRequest, type AcsEncodersScanCredentialOptions, type AcsEncodersScanCredentialParameters, type AcsEncodersScanCredentialRequest, type AcsEncodersScanToAssignCredentialOptions, type AcsEncodersScanToAssignCredentialParameters, type AcsEncodersScanToAssignCredentialRequest, SeamHttpAcsEncoders, } from './acs/encoders/index.js' import { type AcsEncodersSimulateNextCredentialEncodeWillFailOptions, type AcsEncodersSimulateNextCredentialEncodeWillFailParameters, type AcsEncodersSimulateNextCredentialEncodeWillFailRequest, type AcsEncodersSimulateNextCredentialEncodeWillSucceedOptions, type AcsEncodersSimulateNextCredentialEncodeWillSucceedParameters, type AcsEncodersSimulateNextCredentialEncodeWillSucceedRequest, type AcsEncodersSimulateNextCredentialScanWillFailOptions, type AcsEncodersSimulateNextCredentialScanWillFailParameters, type AcsEncodersSimulateNextCredentialScanWillFailRequest, type AcsEncodersSimulateNextCredentialScanWillSucceedOptions, type AcsEncodersSimulateNextCredentialScanWillSucceedParameters, type AcsEncodersSimulateNextCredentialScanWillSucceedRequest, SeamHttpAcsEncodersSimulate, } from './acs/encoders/simulate/index.js' import { type AcsEntrancesGetOptions, type AcsEntrancesGetParameters, type AcsEntrancesGetRequest, type AcsEntrancesGrantAccessOptions, type AcsEntrancesGrantAccessParameters, type AcsEntrancesGrantAccessRequest, type AcsEntrancesListCredentialsWithAccessOptions, type AcsEntrancesListCredentialsWithAccessParameters, type AcsEntrancesListCredentialsWithAccessRequest, type AcsEntrancesListOptions, type AcsEntrancesListParameters, type AcsEntrancesListRequest, type AcsEntrancesUnlockOptions, type AcsEntrancesUnlockParameters, type AcsEntrancesUnlockRequest, SeamHttpAcsEntrances, } from './acs/entrances/index.js' import { type AcsSystemsGetOptions, type AcsSystemsGetParameters, type AcsSystemsGetRequest, type AcsSystemsListCompatibleCredentialManagerAcsSystemsOptions, type AcsSystemsListCompatibleCredentialManagerAcsSystemsParameters, type AcsSystemsListCompatibleCredentialManagerAcsSystemsRequest, type AcsSystemsListOptions, type AcsSystemsListParameters, type AcsSystemsListRequest, type AcsSystemsReportDevicesOptions, type AcsSystemsReportDevicesParameters, type AcsSystemsReportDevicesRequest, SeamHttpAcsSystems, } from './acs/systems/index.js' import { type AcsUsersAddToAccessGroupOptions, type AcsUsersAddToAccessGroupParameters, type AcsUsersAddToAccessGroupRequest, type AcsUsersCreateOptions, type AcsUsersCreateParameters, type AcsUsersCreateRequest, type AcsUsersDeleteOptions, type AcsUsersDeleteParameters, type AcsUsersDeleteRequest, type AcsUsersGetOptions, type AcsUsersGetParameters, type AcsUsersGetRequest, type AcsUsersListAccessibleEntrancesOptions, type AcsUsersListAccessibleEntrancesParameters, type AcsUsersListAccessibleEntrancesRequest, type AcsUsersListOptions, type AcsUsersListParameters, type AcsUsersListRequest, type AcsUsersRemoveFromAccessGroupOptions, type AcsUsersRemoveFromAccessGroupParameters, type AcsUsersRemoveFromAccessGroupRequest, type AcsUsersRevokeAccessToAllEntrancesOptions, type AcsUsersRevokeAccessToAllEntrancesParameters, type AcsUsersRevokeAccessToAllEntrancesRequest, type AcsUsersSuspendOptions, type AcsUsersSuspendParameters, type AcsUsersSuspendRequest, type AcsUsersUnsuspendOptions, type AcsUsersUnsuspendParameters, type AcsUsersUnsuspendRequest, type AcsUsersUpdateOptions, type AcsUsersUpdateParameters, type AcsUsersUpdateRequest, SeamHttpAcsUsers, } from './acs/users/index.js' import { type ActionAttemptsGetOptions, type ActionAttemptsGetParameters, type ActionAttemptsGetRequest, type ActionAttemptsListOptions, type ActionAttemptsListParameters, type ActionAttemptsListRequest, SeamHttpActionAttempts, } from './action-attempts/index.js' import { type ClientSessionsCreateOptions, type ClientSessionsCreateParameters, type ClientSessionsCreateRequest, type ClientSessionsDeleteOptions, type ClientSessionsDeleteParameters, type ClientSessionsDeleteRequest, type ClientSessionsGetOptions, type ClientSessionsGetOrCreateOptions, type ClientSessionsGetOrCreateParameters, type ClientSessionsGetOrCreateRequest, type ClientSessionsGetParameters, type ClientSessionsGetRequest, type ClientSessionsGrantAccessOptions, type ClientSessionsGrantAccessParameters, type ClientSessionsGrantAccessRequest, type ClientSessionsListOptions, type ClientSessionsListParameters, type ClientSessionsListRequest, type ClientSessionsRevokeOptions, type ClientSessionsRevokeParameters, type ClientSessionsRevokeRequest, SeamHttpClientSessions, } from './client-sessions/index.js' import { type ConnectWebviewsCreateOptions, type ConnectWebviewsCreateParameters, type ConnectWebviewsCreateRequest, type ConnectWebviewsDeleteOptions, type ConnectWebviewsDeleteParameters, type ConnectWebviewsDeleteRequest, type ConnectWebviewsGetOptions, type ConnectWebviewsGetParameters, type ConnectWebviewsGetRequest, type ConnectWebviewsListOptions, type ConnectWebviewsListParameters, type ConnectWebviewsListRequest, SeamHttpConnectWebviews, } from './connect-webviews/index.js' import { type ConnectedAccountsDeleteOptions, type ConnectedAccountsDeleteParameters, type ConnectedAccountsDeleteRequest, type ConnectedAccountsGetOptions, type ConnectedAccountsGetParameters, type ConnectedAccountsGetRequest, type ConnectedAccountsListOptions, type ConnectedAccountsListParameters, type ConnectedAccountsListRequest, type ConnectedAccountsSyncOptions, type ConnectedAccountsSyncParameters, type ConnectedAccountsSyncRequest, type ConnectedAccountsUpdateOptions, type ConnectedAccountsUpdateParameters, type ConnectedAccountsUpdateRequest, SeamHttpConnectedAccounts, } from './connected-accounts/index.js' import { type ConnectedAccountsSimulateDisconnectOptions, type ConnectedAccountsSimulateDisconnectParameters, type ConnectedAccountsSimulateDisconnectRequest, SeamHttpConnectedAccountsSimulate, } from './connected-accounts/simulate/index.js' import { type CustomersCreatePortalOptions, type CustomersCreatePortalParameters, type CustomersCreatePortalRequest, type CustomersDeleteDataOptions, type CustomersDeleteDataParameters, type CustomersDeleteDataRequest, type CustomersPushDataOptions, type CustomersPushDataParameters, type CustomersPushDataRequest, SeamHttpCustomers, } from './customers/index.js' import { type DevicesGetOptions, type DevicesGetParameters, type DevicesGetRequest, type DevicesListDeviceProvidersOptions, type DevicesListDeviceProvidersParameters, type DevicesListDeviceProvidersRequest, type DevicesListOptions, type DevicesListParameters, type DevicesListRequest, type DevicesReportProviderMetadataOptions, type DevicesReportProviderMetadataParameters, type DevicesReportProviderMetadataRequest, type DevicesUpdateOptions, type DevicesUpdateParameters, type DevicesUpdateRequest, SeamHttpDevices, } from './devices/index.js' import { type DevicesSimulateConnectOptions, type DevicesSimulateConnectParameters, type DevicesSimulateConnectRequest, type DevicesSimulateConnectToHubOptions, type DevicesSimulateConnectToHubParameters, type DevicesSimulateConnectToHubRequest, type DevicesSimulateDisconnectFromHubOptions, type DevicesSimulateDisconnectFromHubParameters, type DevicesSimulateDisconnectFromHubRequest, type DevicesSimulateDisconnectOptions, type DevicesSimulateDisconnectParameters, type DevicesSimulateDisconnectRequest, type DevicesSimulatePaidSubscriptionOptions, type DevicesSimulatePaidSubscriptionParameters, type DevicesSimulatePaidSubscriptionRequest, type DevicesSimulateRemoveOptions, type DevicesSimulateRemoveParameters, type DevicesSimulateRemoveRequest, SeamHttpDevicesSimulate, } from './devices/simulate/index.js' import { type DevicesUnmanagedGetOptions, type DevicesUnmanagedGetParameters, type DevicesUnmanagedGetRequest, type DevicesUnmanagedListOptions, type DevicesUnmanagedListParameters, type DevicesUnmanagedListRequest, type DevicesUnmanagedUpdateOptions, type DevicesUnmanagedUpdateParameters, type DevicesUnmanagedUpdateRequest, SeamHttpDevicesUnmanaged, } from './devices/unmanaged/index.js' import { type EventsGetOptions, type EventsGetParameters, type EventsGetRequest, type EventsListOptions, type EventsListParameters, type EventsListRequest, SeamHttpEvents, } from './events/index.js' import { type InstantKeysDeleteOptions, type InstantKeysDeleteParameters, type InstantKeysDeleteRequest, type InstantKeysGetOptions, type InstantKeysGetParameters, type InstantKeysGetRequest, type InstantKeysListOptions, type InstantKeysListParameters, type InstantKeysListRequest, SeamHttpInstantKeys, } from './instant-keys/index.js' import { type LocksConfigureAutoLockOptions, type LocksConfigureAutoLockParameters, type LocksConfigureAutoLockRequest, type LocksGetOptions, type LocksGetParameters, type LocksGetRequest, type LocksListOptions, type LocksListParameters, type LocksListRequest, type LocksLockDoorOptions, type LocksLockDoorParameters, type LocksLockDoorRequest, type LocksUnlockDoorOptions, type LocksUnlockDoorParameters, type LocksUnlockDoorRequest, SeamHttpLocks, } from './locks/index.js' import { type LocksSimulateKeypadCodeEntryOptions, type LocksSimulateKeypadCodeEntryParameters, type LocksSimulateKeypadCodeEntryRequest, type LocksSimulateManualLockViaKeypadOptions, type LocksSimulateManualLockViaKeypadParameters, type LocksSimulateManualLockViaKeypadRequest, SeamHttpLocksSimulate, } from './locks/simulate/index.js' import { type NoiseSensorsListOptions, type NoiseSensorsListParameters, type NoiseSensorsListRequest, SeamHttpNoiseSensors, } from './noise-sensors/index.js' import { type NoiseSensorsNoiseThresholdsCreateOptions, type NoiseSensorsNoiseThresholdsCreateParameters, type NoiseSensorsNoiseThresholdsCreateRequest, type NoiseSensorsNoiseThresholdsDeleteOptions, type NoiseSensorsNoiseThresholdsDeleteParameters, type NoiseSensorsNoiseThresholdsDeleteRequest, type NoiseSensorsNoiseThresholdsGetOptions, type NoiseSensorsNoiseThresholdsGetParameters, type NoiseSensorsNoiseThresholdsGetRequest, type NoiseSensorsNoiseThresholdsListOptions, type NoiseSensorsNoiseThresholdsListParameters, type NoiseSensorsNoiseThresholdsListRequest, type NoiseSensorsNoiseThresholdsUpdateOptions, type NoiseSensorsNoiseThresholdsUpdateParameters, type NoiseSensorsNoiseThresholdsUpdateRequest, SeamHttpNoiseSensorsNoiseThresholds, } from './noise-sensors/noise-thresholds/index.js' import { type NoiseSensorsSimulateTriggerNoiseThresholdOptions, type NoiseSensorsSimulateTriggerNoiseThresholdParameters, type NoiseSensorsSimulateTriggerNoiseThresholdRequest, SeamHttpNoiseSensorsSimulate, } from './noise-sensors/simulate/index.js' import { type PhonesDeactivateOptions, type PhonesDeactivateParameters, type PhonesDeactivateRequest, type PhonesGetOptions, type PhonesGetParameters, type PhonesGetRequest, type PhonesListOptions, type PhonesListParameters, type PhonesListRequest, SeamHttpPhones, } from './phones/index.js' import { type PhonesSimulateCreateSandboxPhoneOptions, type PhonesSimulateCreateSandboxPhoneParameters, type PhonesSimulateCreateSandboxPhoneRequest, SeamHttpPhonesSimulate, } from './phones/simulate/index.js' import { SeamHttpSpaces, type SpacesAddAcsEntrancesOptions, type SpacesAddAcsEntrancesParameters, type SpacesAddAcsEntrancesRequest, type SpacesAddConnectedAccountOptions, type SpacesAddConnectedAccountParameters, type SpacesAddConnectedAccountRequest, type SpacesAddDevicesOptions, type SpacesAddDevicesParameters, type SpacesAddDevicesRequest, type SpacesCreateOptions, type SpacesCreateParameters, type SpacesCreateRequest, type SpacesDeleteOptions, type SpacesDeleteParameters, type SpacesDeleteRequest, type SpacesGetOptions, type SpacesGetParameters, type SpacesGetRelatedOptions, type SpacesGetRelatedParameters, type SpacesGetRelatedRequest, type SpacesGetRequest, type SpacesListOptions, type SpacesListParameters, type SpacesListRequest, type SpacesRemoveAcsEntrancesOptions, type SpacesRemoveAcsEntrancesParameters, type SpacesRemoveAcsEntrancesRequest, type SpacesRemoveConnectedAccountOptions, type SpacesRemoveConnectedAccountParameters, type SpacesRemoveConnectedAccountRequest, type SpacesRemoveDevicesOptions, type SpacesRemoveDevicesParameters, type SpacesRemoveDevicesRequest, type SpacesUpdateOptions, type SpacesUpdateParameters, type SpacesUpdateRequest, } from './spaces/index.js' import { SeamHttpThermostatsDailyPrograms, type ThermostatsDailyProgramsCreateOptions, type ThermostatsDailyProgramsCreateParameters, type ThermostatsDailyProgramsCreateRequest, type ThermostatsDailyProgramsDeleteOptions, type ThermostatsDailyProgramsDeleteParameters, type ThermostatsDailyProgramsDeleteRequest, type ThermostatsDailyProgramsUpdateOptions, type ThermostatsDailyProgramsUpdateParameters, type ThermostatsDailyProgramsUpdateRequest, } from './thermostats/daily-programs/index.js' import { SeamHttpThermostats, type ThermostatsActivateClimatePresetOptions, type ThermostatsActivateClimatePresetParameters, type ThermostatsActivateClimatePresetRequest, type ThermostatsCoolOptions, type ThermostatsCoolParameters, type ThermostatsCoolRequest, type ThermostatsCreateClimatePresetOptions, type ThermostatsCreateClimatePresetParameters, type ThermostatsCreateClimatePresetRequest, type ThermostatsDeleteClimatePresetOptions, type ThermostatsDeleteClimatePresetParameters, type ThermostatsDeleteClimatePresetRequest, type ThermostatsHeatCoolOptions, type ThermostatsHeatCoolParameters, type ThermostatsHeatCoolRequest, type ThermostatsHeatOptions, type ThermostatsHeatParameters, type ThermostatsHeatRequest, type ThermostatsListOptions, type ThermostatsListParameters, type ThermostatsListRequest, type ThermostatsOffOptions, type ThermostatsOffParameters, type ThermostatsOffRequest, type ThermostatsSetFallbackClimatePresetOptions, type ThermostatsSetFallbackClimatePresetParameters, type ThermostatsSetFallbackClimatePresetRequest, type ThermostatsSetFanModeOptions, type ThermostatsSetFanModeParameters, type ThermostatsSetFanModeRequest, type ThermostatsSetHvacModeOptions, type ThermostatsSetHvacModeParameters, type ThermostatsSetHvacModeRequest, type ThermostatsSetTemperatureThresholdOptions, type ThermostatsSetTemperatureThresholdParameters, type ThermostatsSetTemperatureThresholdRequest, type ThermostatsUpdateClimatePresetOptions, type ThermostatsUpdateClimatePresetParameters, type ThermostatsUpdateClimatePresetRequest, type ThermostatsUpdateWeeklyProgramOptions, type ThermostatsUpdateWeeklyProgramParameters, type ThermostatsUpdateWeeklyProgramRequest, } from './thermostats/index.js' import { SeamHttpThermostatsSchedules, type ThermostatsSchedulesCreateOptions, type ThermostatsSchedulesCreateParameters, type ThermostatsSchedulesCreateRequest, type ThermostatsSchedulesDeleteOptions, type ThermostatsSchedulesDeleteParameters, type ThermostatsSchedulesDeleteRequest, type ThermostatsSchedulesGetOptions, type ThermostatsSchedulesGetParameters, type ThermostatsSchedulesGetRequest, type ThermostatsSchedulesListOptions, type ThermostatsSchedulesListParameters, type ThermostatsSchedulesListRequest, type ThermostatsSchedulesUpdateOptions, type ThermostatsSchedulesUpdateParameters, type ThermostatsSchedulesUpdateRequest, } from './thermostats/schedules/index.js' import { SeamHttpThermostatsSimulate, type ThermostatsSimulateHvacModeAdjustedOptions, type ThermostatsSimulateHvacModeAdjustedParameters, type ThermostatsSimulateHvacModeAdjustedRequest, type ThermostatsSimulateTemperatureReachedOptions, type ThermostatsSimulateTemperatureReachedParameters, type ThermostatsSimulateTemperatureReachedRequest, } from './thermostats/simulate/index.js' import { SeamHttpUserIdentities, type UserIdentitiesAddAcsUserOptions, type UserIdentitiesAddAcsUserParameters, type UserIdentitiesAddAcsUserRequest, type UserIdentitiesCreateOptions, type UserIdentitiesCreateParameters, type UserIdentitiesCreateRequest, type UserIdentitiesDeleteOptions, type UserIdentitiesDeleteParameters, type UserIdentitiesDeleteRequest, type UserIdentitiesGenerateInstantKeyOptions, type UserIdentitiesGenerateInstantKeyParameters, type UserIdentitiesGenerateInstantKeyRequest, type UserIdentitiesGetOptions, type UserIdentitiesGetParameters, type UserIdentitiesGetRequest, type UserIdentitiesGrantAccessToDeviceOptions, type UserIdentitiesGrantAccessToDeviceParameters, type UserIdentitiesGrantAccessToDeviceRequest, type UserIdentitiesListAccessibleDevicesOptions, type UserIdentitiesListAccessibleDevicesParameters, type UserIdentitiesListAccessibleDevicesRequest, type UserIdentitiesListAccessibleEntrancesOptions, type UserIdentitiesListAccessibleEntrancesParameters, type UserIdentitiesListAccessibleEntrancesRequest, type UserIdentitiesListAcsSystemsOptions, type UserIdentitiesListAcsSystemsParameters, type UserIdentitiesListAcsSystemsRequest, type UserIdentitiesListAcsUsersOptions, type UserIdentitiesListAcsUsersParameters, type UserIdentitiesListAcsUsersRequest, type UserIdentitiesListOptions, type UserIdentitiesListParameters, type UserIdentitiesListRequest, type UserIdentitiesRemoveAcsUserOptions, type UserIdentitiesRemoveAcsUserParameters, type UserIdentitiesRemoveAcsUserRequest, type UserIdentitiesRevokeAccessToDeviceOptions, type UserIdentitiesRevokeAccessToDeviceParameters, type UserIdentitiesRevokeAccessToDeviceRequest, type UserIdentitiesUpdateOptions, type UserIdentitiesUpdateParameters, type UserIdentitiesUpdateRequest, } from './user-identities/index.js' import { SeamHttpUserIdentitiesUnmanaged, type UserIdentitiesUnmanagedGetOptions, type UserIdentitiesUnmanagedGetParameters, type UserIdentitiesUnmanagedGetRequest, type UserIdentitiesUnmanagedListOptions, type UserIdentitiesUnmanagedListParameters, type UserIdentitiesUnmanagedListRequest, type UserIdentitiesUnmanagedUpdateOptions, type UserIdentitiesUnmanagedUpdateParameters, type UserIdentitiesUnmanagedUpdateRequest, } from './user-identities/unmanaged/index.js' import { SeamHttpWebhooks, type WebhooksCreateOptions, type WebhooksCreateParameters, type WebhooksCreateRequest, type WebhooksDeleteOptions, type WebhooksDeleteParameters, type WebhooksDeleteRequest, type WebhooksGetOptions, type WebhooksGetParameters, type WebhooksGetRequest, type WebhooksListOptions, type WebhooksListParameters, type WebhooksListRequest, type WebhooksUpdateOptions, type WebhooksUpdateParameters, type WebhooksUpdateRequest, } from './webhooks/index.js' import { SeamHttpWorkspaces, type WorkspacesCreateOptions, type WorkspacesCreateParameters, type WorkspacesCreateRequest, type WorkspacesGetOptions, type WorkspacesGetParameters, type WorkspacesGetRequest, type WorkspacesListOptions, type WorkspacesListParameters, type WorkspacesListRequest, type WorkspacesResetSandboxOptions, type WorkspacesResetSandboxParameters, type WorkspacesResetSandboxRequest, type WorkspacesUpdateOptions, type WorkspacesUpdateParameters, type WorkspacesUpdateRequest, } from './workspaces/index.js' export class SeamHttpEndpoints { client: Client readonly defaults: Required readonly ltsVersion = seamApiLtsVersion static ltsVersion = seamApiLtsVersion constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) { const options = parseOptions(apiKeyOrOptions) this.client = 'client' in options ? options.client : createClient(options) this.defaults = limitToSeamHttpRequestOptions(options) } static fromClient( client: SeamHttpOptionsWithClient['client'], options: Omit = {}, ): SeamHttpEndpoints { const constructorOptions = { ...options, client } if (!isSeamHttpOptionsWithClient(constructorOptions)) { throw new SeamHttpInvalidOptionsError('Missing client') } return new SeamHttpEndpoints(constructorOptions) } static fromApiKey( apiKey: SeamHttpOptionsWithApiKey['apiKey'], options: Omit = {}, ): SeamHttpEndpoints { const constructorOptions = { ...options, apiKey } if (!isSeamHttpOptionsWithApiKey(constructorOptions)) { throw new SeamHttpInvalidOptionsError('Missing apiKey') } return new SeamHttpEndpoints(constructorOptions) } static fromClientSessionToken( clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options: Omit< SeamHttpOptionsWithClientSessionToken, 'clientSessionToken' > = {}, ): SeamHttpEndpoints { const constructorOptions = { ...options, clientSessionToken } if (!isSeamHttpOptionsWithClientSessionToken(constructorOptions)) { throw new SeamHttpInvalidOptionsError('Missing clientSessionToken') } return new SeamHttpEndpoints(constructorOptions) } static async fromPublishableKey( publishableKey: string, userIdentifierKey: string, options: SeamHttpFromPublishableKeyOptions = {}, ): Promise { warnOnInsecureuserIdentifierKey(userIdentifierKey) const clientOptions = parseOptions({ ...options, publishableKey }) if (isSeamHttpOptionsWithClient(clientOptions)) { throw new SeamHttpInvalidOptionsError( 'The client option cannot be used with SeamHttpEndpoints.fromPublishableKey', ) } const client = createClient(clientOptions) const clientSessions = SeamHttpClientSessions.fromClient(client) const { token } = await clientSessions.getOrCreate({ user_identifier_key: userIdentifierKey, }) return SeamHttpEndpoints.fromClientSessionToken(token, options) } static fromConsoleSessionToken( consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options: Omit< SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId' > = {}, ): SeamHttpEndpoints { const constructorOptions = { ...options, consoleSessionToken, workspaceId } if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) { throw new SeamHttpInvalidOptionsError( 'Missing consoleSessionToken or workspaceId', ) } return new SeamHttpEndpoints(constructorOptions) } static fromPersonalAccessToken( personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options: Omit< SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId' > = {}, ): SeamHttpEndpoints { const constructorOptions = { ...options, personalAccessToken, workspaceId } if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) { throw new SeamHttpInvalidOptionsError( 'Missing personalAccessToken or workspaceId', ) } return new SeamHttpEndpoints(constructorOptions) } createPaginator( request: SeamHttpRequest, ): SeamPaginator { return new SeamPaginator(this, request) } async updateClientSessionToken( clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], ): Promise { const { headers } = this.client.defaults const authHeaders = getAuthHeadersForClientSessionToken({ clientSessionToken, }) for (const key of Object.keys(authHeaders)) { if (headers[key] == null) { throw new Error( 'Cannot update a clientSessionToken on a client created without a clientSessionToken', ) } } this.client.defaults.headers = { ...headers, ...authHeaders } const clientSessions = SeamHttpClientSessions.fromClient(this.client) await clientSessions.get() } /** * Creates a new [access code](https://docs.seam.co/low-level-apis/access-codes). For granting access, we recommend [Access Grants](https://docs.seam.co/use-cases/granting-access) instead: they work across both standalone smart locks and access control systems and manage the underlying codes for you. Use this low-level endpoint only when you need direct control over a code on a single device, such as setting a custom PIN value. */ get '/access_codes/create'(): ( parameters: AccessCodesCreateParameters, options?: AccessCodesCreateOptions, ) => AccessCodesCreateRequest { const { client, defaults } = this return function accessCodesCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.create(...args) } } /** * Creates new [access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes) that share a common code across multiple devices. * * Users with more than one door lock in a property may want to create groups of linked access codes, all of which have the same code (PIN). For example, a short-term rental host may want to provide guests the same PIN for both a front door lock and a back door lock. * * If you specify a custom code, Seam assigns this custom code to each of the resulting access codes. However, in this case, Seam does not link these access codes together with a `common_code_key`. That is, `common_code_key` remains null for these access codes. * * If you want to change these access codes that are not linked by a `common_code_key`, you cannot use `/access_codes/update_multiple`. However, you can update each of these access codes individually, using `/access_codes/update`. * * See also [Creating and Updating Multiple Linked Access Codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/creating-and-updating-multiple-linked-access-codes). * * For granting a person access to a space, [Access Grants](https://docs.seam.co/use-cases/granting-access) are the default and recommended approach and work across both standalone smart locks and access systems. Use the lower-level Access Codes API directly only when you specifically need to manage individual PIN codes. */ get '/access_codes/create_multiple'(): ( parameters: AccessCodesCreateMultipleParameters, options?: AccessCodesCreateMultipleOptions, ) => AccessCodesCreateMultipleRequest { const { client, defaults } = this return function accessCodesCreateMultiple( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.createMultiple(...args) } } /** * Deletes an [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes). */ get '/access_codes/delete'(): ( parameters: AccessCodesDeleteParameters, options?: AccessCodesDeleteOptions, ) => AccessCodesDeleteRequest { const { client, defaults } = this return function accessCodesDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.delete(...args) } } /** * Generates a code for an [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes), given a device ID. */ get '/access_codes/generate_code'(): ( parameters: AccessCodesGenerateCodeParameters, options?: AccessCodesGenerateCodeOptions, ) => AccessCodesGenerateCodeRequest { const { client, defaults } = this return function accessCodesGenerateCode( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.generateCode(...args) } } /** * Returns a specified [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes). * * You must specify either `access_code_id` or both `device_id` and `code`. */ get '/access_codes/get'(): ( parameters?: AccessCodesGetParameters, options?: AccessCodesGetOptions, ) => AccessCodesGetRequest { const { client, defaults } = this return function accessCodesGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes). * * Specify `device_id`, `access_code_ids`, `access_method_id`, `access_grant_id`, or `access_grant_key`. */ get '/access_codes/list'(): ( parameters?: AccessCodesListParameters, options?: AccessCodesListOptions, ) => AccessCodesListRequest { const { client, defaults } = this return function accessCodesList( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.list(...args) } } /** * Retrieves a backup access code for an [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes). See also [Managing Backup Access Codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/backup-access-codes). * * A backup access code pool is a collection of pre-programmed access codes stored on a device, ready for use. These codes are programmed in addition to the regular access codes on Seam, serving as a safety net for any issues with the primary codes. If there's ever a complication with a primary access code—be it due to intermittent connectivity, manual removal from a device, or provider outages—a backup code can be retrieved. Its end time can then be adjusted to align with the original code, facilitating seamless and uninterrupted access. * * You can pull a backup access code from the pool at any time. These backup codes are guaranteed to work immediately and automatically programmed to be removed from the device after the access code ends. * * You can only pull backup access codes for time-bound access codes. * * Before pulling a backup access code, make sure that the device's `properties.supports_backup_access_code_pool` is `true`. Then, to activate the backup pool, set `use_backup_access_code_pool` to `true` when creating an access code. */ get '/access_codes/pull_backup_access_code'(): ( parameters: AccessCodesPullBackupAccessCodeParameters, options?: AccessCodesPullBackupAccessCodeOptions, ) => AccessCodesPullBackupAccessCodeRequest { const { client, defaults } = this return function accessCodesPullBackupAccessCode( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.pullBackupAccessCode(...args) } } /** * Enables you to report access code-related constraints for a device. Currently, supports reporting supported code length constraints for SmartThings devices. * * Specify either `supported_code_lengths` or `min_code_length`/`max_code_length`. */ get '/access_codes/report_device_constraints'(): ( parameters: AccessCodesReportDeviceConstraintsParameters, options?: AccessCodesReportDeviceConstraintsOptions, ) => AccessCodesReportDeviceConstraintsRequest { const { client, defaults } = this return function accessCodesReportDeviceConstraints( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.reportDeviceConstraints(...args) } } /** * Updates a specified active or upcoming [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes). * * See also [Modifying Access Codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/modifying-access-codes). */ get '/access_codes/update'(): ( parameters: AccessCodesUpdateParameters, options?: AccessCodesUpdateOptions, ) => AccessCodesUpdateRequest { const { client, defaults } = this return function accessCodesUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.update(...args) } } /** * Updates [access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes) that share a common code across multiple devices. * * Specify the `common_code_key` to identify the set of access codes that you want to update. * * See also [Update Linked Access Codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/creating-and-updating-multiple-linked-access-codes#update-linked-access-codes). */ get '/access_codes/update_multiple'(): ( parameters: AccessCodesUpdateMultipleParameters, options?: AccessCodesUpdateMultipleOptions, ) => AccessCodesUpdateMultipleRequest { const { client, defaults } = this return function accessCodesUpdateMultiple( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodes.fromClient(client, defaults) return seam.updateMultiple(...args) } } /** * Simulates the creation of an [unmanaged access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) in a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/access_codes/simulate/create_unmanaged_access_code'(): ( parameters: AccessCodesSimulateCreateUnmanagedAccessCodeParameters, options?: AccessCodesSimulateCreateUnmanagedAccessCodeOptions, ) => AccessCodesSimulateCreateUnmanagedAccessCodeRequest { const { client, defaults } = this return function accessCodesSimulateCreateUnmanagedAccessCode( ...args: Parameters< SeamHttpAccessCodesSimulate['createUnmanagedAccessCode'] > ): ReturnType { const seam = SeamHttpAccessCodesSimulate.fromClient(client, defaults) return seam.createUnmanagedAccessCode(...args) } } /** * Converts an [unmanaged access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) to an [access code managed through Seam](https://docs.seam.co/low-level-apis/smart-locks/access-codes). * * An unmanaged access code has a limited set of operations that you can perform on it. Once you convert an unmanaged access code to a managed access code, the full set of access code operations and lifecycle events becomes available for it. * * Note that not all device providers support converting an unmanaged access code to a managed access code. */ get '/access_codes/unmanaged/convert_to_managed'(): ( parameters: AccessCodesUnmanagedConvertToManagedParameters, options?: AccessCodesUnmanagedConvertToManagedOptions, ) => AccessCodesUnmanagedConvertToManagedRequest { const { client, defaults } = this return function accessCodesUnmanagedConvertToManaged( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodesUnmanaged.fromClient(client, defaults) return seam.convertToManaged(...args) } } /** * Deletes an [unmanaged access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes). */ get '/access_codes/unmanaged/delete'(): ( parameters: AccessCodesUnmanagedDeleteParameters, options?: AccessCodesUnmanagedDeleteOptions, ) => AccessCodesUnmanagedDeleteRequest { const { client, defaults } = this return function accessCodesUnmanagedDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodesUnmanaged.fromClient(client, defaults) return seam.delete(...args) } } /** * Returns a specified [unmanaged access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes). * * You must specify either `access_code_id` or both `device_id` and `code`. */ get '/access_codes/unmanaged/get'(): ( parameters?: AccessCodesUnmanagedGetParameters, options?: AccessCodesUnmanagedGetOptions, ) => AccessCodesUnmanagedGetRequest { const { client, defaults } = this return function accessCodesUnmanagedGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodesUnmanaged.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [unmanaged access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes). */ get '/access_codes/unmanaged/list'(): ( parameters: AccessCodesUnmanagedListParameters, options?: AccessCodesUnmanagedListOptions, ) => AccessCodesUnmanagedListRequest { const { client, defaults } = this return function accessCodesUnmanagedList( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodesUnmanaged.fromClient(client, defaults) return seam.list(...args) } } /** * Updates a specified [unmanaged access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes). */ get '/access_codes/unmanaged/update'(): ( parameters: AccessCodesUnmanagedUpdateParameters, options?: AccessCodesUnmanagedUpdateOptions, ) => AccessCodesUnmanagedUpdateRequest { const { client, defaults } = this return function accessCodesUnmanagedUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessCodesUnmanaged.fromClient(client, defaults) return seam.update(...args) } } /** * Creates a new [Access Grant](https://docs.seam.co/use-cases/granting-access/access-grants). Access Grants are the default and recommended way to grant a user access to any physical space, irrespective of the locking hardware. They work with both standalone smart locks (using `device_ids`) and access control systems (using `acs_entrance_ids` or `space_ids`), and can issue PIN codes, key cards, and mobile keys through a single request. */ get '/access_grants/create'(): ( parameters: AccessGrantsCreateParameters, options?: AccessGrantsCreateOptions, ) => AccessGrantsCreateRequest { const { client, defaults } = this return function accessGrantsCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrants.fromClient(client, defaults) return seam.create(...args) } } /** * Delete an Access Grant. */ get '/access_grants/delete'(): ( parameters: AccessGrantsDeleteParameters, options?: AccessGrantsDeleteOptions, ) => AccessGrantsDeleteRequest { const { client, defaults } = this return function accessGrantsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrants.fromClient(client, defaults) return seam.delete(...args) } } /** * Get an Access Grant. */ get '/access_grants/get'(): ( parameters?: AccessGrantsGetParameters, options?: AccessGrantsGetOptions, ) => AccessGrantsGetRequest { const { client, defaults } = this return function accessGrantsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrants.fromClient(client, defaults) return seam.get(...args) } } /** * Gets all related resources for one or more Access Grants. */ get '/access_grants/get_related'(): ( parameters?: AccessGrantsGetRelatedParameters, options?: AccessGrantsGetRelatedOptions, ) => AccessGrantsGetRelatedRequest { const { client, defaults } = this return function accessGrantsGetRelated( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrants.fromClient(client, defaults) return seam.getRelated(...args) } } /** * Gets an Access Grant. */ get '/access_grants/list'(): ( parameters?: AccessGrantsListParameters, options?: AccessGrantsListOptions, ) => AccessGrantsListRequest { const { client, defaults } = this return function accessGrantsList( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrants.fromClient(client, defaults) return seam.list(...args) } } /** * Adds additional requested access methods to an existing Access Grant. */ get '/access_grants/request_access_methods'(): ( parameters: AccessGrantsRequestAccessMethodsParameters, options?: AccessGrantsRequestAccessMethodsOptions, ) => AccessGrantsRequestAccessMethodsRequest { const { client, defaults } = this return function accessGrantsRequestAccessMethods( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrants.fromClient(client, defaults) return seam.requestAccessMethods(...args) } } /** * Updates an existing Access Grant's time window. */ get '/access_grants/update'(): ( parameters?: AccessGrantsUpdateParameters, options?: AccessGrantsUpdateOptions, ) => AccessGrantsUpdateRequest { const { client, defaults } = this return function accessGrantsUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrants.fromClient(client, defaults) return seam.update(...args) } } /** * Get an unmanaged Access Grant (where is_managed = false). */ get '/access_grants/unmanaged/get'(): ( parameters: AccessGrantsUnmanagedGetParameters, options?: AccessGrantsUnmanagedGetOptions, ) => AccessGrantsUnmanagedGetRequest { const { client, defaults } = this return function accessGrantsUnmanagedGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrantsUnmanaged.fromClient(client, defaults) return seam.get(...args) } } /** * Gets unmanaged Access Grants (where is_managed = false). */ get '/access_grants/unmanaged/list'(): ( parameters?: AccessGrantsUnmanagedListParameters, options?: AccessGrantsUnmanagedListOptions, ) => AccessGrantsUnmanagedListRequest { const { client, defaults } = this return function accessGrantsUnmanagedList( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrantsUnmanaged.fromClient(client, defaults) return seam.list(...args) } } /** * Updates an unmanaged Access Grant to make it managed. * * This endpoint can only be used to convert unmanaged access grants to managed ones by setting `is_managed` to `true`. It cannot be used to convert managed access grants back to unmanaged. * * When converting an unmanaged access grant to managed, all associated access methods will also be converted to managed. */ get '/access_grants/unmanaged/update'(): ( parameters: AccessGrantsUnmanagedUpdateParameters, options?: AccessGrantsUnmanagedUpdateOptions, ) => AccessGrantsUnmanagedUpdateRequest { const { client, defaults } = this return function accessGrantsUnmanagedUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessGrantsUnmanaged.fromClient(client, defaults) return seam.update(...args) } } /** * Assigns a pre-registered card credential, identified by `card_number`, to a card-mode access method. Use this endpoint for access systems that use pre-registered cards, where a physical card must be associated with an access method before it can be used for access. Assigning a card credential also triggers issuance of the access method. */ get '/access_methods/assign_card'(): ( parameters: AccessMethodsAssignCardParameters, options?: AccessMethodsAssignCardOptions, ) => AccessMethodsAssignCardRequest { const { client, defaults } = this return function accessMethodsAssignCard( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethods.fromClient(client, defaults) return seam.assignCard(...args) } } /** * Deletes an access method. */ get '/access_methods/delete'(): ( parameters?: AccessMethodsDeleteParameters, options?: AccessMethodsDeleteOptions, ) => AccessMethodsDeleteRequest { const { client, defaults } = this return function accessMethodsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethods.fromClient(client, defaults) return seam.delete(...args) } } /** * Encodes an existing access method onto a plastic card placed on the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners). */ get '/access_methods/encode'(): ( parameters: AccessMethodsEncodeParameters, options?: AccessMethodsEncodeOptions, ) => AccessMethodsEncodeRequest { const { client, defaults } = this return function accessMethodsEncode( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethods.fromClient(client, defaults) return seam.encode(...args) } } /** * Gets an access method. */ get '/access_methods/get'(): ( parameters: AccessMethodsGetParameters, options?: AccessMethodsGetOptions, ) => AccessMethodsGetRequest { const { client, defaults } = this return function accessMethodsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethods.fromClient(client, defaults) return seam.get(...args) } } /** * Gets all related resources for one or more Access Methods. */ get '/access_methods/get_related'(): ( parameters: AccessMethodsGetRelatedParameters, options?: AccessMethodsGetRelatedOptions, ) => AccessMethodsGetRelatedRequest { const { client, defaults } = this return function accessMethodsGetRelated( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethods.fromClient(client, defaults) return seam.getRelated(...args) } } /** * Lists all access methods, usually filtered by Access Grant. */ get '/access_methods/list'(): ( parameters?: AccessMethodsListParameters, options?: AccessMethodsListOptions, ) => AccessMethodsListRequest { const { client, defaults } = this return function accessMethodsList( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethods.fromClient(client, defaults) return seam.list(...args) } } /** * Remotely unlocks a specified [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) using the cloud key credential associated with an access method. Returns an action attempt that tracks the progress of the unlock operation. */ get '/access_methods/unlock_door'(): ( parameters: AccessMethodsUnlockDoorParameters, options?: AccessMethodsUnlockDoorOptions, ) => AccessMethodsUnlockDoorRequest { const { client, defaults } = this return function accessMethodsUnlockDoor( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethods.fromClient(client, defaults) return seam.unlockDoor(...args) } } /** * Gets an unmanaged access method (where is_managed = false). */ get '/access_methods/unmanaged/get'(): ( parameters: AccessMethodsUnmanagedGetParameters, options?: AccessMethodsUnmanagedGetOptions, ) => AccessMethodsUnmanagedGetRequest { const { client, defaults } = this return function accessMethodsUnmanagedGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethodsUnmanaged.fromClient(client, defaults) return seam.get(...args) } } /** * Lists all unmanaged access methods (where is_managed = false), usually filtered by Access Grant. */ get '/access_methods/unmanaged/list'(): ( parameters: AccessMethodsUnmanagedListParameters, options?: AccessMethodsUnmanagedListOptions, ) => AccessMethodsUnmanagedListRequest { const { client, defaults } = this return function accessMethodsUnmanagedList( ...args: Parameters ): ReturnType { const seam = SeamHttpAccessMethodsUnmanaged.fromClient(client, defaults) return seam.list(...args) } } /** * Adds a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) to a specified [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/access_groups/add_user'(): ( parameters: AcsAccessGroupsAddUserParameters, options?: AcsAccessGroupsAddUserOptions, ) => AcsAccessGroupsAddUserRequest { const { client, defaults } = this return function acsAccessGroupsAddUser( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsAccessGroups.fromClient(client, defaults) return seam.addUser(...args) } } /** * Deletes a specified [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/access_groups/delete'(): ( parameters: AcsAccessGroupsDeleteParameters, options?: AcsAccessGroupsDeleteOptions, ) => AcsAccessGroupsDeleteRequest { const { client, defaults } = this return function acsAccessGroupsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsAccessGroups.fromClient(client, defaults) return seam.delete(...args) } } /** * Returns a specified [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/access_groups/get'(): ( parameters: AcsAccessGroupsGetParameters, options?: AcsAccessGroupsGetOptions, ) => AcsAccessGroupsGetRequest { const { client, defaults } = this return function acsAccessGroupsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsAccessGroups.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [access groups](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/access_groups/list'(): ( parameters?: AcsAccessGroupsListParameters, options?: AcsAccessGroupsListOptions, ) => AcsAccessGroupsListRequest { const { client, defaults } = this return function acsAccessGroupsList( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsAccessGroups.fromClient(client, defaults) return seam.list(...args) } } /** * Returns a list of all accessible entrances for a specified [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/access_groups/list_accessible_entrances'(): ( parameters: AcsAccessGroupsListAccessibleEntrancesParameters, options?: AcsAccessGroupsListAccessibleEntrancesOptions, ) => AcsAccessGroupsListAccessibleEntrancesRequest { const { client, defaults } = this return function acsAccessGroupsListAccessibleEntrances( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsAccessGroups.fromClient(client, defaults) return seam.listAccessibleEntrances(...args) } } /** * Returns a list of all [access system users](https://docs.seam.co/low-level-apis/access-systems/user-management) in an [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/access_groups/list_users'(): ( parameters: AcsAccessGroupsListUsersParameters, options?: AcsAccessGroupsListUsersOptions, ) => AcsAccessGroupsListUsersRequest { const { client, defaults } = this return function acsAccessGroupsListUsers( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsAccessGroups.fromClient(client, defaults) return seam.listUsers(...args) } } /** * Removes a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) from a specified [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/access_groups/remove_user'(): ( parameters: AcsAccessGroupsRemoveUserParameters, options?: AcsAccessGroupsRemoveUserOptions, ) => AcsAccessGroupsRemoveUserRequest { const { client, defaults } = this return function acsAccessGroupsRemoveUser( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsAccessGroups.fromClient(client, defaults) return seam.removeUser(...args) } } /** * Assigns a specified [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) to a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). */ get '/acs/credentials/assign'(): ( parameters: AcsCredentialsAssignParameters, options?: AcsCredentialsAssignOptions, ) => AcsCredentialsAssignRequest { const { client, defaults } = this return function acsCredentialsAssign( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsCredentials.fromClient(client, defaults) return seam.assign(...args) } } /** * Creates a new [credential](https://docs.seam.co/low-level-apis/managing-credentials) for a specified [ACS user](https://docs.seam.co/low-level-apis/access-systems/user-management). For granting access, we recommend [Access Grants](https://docs.seam.co/use-cases/granting-access) instead: they create and manage the underlying credentials for you, across access systems and standalone smart locks alike. Use this low-level endpoint only when you need direct control over an individual ACS credential. */ get '/acs/credentials/create'(): ( parameters: AcsCredentialsCreateParameters, options?: AcsCredentialsCreateOptions, ) => AcsCredentialsCreateRequest { const { client, defaults } = this return function acsCredentialsCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsCredentials.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a specified [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). */ get '/acs/credentials/delete'(): ( parameters: AcsCredentialsDeleteParameters, options?: AcsCredentialsDeleteOptions, ) => AcsCredentialsDeleteRequest { const { client, defaults } = this return function acsCredentialsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsCredentials.fromClient(client, defaults) return seam.delete(...args) } } /** * Returns a specified [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). */ get '/acs/credentials/get'(): ( parameters: AcsCredentialsGetParameters, options?: AcsCredentialsGetOptions, ) => AcsCredentialsGetRequest { const { client, defaults } = this return function acsCredentialsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsCredentials.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [credentials](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). */ get '/acs/credentials/list'(): ( parameters?: AcsCredentialsListParameters, options?: AcsCredentialsListOptions, ) => AcsCredentialsListRequest { const { client, defaults } = this return function acsCredentialsList( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsCredentials.fromClient(client, defaults) return seam.list(...args) } } /** * Returns a list of all [entrances](https://docs.seam.co/api/acs/entrances) to which a [credential](https://docs.seam.co/api/acs/credentials) grants access. */ get '/acs/credentials/list_accessible_entrances'(): ( parameters: AcsCredentialsListAccessibleEntrancesParameters, options?: AcsCredentialsListAccessibleEntrancesOptions, ) => AcsCredentialsListAccessibleEntrancesRequest { const { client, defaults } = this return function acsCredentialsListAccessibleEntrances( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsCredentials.fromClient(client, defaults) return seam.listAccessibleEntrances(...args) } } /** * Unassigns a specified [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) from a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). */ get '/acs/credentials/unassign'(): ( parameters: AcsCredentialsUnassignParameters, options?: AcsCredentialsUnassignOptions, ) => AcsCredentialsUnassignRequest { const { client, defaults } = this return function acsCredentialsUnassign( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsCredentials.fromClient(client, defaults) return seam.unassign(...args) } } /** * Updates the code and ends at date and time for a specified [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). */ get '/acs/credentials/update'(): ( parameters: AcsCredentialsUpdateParameters, options?: AcsCredentialsUpdateOptions, ) => AcsCredentialsUpdateRequest { const { client, defaults } = this return function acsCredentialsUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsCredentials.fromClient(client, defaults) return seam.update(...args) } } /** * Encodes an existing [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) onto a plastic card placed on the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners). Either provide an `acs_credential_id` or an `access_method_id` */ get '/acs/encoders/encode_credential'(): ( parameters: AcsEncodersEncodeCredentialParameters, options?: AcsEncodersEncodeCredentialOptions, ) => AcsEncodersEncodeCredentialRequest { const { client, defaults } = this return function acsEncodersEncodeCredential( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEncoders.fromClient(client, defaults) return seam.encodeCredential(...args) } } /** * Returns a specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners). */ get '/acs/encoders/get'(): ( parameters: AcsEncodersGetParameters, options?: AcsEncodersGetOptions, ) => AcsEncodersGetRequest { const { client, defaults } = this return function acsEncodersGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEncoders.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [encoders](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners). */ get '/acs/encoders/list'(): ( parameters?: AcsEncodersListParameters, options?: AcsEncodersListOptions, ) => AcsEncodersListRequest { const { client, defaults } = this return function acsEncodersList( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEncoders.fromClient(client, defaults) return seam.list(...args) } } /** * Scans an encoded [acs_credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) from a plastic card placed on the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners). */ get '/acs/encoders/scan_credential'(): ( parameters: AcsEncodersScanCredentialParameters, options?: AcsEncodersScanCredentialOptions, ) => AcsEncodersScanCredentialRequest { const { client, defaults } = this return function acsEncodersScanCredential( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEncoders.fromClient(client, defaults) return seam.scanCredential(...args) } } /** * Scans a physical card placed on the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners) and assigns the scanned credential to an ACS user. Provide either an `acs_user_id` or a `user_identity_id`. */ get '/acs/encoders/scan_to_assign_credential'(): ( parameters: AcsEncodersScanToAssignCredentialParameters, options?: AcsEncodersScanToAssignCredentialOptions, ) => AcsEncodersScanToAssignCredentialRequest { const { client, defaults } = this return function acsEncodersScanToAssignCredential( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEncoders.fromClient(client, defaults) return seam.scanToAssignCredential(...args) } } /** * Simulates that the next attempt to encode a [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners) will fail. You can only perform this action within a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/acs/encoders/simulate/next_credential_encode_will_fail'(): ( parameters: AcsEncodersSimulateNextCredentialEncodeWillFailParameters, options?: AcsEncodersSimulateNextCredentialEncodeWillFailOptions, ) => AcsEncodersSimulateNextCredentialEncodeWillFailRequest { const { client, defaults } = this return function acsEncodersSimulateNextCredentialEncodeWillFail( ...args: Parameters< SeamHttpAcsEncodersSimulate['nextCredentialEncodeWillFail'] > ): ReturnType { const seam = SeamHttpAcsEncodersSimulate.fromClient(client, defaults) return seam.nextCredentialEncodeWillFail(...args) } } /** * Simulates that the next attempt to encode a [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners) will succeed. You can only perform this action within a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/acs/encoders/simulate/next_credential_encode_will_succeed'(): ( parameters: AcsEncodersSimulateNextCredentialEncodeWillSucceedParameters, options?: AcsEncodersSimulateNextCredentialEncodeWillSucceedOptions, ) => AcsEncodersSimulateNextCredentialEncodeWillSucceedRequest { const { client, defaults } = this return function acsEncodersSimulateNextCredentialEncodeWillSucceed( ...args: Parameters< SeamHttpAcsEncodersSimulate['nextCredentialEncodeWillSucceed'] > ): ReturnType< SeamHttpAcsEncodersSimulate['nextCredentialEncodeWillSucceed'] > { const seam = SeamHttpAcsEncodersSimulate.fromClient(client, defaults) return seam.nextCredentialEncodeWillSucceed(...args) } } /** * Simulates that the next attempt to scan a [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners) will fail. You can only perform this action within a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/acs/encoders/simulate/next_credential_scan_will_fail'(): ( parameters: AcsEncodersSimulateNextCredentialScanWillFailParameters, options?: AcsEncodersSimulateNextCredentialScanWillFailOptions, ) => AcsEncodersSimulateNextCredentialScanWillFailRequest { const { client, defaults } = this return function acsEncodersSimulateNextCredentialScanWillFail( ...args: Parameters< SeamHttpAcsEncodersSimulate['nextCredentialScanWillFail'] > ): ReturnType { const seam = SeamHttpAcsEncodersSimulate.fromClient(client, defaults) return seam.nextCredentialScanWillFail(...args) } } /** * Simulates that the next attempt to scan a [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners) will succeed. You can only perform this action within a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/acs/encoders/simulate/next_credential_scan_will_succeed'(): ( parameters: AcsEncodersSimulateNextCredentialScanWillSucceedParameters, options?: AcsEncodersSimulateNextCredentialScanWillSucceedOptions, ) => AcsEncodersSimulateNextCredentialScanWillSucceedRequest { const { client, defaults } = this return function acsEncodersSimulateNextCredentialScanWillSucceed( ...args: Parameters< SeamHttpAcsEncodersSimulate['nextCredentialScanWillSucceed'] > ): ReturnType< SeamHttpAcsEncodersSimulate['nextCredentialScanWillSucceed'] > { const seam = SeamHttpAcsEncodersSimulate.fromClient(client, defaults) return seam.nextCredentialScanWillSucceed(...args) } } /** * Returns a specified [access system entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details). */ get '/acs/entrances/get'(): ( parameters: AcsEntrancesGetParameters, options?: AcsEntrancesGetOptions, ) => AcsEntrancesGetRequest { const { client, defaults } = this return function acsEntrancesGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEntrances.fromClient(client, defaults) return seam.get(...args) } } /** * Grants a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) access to a specified [access system entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details). */ get '/acs/entrances/grant_access'(): ( parameters: AcsEntrancesGrantAccessParameters, options?: AcsEntrancesGrantAccessOptions, ) => AcsEntrancesGrantAccessRequest { const { client, defaults } = this return function acsEntrancesGrantAccess( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEntrances.fromClient(client, defaults) return seam.grantAccess(...args) } } /** * Returns a list of all [access system entrances](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details). */ get '/acs/entrances/list'(): ( parameters?: AcsEntrancesListParameters, options?: AcsEntrancesListOptions, ) => AcsEntrancesListRequest { const { client, defaults } = this return function acsEntrancesList( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEntrances.fromClient(client, defaults) return seam.list(...args) } } /** * Returns a list of all [credentials](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) with access to a specified [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details). */ get '/acs/entrances/list_credentials_with_access'(): ( parameters: AcsEntrancesListCredentialsWithAccessParameters, options?: AcsEntrancesListCredentialsWithAccessOptions, ) => AcsEntrancesListCredentialsWithAccessRequest { const { client, defaults } = this return function acsEntrancesListCredentialsWithAccess( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEntrances.fromClient(client, defaults) return seam.listCredentialsWithAccess(...args) } } /** * Remotely unlocks a specified [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) using a cloud_key credential. Returns an action attempt that tracks the progress of the unlock operation. */ get '/acs/entrances/unlock'(): ( parameters: AcsEntrancesUnlockParameters, options?: AcsEntrancesUnlockOptions, ) => AcsEntrancesUnlockRequest { const { client, defaults } = this return function acsEntrancesUnlock( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsEntrances.fromClient(client, defaults) return seam.unlock(...args) } } /** * Returns a specified [access system](https://docs.seam.co/low-level-apis/access-systems). */ get '/acs/systems/get'(): ( parameters: AcsSystemsGetParameters, options?: AcsSystemsGetOptions, ) => AcsSystemsGetRequest { const { client, defaults } = this return function acsSystemsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsSystems.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [access systems](https://docs.seam.co/low-level-apis/access-systems). * * To filter the list of returned access systems by a specific connected account ID, include the `connected_account_id` in the request body. If you omit the `connected_account_id` parameter, the response includes all access systems connected to your workspace. */ get '/acs/systems/list'(): ( parameters?: AcsSystemsListParameters, options?: AcsSystemsListOptions, ) => AcsSystemsListRequest { const { client, defaults } = this return function acsSystemsList( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsSystems.fromClient(client, defaults) return seam.list(...args) } } /** * Returns a list of all credential manager systems that are compatible with a specified [access system](https://docs.seam.co/low-level-apis/access-systems). * * Specify the access system for which you want to retrieve all compatible credential manager systems by including the corresponding `acs_system_id` in the request body. */ get '/acs/systems/list_compatible_credential_manager_acs_systems'(): ( parameters: AcsSystemsListCompatibleCredentialManagerAcsSystemsParameters, options?: AcsSystemsListCompatibleCredentialManagerAcsSystemsOptions, ) => AcsSystemsListCompatibleCredentialManagerAcsSystemsRequest { const { client, defaults } = this return function acsSystemsListCompatibleCredentialManagerAcsSystems( ...args: Parameters< SeamHttpAcsSystems['listCompatibleCredentialManagerAcsSystems'] > ): ReturnType< SeamHttpAcsSystems['listCompatibleCredentialManagerAcsSystems'] > { const seam = SeamHttpAcsSystems.fromClient(client, defaults) return seam.listCompatibleCredentialManagerAcsSystems(...args) } } /** * Reports ACS system device status including encoders and entrances. */ get '/acs/systems/report_devices'(): ( parameters: AcsSystemsReportDevicesParameters, options?: AcsSystemsReportDevicesOptions, ) => AcsSystemsReportDevicesRequest { const { client, defaults } = this return function acsSystemsReportDevices( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsSystems.fromClient(client, defaults) return seam.reportDevices(...args) } } /** * Adds a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) to a specified [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/users/add_to_access_group'(): ( parameters: AcsUsersAddToAccessGroupParameters, options?: AcsUsersAddToAccessGroupOptions, ) => AcsUsersAddToAccessGroupRequest { const { client, defaults } = this return function acsUsersAddToAccessGroup( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.addToAccessGroup(...args) } } /** * Creates a new [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). */ get '/acs/users/create'(): ( parameters: AcsUsersCreateParameters, options?: AcsUsersCreateOptions, ) => AcsUsersCreateRequest { const { client, defaults } = this return function acsUsersCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) and invalidates the access system user's [credentials](https://docs.seam.co/low-level-apis/access-systems/managing-credentials). */ get '/acs/users/delete'(): ( parameters?: AcsUsersDeleteParameters, options?: AcsUsersDeleteOptions, ) => AcsUsersDeleteRequest { const { client, defaults } = this return function acsUsersDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.delete(...args) } } /** * Returns a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). */ get '/acs/users/get'(): ( parameters?: AcsUsersGetParameters, options?: AcsUsersGetOptions, ) => AcsUsersGetRequest { const { client, defaults } = this return function acsUsersGet( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [access system users](https://docs.seam.co/low-level-apis/access-systems/user-management). */ get '/acs/users/list'(): ( parameters?: AcsUsersListParameters, options?: AcsUsersListOptions, ) => AcsUsersListRequest { const { client, defaults } = this return function acsUsersList( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.list(...args) } } /** * Lists the [entrances](https://docs.seam.co/api/acs/entrances) to which a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) has access. */ get '/acs/users/list_accessible_entrances'(): ( parameters?: AcsUsersListAccessibleEntrancesParameters, options?: AcsUsersListAccessibleEntrancesOptions, ) => AcsUsersListAccessibleEntrancesRequest { const { client, defaults } = this return function acsUsersListAccessibleEntrances( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.listAccessibleEntrances(...args) } } /** * Removes a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) from a specified [access group](https://docs.seam.co/low-level-apis/access-systems/user-management/assigning-users-to-access-groups). */ get '/acs/users/remove_from_access_group'(): ( parameters: AcsUsersRemoveFromAccessGroupParameters, options?: AcsUsersRemoveFromAccessGroupOptions, ) => AcsUsersRemoveFromAccessGroupRequest { const { client, defaults } = this return function acsUsersRemoveFromAccessGroup( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.removeFromAccessGroup(...args) } } /** * Revokes access to all [entrances](https://docs.seam.co/api/acs/entrances) for a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). */ get '/acs/users/revoke_access_to_all_entrances'(): ( parameters?: AcsUsersRevokeAccessToAllEntrancesParameters, options?: AcsUsersRevokeAccessToAllEntrancesOptions, ) => AcsUsersRevokeAccessToAllEntrancesRequest { const { client, defaults } = this return function acsUsersRevokeAccessToAllEntrances( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.revokeAccessToAllEntrances(...args) } } /** * [Suspends](https://docs.seam.co/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users#suspend-an-acs-user) a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). Suspending an access system user revokes their access temporarily. To restore an access system user's access, you can [unsuspend](https://docs.seam.co/api/acs/users/unsuspend) them. */ get '/acs/users/suspend'(): ( parameters?: AcsUsersSuspendParameters, options?: AcsUsersSuspendOptions, ) => AcsUsersSuspendRequest { const { client, defaults } = this return function acsUsersSuspend( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.suspend(...args) } } /** * [Unsuspends](https://docs.seam.co/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users#unsuspend-an-acs-user) a specified suspended [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). While [suspending an access system user](https://docs.seam.co/api/acs/users/suspend) revokes their access temporarily, unsuspending the access system user restores their access. */ get '/acs/users/unsuspend'(): ( parameters?: AcsUsersUnsuspendParameters, options?: AcsUsersUnsuspendOptions, ) => AcsUsersUnsuspendRequest { const { client, defaults } = this return function acsUsersUnsuspend( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.unsuspend(...args) } } /** * Updates the properties of a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management). */ get '/acs/users/update'(): ( parameters?: AcsUsersUpdateParameters, options?: AcsUsersUpdateOptions, ) => AcsUsersUpdateRequest { const { client, defaults } = this return function acsUsersUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpAcsUsers.fromClient(client, defaults) return seam.update(...args) } } /** * Returns a specified [action attempt](https://docs.seam.co/core-concepts/action-attempts). */ get '/action_attempts/get'(): ( parameters: ActionAttemptsGetParameters, options?: ActionAttemptsGetOptions, ) => ActionAttemptsGetRequest { const { client, defaults } = this return function actionAttemptsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpActionAttempts.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of the [action attempts](https://docs.seam.co/core-concepts/action-attempts) that you specify as an array of `action_attempt_id`s. */ get '/action_attempts/list'(): ( parameters?: ActionAttemptsListParameters, options?: ActionAttemptsListOptions, ) => ActionAttemptsListRequest { const { client, defaults } = this return function actionAttemptsList( ...args: Parameters ): ReturnType { const seam = SeamHttpActionAttempts.fromClient(client, defaults) return seam.list(...args) } } /** * Creates a new [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens). */ get '/client_sessions/create'(): ( parameters?: ClientSessionsCreateParameters, options?: ClientSessionsCreateOptions, ) => ClientSessionsCreateRequest { const { client, defaults } = this return function clientSessionsCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpClientSessions.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens). */ get '/client_sessions/delete'(): ( parameters: ClientSessionsDeleteParameters, options?: ClientSessionsDeleteOptions, ) => ClientSessionsDeleteRequest { const { client, defaults } = this return function clientSessionsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpClientSessions.fromClient(client, defaults) return seam.delete(...args) } } /** * Returns a specified [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens). */ get '/client_sessions/get'(): ( parameters?: ClientSessionsGetParameters, options?: ClientSessionsGetOptions, ) => ClientSessionsGetRequest { const { client, defaults } = this return function clientSessionsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpClientSessions.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens) with specific characteristics or creates a new client session with these characteristics if it does not yet exist. */ get '/client_sessions/get_or_create'(): ( parameters?: ClientSessionsGetOrCreateParameters, options?: ClientSessionsGetOrCreateOptions, ) => ClientSessionsGetOrCreateRequest { const { client, defaults } = this return function clientSessionsGetOrCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpClientSessions.fromClient(client, defaults) return seam.getOrCreate(...args) } } /** * Grants a [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens) access to one or more resources, such as [Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews), [user identities](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity), and so on. */ get '/client_sessions/grant_access'(): ( parameters?: ClientSessionsGrantAccessParameters, options?: ClientSessionsGrantAccessOptions, ) => ClientSessionsGrantAccessRequest { const { client, defaults } = this return function clientSessionsGrantAccess( ...args: Parameters ): ReturnType { const seam = SeamHttpClientSessions.fromClient(client, defaults) return seam.grantAccess(...args) } } /** * Returns a list of all [client sessions](https://docs.seam.co/core-concepts/authentication/client-session-tokens). */ get '/client_sessions/list'(): ( parameters?: ClientSessionsListParameters, options?: ClientSessionsListOptions, ) => ClientSessionsListRequest { const { client, defaults } = this return function clientSessionsList( ...args: Parameters ): ReturnType { const seam = SeamHttpClientSessions.fromClient(client, defaults) return seam.list(...args) } } /** * Revokes a [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens). * * Note that [deleting a client session](https://docs.seam.co/api/client_sessions/delete) is a separate action. */ get '/client_sessions/revoke'(): ( parameters: ClientSessionsRevokeParameters, options?: ClientSessionsRevokeOptions, ) => ClientSessionsRevokeRequest { const { client, defaults } = this return function clientSessionsRevoke( ...args: Parameters ): ReturnType { const seam = SeamHttpClientSessions.fromClient(client, defaults) return seam.revoke(...args) } } /** * Creates a new [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews). * * To enable a user to connect their devices or systems to Seam, they must sign in to their device or system account. To enable a user to sign in, you create a `connect_webview`. After creating the Connect Webview, you receive a URL that you can use to display the visual component of this Connect Webview for your user. You can open an iframe or new window to display the Connect Webview. * * You should make a new `connect_webview` for each unique login request. Each `connect_webview` tracks the user that signed in with it. You receive an error if you reuse a Connect Webview for the same user twice or if you use the same Connect Webview for multiple users. * * See also: [Connect Webview Process](https://docs.seam.co/core-concepts/connect-webviews/connect-webview-process). */ get '/connect_webviews/create'(): ( parameters?: ConnectWebviewsCreateParameters, options?: ConnectWebviewsCreateOptions, ) => ConnectWebviewsCreateRequest { const { client, defaults } = this return function connectWebviewsCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectWebviews.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews). * * You do not need to delete a Connect Webview once a user completes it. Instead, you can simply ignore completed Connect Webviews. */ get '/connect_webviews/delete'(): ( parameters: ConnectWebviewsDeleteParameters, options?: ConnectWebviewsDeleteOptions, ) => ConnectWebviewsDeleteRequest { const { client, defaults } = this return function connectWebviewsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectWebviews.fromClient(client, defaults) return seam.delete(...args) } } /** * Returns a specified [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews). * * Unless you're using a `custom_redirect_url`, you should poll a newly-created `connect_webview` to find out if the user has signed in or to get details about what devices they've connected. */ get '/connect_webviews/get'(): ( parameters: ConnectWebviewsGetParameters, options?: ConnectWebviewsGetOptions, ) => ConnectWebviewsGetRequest { const { client, defaults } = this return function connectWebviewsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectWebviews.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews). */ get '/connect_webviews/list'(): ( parameters?: ConnectWebviewsListParameters, options?: ConnectWebviewsListOptions, ) => ConnectWebviewsListRequest { const { client, defaults } = this return function connectWebviewsList( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectWebviews.fromClient(client, defaults) return seam.list(...args) } } /** * Deletes a specified [connected account](https://docs.seam.co/core-concepts/connected-accounts). * * Deleting a connected account triggers a `connected_account.deleted` event and removes the connected account and all data associated with the connected account from Seam, including devices, events, access codes, and so on. For every deleted resource, Seam sends a corresponding deleted event, but the resource is not deleted from the provider. * * For example, if you delete a connected account with a device that has an access code, Seam sends a `connected_account.deleted` event, a `device.deleted` event, and an `access_code.deleted` event, but Seam does not remove the access code from the device. */ get '/connected_accounts/delete'(): ( parameters: ConnectedAccountsDeleteParameters, options?: ConnectedAccountsDeleteOptions, ) => ConnectedAccountsDeleteRequest { const { client, defaults } = this return function connectedAccountsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectedAccounts.fromClient(client, defaults) return seam.delete(...args) } } /** * Returns a specified [connected account](https://docs.seam.co/core-concepts/connected-accounts). */ get '/connected_accounts/get'(): ( parameters?: ConnectedAccountsGetParameters, options?: ConnectedAccountsGetOptions, ) => ConnectedAccountsGetRequest { const { client, defaults } = this return function connectedAccountsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectedAccounts.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [connected accounts](https://docs.seam.co/core-concepts/connected-accounts). */ get '/connected_accounts/list'(): ( parameters?: ConnectedAccountsListParameters, options?: ConnectedAccountsListOptions, ) => ConnectedAccountsListRequest { const { client, defaults } = this return function connectedAccountsList( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectedAccounts.fromClient(client, defaults) return seam.list(...args) } } /** * Request a [connected account](https://docs.seam.co/core-concepts/connected-accounts) sync attempt for the specified `connected_account_id`. */ get '/connected_accounts/sync'(): ( parameters: ConnectedAccountsSyncParameters, options?: ConnectedAccountsSyncOptions, ) => ConnectedAccountsSyncRequest { const { client, defaults } = this return function connectedAccountsSync( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectedAccounts.fromClient(client, defaults) return seam.sync(...args) } } /** * Updates a [connected account](https://docs.seam.co/core-concepts/connected-accounts). */ get '/connected_accounts/update'(): ( parameters: ConnectedAccountsUpdateParameters, options?: ConnectedAccountsUpdateOptions, ) => ConnectedAccountsUpdateRequest { const { client, defaults } = this return function connectedAccountsUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectedAccounts.fromClient(client, defaults) return seam.update(...args) } } /** * Simulates a connected account becoming disconnected from Seam. Only applicable for [sandbox workspaces](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/connected_accounts/simulate/disconnect'(): ( parameters: ConnectedAccountsSimulateDisconnectParameters, options?: ConnectedAccountsSimulateDisconnectOptions, ) => ConnectedAccountsSimulateDisconnectRequest { const { client, defaults } = this return function connectedAccountsSimulateDisconnect( ...args: Parameters ): ReturnType { const seam = SeamHttpConnectedAccountsSimulate.fromClient( client, defaults, ) return seam.disconnect(...args) } } /** * Creates a new customer portal magic link with configurable features. */ get '/customers/create_portal'(): ( parameters?: CustomersCreatePortalParameters, options?: CustomersCreatePortalOptions, ) => CustomersCreatePortalRequest { const { client, defaults } = this return function customersCreatePortal( ...args: Parameters ): ReturnType { const seam = SeamHttpCustomers.fromClient(client, defaults) return seam.createPortal(...args) } } /** * Deletes customer data including resources like spaces, properties, rooms, users, etc. * This will delete the partner resources and any related Seam resources (user identities, access grants, spaces). */ get '/customers/delete_data'(): ( parameters?: CustomersDeleteDataParameters, options?: CustomersDeleteDataOptions, ) => CustomersDeleteDataRequest { const { client, defaults } = this return function customersDeleteData( ...args: Parameters ): ReturnType { const seam = SeamHttpCustomers.fromClient(client, defaults) return seam.deleteData(...args) } } /** * Pushes customer data including resources like spaces, properties, rooms, users, etc. */ get '/customers/push_data'(): ( parameters: CustomersPushDataParameters, options?: CustomersPushDataOptions, ) => CustomersPushDataRequest { const { client, defaults } = this return function customersPushData( ...args: Parameters ): ReturnType { const seam = SeamHttpCustomers.fromClient(client, defaults) return seam.pushData(...args) } } /** * Returns a specified [device](https://docs.seam.co/core-concepts/devices). * * You must specify either `device_id` or `name`. */ get '/devices/get'(): ( parameters?: DevicesGetParameters, options?: DevicesGetOptions, ) => DevicesGetRequest { const { client, defaults } = this return function devicesGet( ...args: Parameters ): ReturnType { const seam = SeamHttpDevices.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [devices](https://docs.seam.co/core-concepts/devices). */ get '/devices/list'(): ( parameters?: DevicesListParameters, options?: DevicesListOptions, ) => DevicesListRequest { const { client, defaults } = this return function devicesList( ...args: Parameters ): ReturnType { const seam = SeamHttpDevices.fromClient(client, defaults) return seam.list(...args) } } /** * Returns a list of all device providers. * * The information that this endpoint returns for each provider includes a set of [capability flags](https://docs.seam.co/capability-guides/device-and-system-capabilities#capability-flags), such as `device_provider.can_remotely_unlock`. If at least one supported device from a provider has a specific capability, the corresponding capability flag is `true`. * * When you create a [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews), you can customize the providers—that is, the brands—that it displays. In the `/connect_webviews/create` request, include the desired set of device provider keys in the `accepted_providers` parameter. See also [Customize the Brands to Display in Your Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews). */ get '/devices/list_device_providers'(): ( parameters?: DevicesListDeviceProvidersParameters, options?: DevicesListDeviceProvidersOptions, ) => DevicesListDeviceProvidersRequest { const { client, defaults } = this return function devicesListDeviceProviders( ...args: Parameters ): ReturnType { const seam = SeamHttpDevices.fromClient(client, defaults) return seam.listDeviceProviders(...args) } } /** * Updates provider-specific metadata for devices. */ get '/devices/report_provider_metadata'(): ( parameters: DevicesReportProviderMetadataParameters, options?: DevicesReportProviderMetadataOptions, ) => DevicesReportProviderMetadataRequest { const { client, defaults } = this return function devicesReportProviderMetadata( ...args: Parameters ): ReturnType { const seam = SeamHttpDevices.fromClient(client, defaults) return seam.reportProviderMetadata(...args) } } /** * Updates a specified [device](https://docs.seam.co/core-concepts/devices). * * You can add or change [custom metadata](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device) for a device, change the device's name, or [convert a managed device to unmanaged](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices). */ get '/devices/update'(): ( parameters: DevicesUpdateParameters, options?: DevicesUpdateOptions, ) => DevicesUpdateRequest { const { client, defaults } = this return function devicesUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpDevices.fromClient(client, defaults) return seam.update(...args) } } /** * Simulates connecting a device to Seam. Only applicable for [sandbox devices](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your App Against Device Disconnection and Removal](https://docs.seam.co/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal). */ get '/devices/simulate/connect'(): ( parameters: DevicesSimulateConnectParameters, options?: DevicesSimulateConnectOptions, ) => DevicesSimulateConnectRequest { const { client, defaults } = this return function devicesSimulateConnect( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesSimulate.fromClient(client, defaults) return seam.connect(...args) } } /** * Simulates bringing the Wi‑Fi hub (bridge) back online for a device. * Only applicable for sandbox workspaces and currently * implemented for August and TTLock locks. * This will clear the `hub_disconnected` error on the device. */ get '/devices/simulate/connect_to_hub'(): ( parameters: DevicesSimulateConnectToHubParameters, options?: DevicesSimulateConnectToHubOptions, ) => DevicesSimulateConnectToHubRequest { const { client, defaults } = this return function devicesSimulateConnectToHub( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesSimulate.fromClient(client, defaults) return seam.connectToHub(...args) } } /** * Simulates disconnecting a device from Seam. Only applicable for [sandbox devices](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your App Against Device Disconnection and Removal](https://docs.seam.co/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal). */ get '/devices/simulate/disconnect'(): ( parameters: DevicesSimulateDisconnectParameters, options?: DevicesSimulateDisconnectOptions, ) => DevicesSimulateDisconnectRequest { const { client, defaults } = this return function devicesSimulateDisconnect( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesSimulate.fromClient(client, defaults) return seam.disconnect(...args) } } /** * Simulates taking the Wi‑Fi hub (bridge) offline for a device. * Only applicable for sandbox workspaces and currently * implemented for August, TTLock, and IglooHome devices. * This will set the `hub_disconnected` error on the device, or mark the * IglooHome bridge offline in sandbox. */ get '/devices/simulate/disconnect_from_hub'(): ( parameters: DevicesSimulateDisconnectFromHubParameters, options?: DevicesSimulateDisconnectFromHubOptions, ) => DevicesSimulateDisconnectFromHubRequest { const { client, defaults } = this return function devicesSimulateDisconnectFromHub( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesSimulate.fromClient(client, defaults) return seam.disconnectFromHub(...args) } } /** * Toggle the simulated Nuki Smart Hosting subscription for a device (sandbox only). * Send `is_expired: true` to simulate an expired subscription, or `false` to simulate an active subscription. * The actual device error is created/cleared by the poller after this state change. */ get '/devices/simulate/paid_subscription'(): ( parameters: DevicesSimulatePaidSubscriptionParameters, options?: DevicesSimulatePaidSubscriptionOptions, ) => DevicesSimulatePaidSubscriptionRequest { const { client, defaults } = this return function devicesSimulatePaidSubscription( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesSimulate.fromClient(client, defaults) return seam.paidSubscription(...args) } } /** * Simulates removing a device from Seam. Only applicable for [sandbox devices](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your App Against Device Disconnection and Removal](https://docs.seam.co/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal). */ get '/devices/simulate/remove'(): ( parameters: DevicesSimulateRemoveParameters, options?: DevicesSimulateRemoveOptions, ) => DevicesSimulateRemoveRequest { const { client, defaults } = this return function devicesSimulateRemove( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesSimulate.fromClient(client, defaults) return seam.remove(...args) } } /** * Returns a specified [unmanaged device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices). * * An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. To control an unmanaged device with Seam, [convert it to a managed device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed). * * You must specify either `device_id` or `name`. */ get '/devices/unmanaged/get'(): ( parameters?: DevicesUnmanagedGetParameters, options?: DevicesUnmanagedGetOptions, ) => DevicesUnmanagedGetRequest { const { client, defaults } = this return function devicesUnmanagedGet( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesUnmanaged.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [unmanaged devices](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices). * * An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. To control an unmanaged device with Seam, [convert it to a managed device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed). */ get '/devices/unmanaged/list'(): ( parameters?: DevicesUnmanagedListParameters, options?: DevicesUnmanagedListOptions, ) => DevicesUnmanagedListRequest { const { client, defaults } = this return function devicesUnmanagedList( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesUnmanaged.fromClient(client, defaults) return seam.list(...args) } } /** * Updates a specified [unmanaged device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices). To convert an unmanaged device to managed, set `is_managed` to `true`. * * An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. To control an unmanaged device with Seam, [convert it to a managed device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed). */ get '/devices/unmanaged/update'(): ( parameters: DevicesUnmanagedUpdateParameters, options?: DevicesUnmanagedUpdateOptions, ) => DevicesUnmanagedUpdateRequest { const { client, defaults } = this return function devicesUnmanagedUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpDevicesUnmanaged.fromClient(client, defaults) return seam.update(...args) } } /** * Returns a specified event. This endpoint returns the same event that would be sent to a [webhook](https://docs.seam.co/developer-tools/webhooks), but it enables you to retrieve an event that already took place. */ get '/events/get'(): ( parameters?: EventsGetParameters, options?: EventsGetOptions, ) => EventsGetRequest { const { client, defaults } = this return function eventsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpEvents.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all events. This endpoint returns the same events that would be sent to a [webhook](https://docs.seam.co/developer-tools/webhooks), but it enables you to filter or see events that already took place. */ get '/events/list'(): ( parameters?: EventsListParameters, options?: EventsListOptions, ) => EventsListRequest { const { client, defaults } = this return function eventsList( ...args: Parameters ): ReturnType { const seam = SeamHttpEvents.fromClient(client, defaults) return seam.list(...args) } } /** * Deletes a specified [Instant Key](https://docs.seam.co/capability-guides/instant-keys). */ get '/instant_keys/delete'(): ( parameters: InstantKeysDeleteParameters, options?: InstantKeysDeleteOptions, ) => InstantKeysDeleteRequest { const { client, defaults } = this return function instantKeysDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpInstantKeys.fromClient(client, defaults) return seam.delete(...args) } } /** * Gets an [instant key](https://docs.seam.co/capability-guides/instant-keys). */ get '/instant_keys/get'(): ( parameters?: InstantKeysGetParameters, options?: InstantKeysGetOptions, ) => InstantKeysGetRequest { const { client, defaults } = this return function instantKeysGet( ...args: Parameters ): ReturnType { const seam = SeamHttpInstantKeys.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [instant keys](https://docs.seam.co/capability-guides/instant-keys). */ get '/instant_keys/list'(): ( parameters?: InstantKeysListParameters, options?: InstantKeysListOptions, ) => InstantKeysListRequest { const { client, defaults } = this return function instantKeysList( ...args: Parameters ): ReturnType { const seam = SeamHttpInstantKeys.fromClient(client, defaults) return seam.list(...args) } } /** * Configures the auto-lock setting for a specified [lock](https://docs.seam.co/low-level-apis/smart-locks). */ get '/locks/configure_auto_lock'(): ( parameters: LocksConfigureAutoLockParameters, options?: LocksConfigureAutoLockOptions, ) => LocksConfigureAutoLockRequest { const { client, defaults } = this return function locksConfigureAutoLock( ...args: Parameters ): ReturnType { const seam = SeamHttpLocks.fromClient(client, defaults) return seam.configureAutoLock(...args) } } /** * Returns a specified [lock](https://docs.seam.co/low-level-apis/smart-locks). * @deprecated Use `/devices/get` instead. */ get '/locks/get'(): ( parameters?: LocksGetParameters, options?: LocksGetOptions, ) => LocksGetRequest { const { client, defaults } = this return function locksGet( ...args: Parameters ): ReturnType { const seam = SeamHttpLocks.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [locks](https://docs.seam.co/low-level-apis/smart-locks). */ get '/locks/list'(): ( parameters?: LocksListParameters, options?: LocksListOptions, ) => LocksListRequest { const { client, defaults } = this return function locksList( ...args: Parameters ): ReturnType { const seam = SeamHttpLocks.fromClient(client, defaults) return seam.list(...args) } } /** * Locks a [lock](https://docs.seam.co/low-level-apis/smart-locks). See also [Locking and Unlocking Smart Locks](https://docs.seam.co/low-level-apis/smart-locks/lock-and-unlock). */ get '/locks/lock_door'(): ( parameters: LocksLockDoorParameters, options?: LocksLockDoorOptions, ) => LocksLockDoorRequest { const { client, defaults } = this return function locksLockDoor( ...args: Parameters ): ReturnType { const seam = SeamHttpLocks.fromClient(client, defaults) return seam.lockDoor(...args) } } /** * Unlocks a [lock](https://docs.seam.co/low-level-apis/smart-locks). See also [Locking and Unlocking Smart Locks](https://docs.seam.co/low-level-apis/smart-locks/lock-and-unlock). */ get '/locks/unlock_door'(): ( parameters: LocksUnlockDoorParameters, options?: LocksUnlockDoorOptions, ) => LocksUnlockDoorRequest { const { client, defaults } = this return function locksUnlockDoor( ...args: Parameters ): ReturnType { const seam = SeamHttpLocks.fromClient(client, defaults) return seam.unlockDoor(...args) } } /** * Simulates the entry of a code on a keypad. You can only perform this action for [August](https://docs.seam.co/device-and-system-integration-guides/august-locks) devices within [sandbox workspaces](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/locks/simulate/keypad_code_entry'(): ( parameters: LocksSimulateKeypadCodeEntryParameters, options?: LocksSimulateKeypadCodeEntryOptions, ) => LocksSimulateKeypadCodeEntryRequest { const { client, defaults } = this return function locksSimulateKeypadCodeEntry( ...args: Parameters ): ReturnType { const seam = SeamHttpLocksSimulate.fromClient(client, defaults) return seam.keypadCodeEntry(...args) } } /** * Simulates a manual lock action using a keypad. You can only perform this action for [August](https://docs.seam.co/device-and-system-integration-guides/august-locks) devices within [sandbox workspaces](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/locks/simulate/manual_lock_via_keypad'(): ( parameters: LocksSimulateManualLockViaKeypadParameters, options?: LocksSimulateManualLockViaKeypadOptions, ) => LocksSimulateManualLockViaKeypadRequest { const { client, defaults } = this return function locksSimulateManualLockViaKeypad( ...args: Parameters ): ReturnType { const seam = SeamHttpLocksSimulate.fromClient(client, defaults) return seam.manualLockViaKeypad(...args) } } /** * Returns a list of all [noise sensors](https://docs.seam.co/capability-guides/noise-sensors). */ get '/noise_sensors/list'(): ( parameters?: NoiseSensorsListParameters, options?: NoiseSensorsListOptions, ) => NoiseSensorsListRequest { const { client, defaults } = this return function noiseSensorsList( ...args: Parameters ): ReturnType { const seam = SeamHttpNoiseSensors.fromClient(client, defaults) return seam.list(...args) } } /** * Creates a new [noise threshold](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors). Thresholds represent the limits of noise tolerated at a property, which can be customized for each hour of the day. Each device has its own default thresholds, but you can use the Seam API to modify them. */ get '/noise_sensors/noise_thresholds/create'(): ( parameters: NoiseSensorsNoiseThresholdsCreateParameters, options?: NoiseSensorsNoiseThresholdsCreateOptions, ) => NoiseSensorsNoiseThresholdsCreateRequest { const { client, defaults } = this return function noiseSensorsNoiseThresholdsCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpNoiseSensorsNoiseThresholds.fromClient( client, defaults, ) return seam.create(...args) } } /** * Deletes a [noise threshold](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) from a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors). */ get '/noise_sensors/noise_thresholds/delete'(): ( parameters: NoiseSensorsNoiseThresholdsDeleteParameters, options?: NoiseSensorsNoiseThresholdsDeleteOptions, ) => NoiseSensorsNoiseThresholdsDeleteRequest { const { client, defaults } = this return function noiseSensorsNoiseThresholdsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpNoiseSensorsNoiseThresholds.fromClient( client, defaults, ) return seam.delete(...args) } } /** * Returns a specified [noise threshold](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors). */ get '/noise_sensors/noise_thresholds/get'(): ( parameters: NoiseSensorsNoiseThresholdsGetParameters, options?: NoiseSensorsNoiseThresholdsGetOptions, ) => NoiseSensorsNoiseThresholdsGetRequest { const { client, defaults } = this return function noiseSensorsNoiseThresholdsGet( ...args: Parameters ): ReturnType { const seam = SeamHttpNoiseSensorsNoiseThresholds.fromClient( client, defaults, ) return seam.get(...args) } } /** * Returns a list of all [noise thresholds](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors). */ get '/noise_sensors/noise_thresholds/list'(): ( parameters: NoiseSensorsNoiseThresholdsListParameters, options?: NoiseSensorsNoiseThresholdsListOptions, ) => NoiseSensorsNoiseThresholdsListRequest { const { client, defaults } = this return function noiseSensorsNoiseThresholdsList( ...args: Parameters ): ReturnType { const seam = SeamHttpNoiseSensorsNoiseThresholds.fromClient( client, defaults, ) return seam.list(...args) } } /** * Updates a [noise threshold](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors). */ get '/noise_sensors/noise_thresholds/update'(): ( parameters: NoiseSensorsNoiseThresholdsUpdateParameters, options?: NoiseSensorsNoiseThresholdsUpdateOptions, ) => NoiseSensorsNoiseThresholdsUpdateRequest { const { client, defaults } = this return function noiseSensorsNoiseThresholdsUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpNoiseSensorsNoiseThresholds.fromClient( client, defaults, ) return seam.update(...args) } } /** * Simulates the triggering of a [noise threshold](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors) in a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). */ get '/noise_sensors/simulate/trigger_noise_threshold'(): ( parameters: NoiseSensorsSimulateTriggerNoiseThresholdParameters, options?: NoiseSensorsSimulateTriggerNoiseThresholdOptions, ) => NoiseSensorsSimulateTriggerNoiseThresholdRequest { const { client, defaults } = this return function noiseSensorsSimulateTriggerNoiseThreshold( ...args: Parameters ): ReturnType { const seam = SeamHttpNoiseSensorsSimulate.fromClient(client, defaults) return seam.triggerNoiseThreshold(...args) } } /** * Deactivates a phone, which is useful, for example, if a user has lost their phone. For more information, see [App User Lost Phone Process](https://docs.seam.co/capability-guides/mobile-access/managing-phones-for-a-user-identity#app-user-lost-phone-process). */ get '/phones/deactivate'(): ( parameters: PhonesDeactivateParameters, options?: PhonesDeactivateOptions, ) => PhonesDeactivateRequest { const { client, defaults } = this return function phonesDeactivate( ...args: Parameters ): ReturnType { const seam = SeamHttpPhones.fromClient(client, defaults) return seam.deactivate(...args) } } /** * Returns a specified [phone](https://docs.seam.co/capability-guides/mobile-access/managing-phones-for-a-user-identity). */ get '/phones/get'(): ( parameters: PhonesGetParameters, options?: PhonesGetOptions, ) => PhonesGetRequest { const { client, defaults } = this return function phonesGet( ...args: Parameters ): ReturnType { const seam = SeamHttpPhones.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [phones](https://docs.seam.co/capability-guides/mobile-access/managing-phones-for-a-user-identity). To filter the list of returned phones by a specific owner user identity or credential, include the `owner_user_identity_id` or `acs_credential_id`, respectively, in the request body. */ get '/phones/list'(): ( parameters?: PhonesListParameters, options?: PhonesListOptions, ) => PhonesListRequest { const { client, defaults } = this return function phonesList( ...args: Parameters ): ReturnType { const seam = SeamHttpPhones.fromClient(client, defaults) return seam.list(...args) } } /** * Creates a new simulated phone in a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). See also [Creating a Simulated Phone for a User Identity](https://docs.seam.co/capability-guides/mobile-access/developing-in-a-sandbox-workspace#creating-a-simulated-phone-for-a-user-identity). */ get '/phones/simulate/create_sandbox_phone'(): ( parameters: PhonesSimulateCreateSandboxPhoneParameters, options?: PhonesSimulateCreateSandboxPhoneOptions, ) => PhonesSimulateCreateSandboxPhoneRequest { const { client, defaults } = this return function phonesSimulateCreateSandboxPhone( ...args: Parameters ): ReturnType { const seam = SeamHttpPhonesSimulate.fromClient(client, defaults) return seam.createSandboxPhone(...args) } } /** * Adds [entrances](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) to a specific space. */ get '/spaces/add_acs_entrances'(): ( parameters: SpacesAddAcsEntrancesParameters, options?: SpacesAddAcsEntrancesOptions, ) => SpacesAddAcsEntrancesRequest { const { client, defaults } = this return function spacesAddAcsEntrances( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.addAcsEntrances(...args) } } /** * Adds a [connected account](https://docs.seam.co/core-concepts/connected-accounts) to a specific space. */ get '/spaces/add_connected_account'(): ( parameters: SpacesAddConnectedAccountParameters, options?: SpacesAddConnectedAccountOptions, ) => SpacesAddConnectedAccountRequest { const { client, defaults } = this return function spacesAddConnectedAccount( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.addConnectedAccount(...args) } } /** * Adds devices to a specific space. */ get '/spaces/add_devices'(): ( parameters: SpacesAddDevicesParameters, options?: SpacesAddDevicesOptions, ) => SpacesAddDevicesRequest { const { client, defaults } = this return function spacesAddDevices( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.addDevices(...args) } } /** * Creates a new space. */ get '/spaces/create'(): ( parameters: SpacesCreateParameters, options?: SpacesCreateOptions, ) => SpacesCreateRequest { const { client, defaults } = this return function spacesCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a space. */ get '/spaces/delete'(): ( parameters: SpacesDeleteParameters, options?: SpacesDeleteOptions, ) => SpacesDeleteRequest { const { client, defaults } = this return function spacesDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.delete(...args) } } /** * Gets a space. */ get '/spaces/get'(): ( parameters?: SpacesGetParameters, options?: SpacesGetOptions, ) => SpacesGetRequest { const { client, defaults } = this return function spacesGet( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.get(...args) } } /** * Gets all related resources for one or more Spaces. */ get '/spaces/get_related'(): ( parameters?: SpacesGetRelatedParameters, options?: SpacesGetRelatedOptions, ) => SpacesGetRelatedRequest { const { client, defaults } = this return function spacesGetRelated( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.getRelated(...args) } } /** * Returns a list of all spaces. */ get '/spaces/list'(): ( parameters?: SpacesListParameters, options?: SpacesListOptions, ) => SpacesListRequest { const { client, defaults } = this return function spacesList( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.list(...args) } } /** * Removes [entrances](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details) from a specific space. */ get '/spaces/remove_acs_entrances'(): ( parameters: SpacesRemoveAcsEntrancesParameters, options?: SpacesRemoveAcsEntrancesOptions, ) => SpacesRemoveAcsEntrancesRequest { const { client, defaults } = this return function spacesRemoveAcsEntrances( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.removeAcsEntrances(...args) } } /** * Removes a [connected account](https://docs.seam.co/core-concepts/connected-accounts) from a specific space. */ get '/spaces/remove_connected_account'(): ( parameters: SpacesRemoveConnectedAccountParameters, options?: SpacesRemoveConnectedAccountOptions, ) => SpacesRemoveConnectedAccountRequest { const { client, defaults } = this return function spacesRemoveConnectedAccount( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.removeConnectedAccount(...args) } } /** * Removes devices from a specific space. */ get '/spaces/remove_devices'(): ( parameters: SpacesRemoveDevicesParameters, options?: SpacesRemoveDevicesOptions, ) => SpacesRemoveDevicesRequest { const { client, defaults } = this return function spacesRemoveDevices( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.removeDevices(...args) } } /** * Updates an existing space. */ get '/spaces/update'(): ( parameters?: SpacesUpdateParameters, options?: SpacesUpdateOptions, ) => SpacesUpdateRequest { const { client, defaults } = this return function spacesUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpSpaces.fromClient(client, defaults) return seam.update(...args) } } /** * Activates a specified [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/activate_climate_preset'(): ( parameters: ThermostatsActivateClimatePresetParameters, options?: ThermostatsActivateClimatePresetOptions, ) => ThermostatsActivateClimatePresetRequest { const { client, defaults } = this return function thermostatsActivateClimatePreset( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.activateClimatePreset(...args) } } /** * Sets a specified [thermostat](https://docs.seam.co/capability-guides/thermostats) to [cool mode](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings). */ get '/thermostats/cool'(): ( parameters: ThermostatsCoolParameters, options?: ThermostatsCoolOptions, ) => ThermostatsCoolRequest { const { client, defaults } = this return function thermostatsCool( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.cool(...args) } } /** * Creates a [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/create_climate_preset'(): ( parameters: ThermostatsCreateClimatePresetParameters, options?: ThermostatsCreateClimatePresetOptions, ) => ThermostatsCreateClimatePresetRequest { const { client, defaults } = this return function thermostatsCreateClimatePreset( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.createClimatePreset(...args) } } /** * Deletes a specified [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/delete_climate_preset'(): ( parameters: ThermostatsDeleteClimatePresetParameters, options?: ThermostatsDeleteClimatePresetOptions, ) => ThermostatsDeleteClimatePresetRequest { const { client, defaults } = this return function thermostatsDeleteClimatePreset( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.deleteClimatePreset(...args) } } /** * Sets a specified [thermostat](https://docs.seam.co/capability-guides/thermostats) to [heat mode](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings). */ get '/thermostats/heat'(): ( parameters: ThermostatsHeatParameters, options?: ThermostatsHeatOptions, ) => ThermostatsHeatRequest { const { client, defaults } = this return function thermostatsHeat( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.heat(...args) } } /** * Sets a specified [thermostat](https://docs.seam.co/capability-guides/thermostats) to [heat-cool ("auto") mode](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings). */ get '/thermostats/heat_cool'(): ( parameters: ThermostatsHeatCoolParameters, options?: ThermostatsHeatCoolOptions, ) => ThermostatsHeatCoolRequest { const { client, defaults } = this return function thermostatsHeatCool( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.heatCool(...args) } } /** * Returns a list of all [thermostats](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/list'(): ( parameters?: ThermostatsListParameters, options?: ThermostatsListOptions, ) => ThermostatsListRequest { const { client, defaults } = this return function thermostatsList( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.list(...args) } } /** * Sets a specified [thermostat](https://docs.seam.co/capability-guides/thermostats) to ["off" mode](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings). */ get '/thermostats/off'(): ( parameters: ThermostatsOffParameters, options?: ThermostatsOffOptions, ) => ThermostatsOffRequest { const { client, defaults } = this return function thermostatsOff( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.off(...args) } } /** * Sets a specified [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) as the ["fallback"](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) preset for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/set_fallback_climate_preset'(): ( parameters: ThermostatsSetFallbackClimatePresetParameters, options?: ThermostatsSetFallbackClimatePresetOptions, ) => ThermostatsSetFallbackClimatePresetRequest { const { client, defaults } = this return function thermostatsSetFallbackClimatePreset( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.setFallbackClimatePreset(...args) } } /** * Sets the [fan mode setting](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/set_fan_mode'(): ( parameters: ThermostatsSetFanModeParameters, options?: ThermostatsSetFanModeOptions, ) => ThermostatsSetFanModeRequest { const { client, defaults } = this return function thermostatsSetFanMode( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.setFanMode(...args) } } /** * Sets the [HVAC mode](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/set_hvac_mode'(): ( parameters: ThermostatsSetHvacModeParameters, options?: ThermostatsSetHvacModeOptions, ) => ThermostatsSetHvacModeRequest { const { client, defaults } = this return function thermostatsSetHvacMode( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.setHvacMode(...args) } } /** * Sets a [temperature threshold](https://docs.seam.co/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) for a specified thermostat. Seam emits a `thermostat.temperature_threshold_exceeded` event and adds a warning on a thermostat if it reports a temperature outside the threshold range. */ get '/thermostats/set_temperature_threshold'(): ( parameters: ThermostatsSetTemperatureThresholdParameters, options?: ThermostatsSetTemperatureThresholdOptions, ) => ThermostatsSetTemperatureThresholdRequest { const { client, defaults } = this return function thermostatsSetTemperatureThreshold( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.setTemperatureThreshold(...args) } } /** * Updates a specified [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/update_climate_preset'(): ( parameters: ThermostatsUpdateClimatePresetParameters, options?: ThermostatsUpdateClimatePresetOptions, ) => ThermostatsUpdateClimatePresetRequest { const { client, defaults } = this return function thermostatsUpdateClimatePreset( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.updateClimatePreset(...args) } } /** * Updates the thermostat weekly program for a thermostat device. To configure a weekly program, specify the ID of the daily program that you want to use for each day of the week. When you update a weekly program, the set of programs that you specify overwrites any previous weekly program for the thermostat. */ get '/thermostats/update_weekly_program'(): ( parameters: ThermostatsUpdateWeeklyProgramParameters, options?: ThermostatsUpdateWeeklyProgramOptions, ) => ThermostatsUpdateWeeklyProgramRequest { const { client, defaults } = this return function thermostatsUpdateWeeklyProgram( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostats.fromClient(client, defaults) return seam.updateWeeklyProgram(...args) } } /** * Creates a new thermostat daily program. A daily program consists of a set of periods, where each period includes a start time and the key of a configured climate preset. Once you have defined a daily program, you can assign it to one or more days within a weekly program. */ get '/thermostats/daily_programs/create'(): ( parameters: ThermostatsDailyProgramsCreateParameters, options?: ThermostatsDailyProgramsCreateOptions, ) => ThermostatsDailyProgramsCreateRequest { const { client, defaults } = this return function thermostatsDailyProgramsCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsDailyPrograms.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a thermostat daily program. */ get '/thermostats/daily_programs/delete'(): ( parameters: ThermostatsDailyProgramsDeleteParameters, options?: ThermostatsDailyProgramsDeleteOptions, ) => ThermostatsDailyProgramsDeleteRequest { const { client, defaults } = this return function thermostatsDailyProgramsDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsDailyPrograms.fromClient(client, defaults) return seam.delete(...args) } } /** * Updates a specified thermostat daily program. The periods that you specify overwrite any existing periods for the daily program. */ get '/thermostats/daily_programs/update'(): ( parameters: ThermostatsDailyProgramsUpdateParameters, options?: ThermostatsDailyProgramsUpdateOptions, ) => ThermostatsDailyProgramsUpdateRequest { const { client, defaults } = this return function thermostatsDailyProgramsUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsDailyPrograms.fromClient(client, defaults) return seam.update(...args) } } /** * Creates a new [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/schedules/create'(): ( parameters: ThermostatsSchedulesCreateParameters, options?: ThermostatsSchedulesCreateOptions, ) => ThermostatsSchedulesCreateRequest { const { client, defaults } = this return function thermostatsSchedulesCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsSchedules.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/schedules/delete'(): ( parameters: ThermostatsSchedulesDeleteParameters, options?: ThermostatsSchedulesDeleteOptions, ) => ThermostatsSchedulesDeleteRequest { const { client, defaults } = this return function thermostatsSchedulesDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsSchedules.fromClient(client, defaults) return seam.delete(...args) } } /** * Returns a specified [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules). */ get '/thermostats/schedules/get'(): ( parameters: ThermostatsSchedulesGetParameters, options?: ThermostatsSchedulesGetOptions, ) => ThermostatsSchedulesGetRequest { const { client, defaults } = this return function thermostatsSchedulesGet( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsSchedules.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [thermostat schedules](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats). */ get '/thermostats/schedules/list'(): ( parameters: ThermostatsSchedulesListParameters, options?: ThermostatsSchedulesListOptions, ) => ThermostatsSchedulesListRequest { const { client, defaults } = this return function thermostatsSchedulesList( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsSchedules.fromClient(client, defaults) return seam.list(...args) } } /** * Updates a specified [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules). */ get '/thermostats/schedules/update'(): ( parameters: ThermostatsSchedulesUpdateParameters, options?: ThermostatsSchedulesUpdateOptions, ) => ThermostatsSchedulesUpdateRequest { const { client, defaults } = this return function thermostatsSchedulesUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsSchedules.fromClient(client, defaults) return seam.update(...args) } } /** * Simulates having adjusted the [HVAC mode](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) for a [thermostat](https://docs.seam.co/capability-guides/thermostats). Only applicable for [sandbox devices](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](https://docs.seam.co/capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints). */ get '/thermostats/simulate/hvac_mode_adjusted'(): ( parameters: ThermostatsSimulateHvacModeAdjustedParameters, options?: ThermostatsSimulateHvacModeAdjustedOptions, ) => ThermostatsSimulateHvacModeAdjustedRequest { const { client, defaults } = this return function thermostatsSimulateHvacModeAdjusted( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsSimulate.fromClient(client, defaults) return seam.hvacModeAdjusted(...args) } } /** * Simulates a [thermostat](https://docs.seam.co/capability-guides/thermostats) reaching a specified temperature. Only applicable for [sandbox devices](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](https://docs.seam.co/capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints). */ get '/thermostats/simulate/temperature_reached'(): ( parameters: ThermostatsSimulateTemperatureReachedParameters, options?: ThermostatsSimulateTemperatureReachedOptions, ) => ThermostatsSimulateTemperatureReachedRequest { const { client, defaults } = this return function thermostatsSimulateTemperatureReached( ...args: Parameters ): ReturnType { const seam = SeamHttpThermostatsSimulate.fromClient(client, defaults) return seam.temperatureReached(...args) } } /** * Adds a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) to a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). * * You must specify either `user_identity_id` or `user_identity_key` to identify the user identity. * * If `user_identity_key` is provided, but the user identity doesn't exist, a new user identity will be created automatically using information from the ACS user. */ get '/user_identities/add_acs_user'(): ( parameters: UserIdentitiesAddAcsUserParameters, options?: UserIdentitiesAddAcsUserOptions, ) => UserIdentitiesAddAcsUserRequest { const { client, defaults } = this return function userIdentitiesAddAcsUser( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.addAcsUser(...args) } } /** * Creates a new [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/create'(): ( parameters?: UserIdentitiesCreateParameters, options?: UserIdentitiesCreateOptions, ) => UserIdentitiesCreateRequest { const { client, defaults } = this return function userIdentitiesCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This deletes the user identity and all associated resources, including any [credentials](https://docs.seam.co/api/acs/credentials), [acs users](https://docs.seam.co/api/acs/users) and [client sessions](https://docs.seam.co/api/client_sessions). */ get '/user_identities/delete'(): ( parameters: UserIdentitiesDeleteParameters, options?: UserIdentitiesDeleteOptions, ) => UserIdentitiesDeleteRequest { const { client, defaults } = this return function userIdentitiesDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.delete(...args) } } /** * Generates a new [instant key](https://docs.seam.co/capability-guides/instant-keys) for a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/generate_instant_key'(): ( parameters: UserIdentitiesGenerateInstantKeyParameters, options?: UserIdentitiesGenerateInstantKeyOptions, ) => UserIdentitiesGenerateInstantKeyRequest { const { client, defaults } = this return function userIdentitiesGenerateInstantKey( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.generateInstantKey(...args) } } /** * Returns a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/get'(): ( parameters?: UserIdentitiesGetParameters, options?: UserIdentitiesGetOptions, ) => UserIdentitiesGetRequest { const { client, defaults } = this return function userIdentitiesGet( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.get(...args) } } /** * Grants a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) access to a specified [device](https://docs.seam.co/core-concepts/devices/). */ get '/user_identities/grant_access_to_device'(): ( parameters: UserIdentitiesGrantAccessToDeviceParameters, options?: UserIdentitiesGrantAccessToDeviceOptions, ) => UserIdentitiesGrantAccessToDeviceRequest { const { client, defaults } = this return function userIdentitiesGrantAccessToDevice( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.grantAccessToDevice(...args) } } /** * Returns a list of all [user identities](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/list'(): ( parameters?: UserIdentitiesListParameters, options?: UserIdentitiesListOptions, ) => UserIdentitiesListRequest { const { client, defaults } = this return function userIdentitiesList( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.list(...args) } } /** * Returns a list of all [devices](https://docs.seam.co/core-concepts/devices) associated with a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This includes devices derived from the access grants assigned to the user identity and devices directly linked to the user identity. */ get '/user_identities/list_accessible_devices'(): ( parameters: UserIdentitiesListAccessibleDevicesParameters, options?: UserIdentitiesListAccessibleDevicesOptions, ) => UserIdentitiesListAccessibleDevicesRequest { const { client, defaults } = this return function userIdentitiesListAccessibleDevices( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.listAccessibleDevices(...args) } } /** * Returns a list of all [ACS entrances](https://docs.seam.co/api/acs/entrances) accessible to a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This includes entrances derived from the access grants assigned to the user identity and entrances accessible through ACS users linked to the user identity. */ get '/user_identities/list_accessible_entrances'(): ( parameters: UserIdentitiesListAccessibleEntrancesParameters, options?: UserIdentitiesListAccessibleEntrancesOptions, ) => UserIdentitiesListAccessibleEntrancesRequest { const { client, defaults } = this return function userIdentitiesListAccessibleEntrances( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.listAccessibleEntrances(...args) } } /** * Returns a list of all [access systems](https://docs.seam.co/low-level-apis/access-systems) associated with a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/list_acs_systems'(): ( parameters: UserIdentitiesListAcsSystemsParameters, options?: UserIdentitiesListAcsSystemsOptions, ) => UserIdentitiesListAcsSystemsRequest { const { client, defaults } = this return function userIdentitiesListAcsSystems( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.listAcsSystems(...args) } } /** * Returns a list of all [access system users](https://docs.seam.co/low-level-apis/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/list_acs_users'(): ( parameters: UserIdentitiesListAcsUsersParameters, options?: UserIdentitiesListAcsUsersOptions, ) => UserIdentitiesListAcsUsersRequest { const { client, defaults } = this return function userIdentitiesListAcsUsers( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.listAcsUsers(...args) } } /** * Removes a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) from a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/remove_acs_user'(): ( parameters: UserIdentitiesRemoveAcsUserParameters, options?: UserIdentitiesRemoveAcsUserOptions, ) => UserIdentitiesRemoveAcsUserRequest { const { client, defaults } = this return function userIdentitiesRemoveAcsUser( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.removeAcsUser(...args) } } /** * Revokes access to a specified [device](https://docs.seam.co/core-concepts/devices/) from a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/revoke_access_to_device'(): ( parameters: UserIdentitiesRevokeAccessToDeviceParameters, options?: UserIdentitiesRevokeAccessToDeviceOptions, ) => UserIdentitiesRevokeAccessToDeviceRequest { const { client, defaults } = this return function userIdentitiesRevokeAccessToDevice( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.revokeAccessToDevice(...args) } } /** * Updates a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). */ get '/user_identities/update'(): ( parameters: UserIdentitiesUpdateParameters, options?: UserIdentitiesUpdateOptions, ) => UserIdentitiesUpdateRequest { const { client, defaults } = this return function userIdentitiesUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentities.fromClient(client, defaults) return seam.update(...args) } } /** * Returns a specified unmanaged [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) (where is_managed = false). */ get '/user_identities/unmanaged/get'(): ( parameters: UserIdentitiesUnmanagedGetParameters, options?: UserIdentitiesUnmanagedGetOptions, ) => UserIdentitiesUnmanagedGetRequest { const { client, defaults } = this return function userIdentitiesUnmanagedGet( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentitiesUnmanaged.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all unmanaged [user identities](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) (where is_managed = false). */ get '/user_identities/unmanaged/list'(): ( parameters?: UserIdentitiesUnmanagedListParameters, options?: UserIdentitiesUnmanagedListOptions, ) => UserIdentitiesUnmanagedListRequest { const { client, defaults } = this return function userIdentitiesUnmanagedList( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentitiesUnmanaged.fromClient(client, defaults) return seam.list(...args) } } /** * Updates an unmanaged [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) to make it managed. * * This endpoint can only be used to convert unmanaged user identities to managed ones by setting `is_managed` to `true`. It cannot be used to convert managed user identities back to unmanaged. */ get '/user_identities/unmanaged/update'(): ( parameters: UserIdentitiesUnmanagedUpdateParameters, options?: UserIdentitiesUnmanagedUpdateOptions, ) => UserIdentitiesUnmanagedUpdateRequest { const { client, defaults } = this return function userIdentitiesUnmanagedUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpUserIdentitiesUnmanaged.fromClient(client, defaults) return seam.update(...args) } } /** * Creates a new [webhook](https://docs.seam.co/developer-tools/webhooks). */ get '/webhooks/create'(): ( parameters: WebhooksCreateParameters, options?: WebhooksCreateOptions, ) => WebhooksCreateRequest { const { client, defaults } = this return function webhooksCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpWebhooks.fromClient(client, defaults) return seam.create(...args) } } /** * Deletes a specified [webhook](https://docs.seam.co/developer-tools/webhooks). */ get '/webhooks/delete'(): ( parameters: WebhooksDeleteParameters, options?: WebhooksDeleteOptions, ) => WebhooksDeleteRequest { const { client, defaults } = this return function webhooksDelete( ...args: Parameters ): ReturnType { const seam = SeamHttpWebhooks.fromClient(client, defaults) return seam.delete(...args) } } /** * Gets a specified [webhook](https://docs.seam.co/developer-tools/webhooks). */ get '/webhooks/get'(): ( parameters: WebhooksGetParameters, options?: WebhooksGetOptions, ) => WebhooksGetRequest { const { client, defaults } = this return function webhooksGet( ...args: Parameters ): ReturnType { const seam = SeamHttpWebhooks.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of all [webhooks](https://docs.seam.co/developer-tools/webhooks). */ get '/webhooks/list'(): ( parameters?: WebhooksListParameters, options?: WebhooksListOptions, ) => WebhooksListRequest { const { client, defaults } = this return function webhooksList( ...args: Parameters ): ReturnType { const seam = SeamHttpWebhooks.fromClient(client, defaults) return seam.list(...args) } } /** * Updates a specified [webhook](https://docs.seam.co/developer-tools/webhooks). */ get '/webhooks/update'(): ( parameters: WebhooksUpdateParameters, options?: WebhooksUpdateOptions, ) => WebhooksUpdateRequest { const { client, defaults } = this return function webhooksUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpWebhooks.fromClient(client, defaults) return seam.update(...args) } } /** * Creates a new [workspace](https://docs.seam.co/core-concepts/workspaces). */ get '/workspaces/create'(): ( parameters: WorkspacesCreateParameters, options?: WorkspacesCreateOptions, ) => WorkspacesCreateRequest { const { client, defaults } = this return function workspacesCreate( ...args: Parameters ): ReturnType { const seam = SeamHttpWorkspaces.fromClient(client, defaults) return seam.create(...args) } } /** * Returns the [workspace](https://docs.seam.co/core-concepts/workspaces) associated with the authentication value. */ get '/workspaces/get'(): ( parameters?: WorkspacesGetParameters, options?: WorkspacesGetOptions, ) => WorkspacesGetRequest { const { client, defaults } = this return function workspacesGet( ...args: Parameters ): ReturnType { const seam = SeamHttpWorkspaces.fromClient(client, defaults) return seam.get(...args) } } /** * Returns a list of [workspaces](https://docs.seam.co/core-concepts/workspaces) associated with the authentication value. */ get '/workspaces/list'(): ( parameters?: WorkspacesListParameters, options?: WorkspacesListOptions, ) => WorkspacesListRequest { const { client, defaults } = this return function workspacesList( ...args: Parameters ): ReturnType { const seam = SeamHttpWorkspaces.fromClient(client, defaults) return seam.list(...args) } } /** * Resets the [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces) associated with the authentication value. Note that this endpoint is only available for sandbox workspaces. */ get '/workspaces/reset_sandbox'(): ( parameters?: WorkspacesResetSandboxParameters, options?: WorkspacesResetSandboxOptions, ) => WorkspacesResetSandboxRequest { const { client, defaults } = this return function workspacesResetSandbox( ...args: Parameters ): ReturnType { const seam = SeamHttpWorkspaces.fromClient(client, defaults) return seam.resetSandbox(...args) } } /** * Updates the [workspace](https://docs.seam.co/core-concepts/workspaces) associated with the authentication value. */ get '/workspaces/update'(): ( parameters?: WorkspacesUpdateParameters, options?: WorkspacesUpdateOptions, ) => WorkspacesUpdateRequest { const { client, defaults } = this return function workspacesUpdate( ...args: Parameters ): ReturnType { const seam = SeamHttpWorkspaces.fromClient(client, defaults) return seam.update(...args) } } } export type SeamHttpEndpointQueryPaths = | '/access_codes/generate_code' | '/access_codes/get' | '/access_codes/list' | '/access_codes/unmanaged/get' | '/access_codes/unmanaged/list' | '/access_grants/get' | '/access_grants/get_related' | '/access_grants/list' | '/access_grants/unmanaged/get' | '/access_grants/unmanaged/list' | '/access_methods/get' | '/access_methods/get_related' | '/access_methods/list' | '/access_methods/unmanaged/get' | '/access_methods/unmanaged/list' | '/acs/access_groups/get' | '/acs/access_groups/list' | '/acs/access_groups/list_accessible_entrances' | '/acs/access_groups/list_users' | '/acs/credentials/get' | '/acs/credentials/list' | '/acs/credentials/list_accessible_entrances' | '/acs/encoders/get' | '/acs/encoders/list' | '/acs/entrances/get' | '/acs/entrances/list' | '/acs/entrances/list_credentials_with_access' | '/acs/systems/get' | '/acs/systems/list' | '/acs/systems/list_compatible_credential_manager_acs_systems' | '/acs/users/get' | '/acs/users/list' | '/acs/users/list_accessible_entrances' | '/action_attempts/get' | '/action_attempts/list' | '/client_sessions/get' | '/client_sessions/list' | '/connect_webviews/get' | '/connect_webviews/list' | '/connected_accounts/get' | '/connected_accounts/list' | '/devices/get' | '/devices/list' | '/devices/list_device_providers' | '/devices/unmanaged/get' | '/devices/unmanaged/list' | '/events/get' | '/events/list' | '/instant_keys/get' | '/instant_keys/list' | '/locks/get' | '/locks/list' | '/noise_sensors/list' | '/noise_sensors/noise_thresholds/get' | '/noise_sensors/noise_thresholds/list' | '/phones/get' | '/phones/list' | '/spaces/get' | '/spaces/get_related' | '/spaces/list' | '/thermostats/list' | '/thermostats/schedules/get' | '/thermostats/schedules/list' | '/user_identities/get' | '/user_identities/list' | '/user_identities/list_accessible_devices' | '/user_identities/list_accessible_entrances' | '/user_identities/list_acs_systems' | '/user_identities/list_acs_users' | '/user_identities/unmanaged/get' | '/user_identities/unmanaged/list' | '/webhooks/get' | '/webhooks/list' | '/workspaces/get' | '/workspaces/list' export type SeamHttpEndpointPaginatedQueryPaths = | '/access_codes/list' | '/access_codes/unmanaged/list' | '/access_grants/list' | '/access_grants/unmanaged/list' | '/access_methods/list' | '/acs/credentials/list' | '/acs/encoders/list' | '/acs/entrances/list' | '/acs/users/list' | '/action_attempts/list' | '/connect_webviews/list' | '/connected_accounts/list' | '/devices/list' | '/devices/unmanaged/list' | '/spaces/list' | '/user_identities/list' | '/user_identities/unmanaged/list' export type SeamHttpEndpointMutationPaths = | '/access_codes/create' | '/access_codes/create_multiple' | '/access_codes/delete' | '/access_codes/pull_backup_access_code' | '/access_codes/report_device_constraints' | '/access_codes/update' | '/access_codes/update_multiple' | '/access_codes/simulate/create_unmanaged_access_code' | '/access_codes/unmanaged/convert_to_managed' | '/access_codes/unmanaged/delete' | '/access_codes/unmanaged/update' | '/access_grants/create' | '/access_grants/delete' | '/access_grants/request_access_methods' | '/access_grants/update' | '/access_grants/unmanaged/update' | '/access_methods/assign_card' | '/access_methods/delete' | '/access_methods/encode' | '/access_methods/unlock_door' | '/acs/access_groups/add_user' | '/acs/access_groups/delete' | '/acs/access_groups/remove_user' | '/acs/credentials/assign' | '/acs/credentials/create' | '/acs/credentials/delete' | '/acs/credentials/unassign' | '/acs/credentials/update' | '/acs/encoders/encode_credential' | '/acs/encoders/scan_credential' | '/acs/encoders/scan_to_assign_credential' | '/acs/encoders/simulate/next_credential_encode_will_fail' | '/acs/encoders/simulate/next_credential_encode_will_succeed' | '/acs/encoders/simulate/next_credential_scan_will_fail' | '/acs/encoders/simulate/next_credential_scan_will_succeed' | '/acs/entrances/grant_access' | '/acs/entrances/unlock' | '/acs/systems/report_devices' | '/acs/users/add_to_access_group' | '/acs/users/create' | '/acs/users/delete' | '/acs/users/remove_from_access_group' | '/acs/users/revoke_access_to_all_entrances' | '/acs/users/suspend' | '/acs/users/unsuspend' | '/acs/users/update' | '/client_sessions/create' | '/client_sessions/delete' | '/client_sessions/get_or_create' | '/client_sessions/grant_access' | '/client_sessions/revoke' | '/connect_webviews/create' | '/connect_webviews/delete' | '/connected_accounts/delete' | '/connected_accounts/sync' | '/connected_accounts/update' | '/connected_accounts/simulate/disconnect' | '/customers/create_portal' | '/customers/delete_data' | '/customers/push_data' | '/devices/report_provider_metadata' | '/devices/update' | '/devices/simulate/connect' | '/devices/simulate/connect_to_hub' | '/devices/simulate/disconnect' | '/devices/simulate/disconnect_from_hub' | '/devices/simulate/paid_subscription' | '/devices/simulate/remove' | '/devices/unmanaged/update' | '/instant_keys/delete' | '/locks/configure_auto_lock' | '/locks/lock_door' | '/locks/unlock_door' | '/locks/simulate/keypad_code_entry' | '/locks/simulate/manual_lock_via_keypad' | '/noise_sensors/noise_thresholds/create' | '/noise_sensors/noise_thresholds/delete' | '/noise_sensors/noise_thresholds/update' | '/noise_sensors/simulate/trigger_noise_threshold' | '/phones/deactivate' | '/phones/simulate/create_sandbox_phone' | '/spaces/add_acs_entrances' | '/spaces/add_connected_account' | '/spaces/add_devices' | '/spaces/create' | '/spaces/delete' | '/spaces/remove_acs_entrances' | '/spaces/remove_connected_account' | '/spaces/remove_devices' | '/spaces/update' | '/thermostats/activate_climate_preset' | '/thermostats/cool' | '/thermostats/create_climate_preset' | '/thermostats/delete_climate_preset' | '/thermostats/heat' | '/thermostats/heat_cool' | '/thermostats/off' | '/thermostats/set_fallback_climate_preset' | '/thermostats/set_fan_mode' | '/thermostats/set_hvac_mode' | '/thermostats/set_temperature_threshold' | '/thermostats/update_climate_preset' | '/thermostats/update_weekly_program' | '/thermostats/daily_programs/create' | '/thermostats/daily_programs/delete' | '/thermostats/daily_programs/update' | '/thermostats/schedules/create' | '/thermostats/schedules/delete' | '/thermostats/schedules/update' | '/thermostats/simulate/hvac_mode_adjusted' | '/thermostats/simulate/temperature_reached' | '/user_identities/add_acs_user' | '/user_identities/create' | '/user_identities/delete' | '/user_identities/generate_instant_key' | '/user_identities/grant_access_to_device' | '/user_identities/remove_acs_user' | '/user_identities/revoke_access_to_device' | '/user_identities/update' | '/user_identities/unmanaged/update' | '/webhooks/create' | '/webhooks/delete' | '/webhooks/update' | '/workspaces/create' | '/workspaces/reset_sandbox' | '/workspaces/update'