diff --git a/src/lib/seam/connect/internal/schemas.ts b/src/lib/seam/connect/internal/schemas.ts index 0d79cae4..6e98a92d 100644 --- a/src/lib/seam/connect/internal/schemas.ts +++ b/src/lib/seam/connect/internal/schemas.ts @@ -80,7 +80,10 @@ export { thermostat_schedule, unit_resource, unmanaged_access_code, + unmanaged_access_grant, + unmanaged_access_method, unmanaged_device, + unmanaged_user_identity, user_identity, user_identity_resource, user_resource, diff --git a/src/lib/seam/connect/models/access-grants/access-grant.ts b/src/lib/seam/connect/models/access-grants/access-grant.ts index 7f053727..12756122 100644 --- a/src/lib/seam/connect/models/access-grants/access-grant.ts +++ b/src/lib/seam/connect/models/access-grants/access-grant.ts @@ -119,3 +119,19 @@ export const access_grant = z.object({ `) export type AccessGrant = z.infer + +// Unmanaged access grant schema - excludes client sessions, instant keys, customization profiles, and keys +export const unmanaged_access_grant = access_grant.omit({ + client_session_token: true, + instant_key_url: true, + customization_profile_id: true, + access_grant_key: true, +}).describe(` + --- + draft: Early access. + route_path: /access_grants/unmanaged + --- + Represents an unmanaged Access Grant. Unmanaged Access Grants do not have client sessions, instant keys, customization profiles, or keys. + `) + +export type UnmanagedAccessGrant = z.infer diff --git a/src/lib/seam/connect/models/access-grants/access-method.ts b/src/lib/seam/connect/models/access-grants/access-method.ts index 2e2f6ef3..3a2a8a36 100644 --- a/src/lib/seam/connect/models/access-grants/access-method.ts +++ b/src/lib/seam/connect/models/access-grants/access-method.ts @@ -100,3 +100,18 @@ export const access_method = z.object({ `) export type AccessMethod = z.infer + +// Unmanaged access method schema - excludes client sessions, instant keys, customization profiles, and keys +export const unmanaged_access_method = access_method.omit({ + instant_key_url: true, + client_session_token: true, + customization_profile_id: true, +}).describe(` + --- + draft: Early access. + route_path: /access_methods/unmanaged + --- + Represents an unmanaged access method. Unmanaged access methods do not have client sessions, instant keys, customization profiles, or keys. + `) + +export type UnmanagedAccessMethod = z.infer diff --git a/src/lib/seam/connect/models/user-identities/user-identity.ts b/src/lib/seam/connect/models/user-identities/user-identity.ts index 9fe90482..d2df275a 100644 --- a/src/lib/seam/connect/models/user-identities/user-identity.ts +++ b/src/lib/seam/connect/models/user-identities/user-identity.ts @@ -156,3 +156,16 @@ export const user_identity = z.object({ `) export type UserIdentity = z.output + +// Unmanaged user identity schema - excludes keys since unmanaged user identities cannot have keys +export const unmanaged_user_identity = user_identity.omit({ + user_identity_key: true, +}).describe(` + --- + draft: Early access. + route_path: /user_identities/unmanaged + --- + Represents an unmanaged user identity. Unmanaged user identities do not have keys. + `) + +export type UnmanagedUserIdentity = z.output diff --git a/src/lib/seam/connect/openapi.ts b/src/lib/seam/connect/openapi.ts index 502f32f4..906b60bf 100644 --- a/src/lib/seam/connect/openapi.ts +++ b/src/lib/seam/connect/openapi.ts @@ -29106,52 +29106,208 @@ export default { 'x-title': 'List Access Grants', }, }, - '/access_grants/update': { - patch: { - description: "Updates an existing Access Grant's time window.", - operationId: 'accessGrantsUpdatePatch', - requestBody: { - content: { - 'application/json': { - schema: { - properties: { - access_grant_id: { - description: 'ID of the Access Grant to update.', - format: 'uuid', - type: 'string', - }, - ends_at: { - description: - 'Date and time at which the validity of the grant ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`.', - format: 'date-time', - nullable: true, - type: 'string', - }, - name: { - description: 'Display name for the access grant.', - nullable: true, - type: 'string', - }, - starts_at: { - description: - 'Date and time at which the validity of the grant starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', - format: 'date-time', - type: 'string', - }, - }, - required: ['access_grant_id'], - type: 'object', - }, + '/access_grants/unmanaged/get': { + get: { + description: + 'Get an unmanaged Access Grant (where is_managed = false).', + operationId: 'accessGrantsUnmanagedGetGet', + parameters: [ + { + in: 'query', + name: 'access_grant_id', + required: true, + schema: { + description: 'ID of unmanaged Access Grant to get.', + format: 'uuid', + type: 'string', }, }, - }, + ], responses: { 200: { content: { 'application/json': { schema: { - properties: { ok: { type: 'boolean' } }, - required: ['ok'], + properties: { + access_grant: { + description: + 'Represents an unmanaged Access Grant. Unmanaged Access Grants do not have client sessions, instant keys, customization profiles, or keys.', + properties: { + access_grant_id: { + description: 'ID of the Access Grant.', + format: 'uuid', + type: 'string', + }, + access_method_ids: { + description: + 'IDs of the access methods created for the Access Grant.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the Access Grant was created.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: 'Display name of the Access Grant.', + type: 'string', + }, + ends_at: { + description: + 'Date and time at which the Access Grant ends.', + format: 'date-time', + nullable: true, + type: 'string', + }, + location_ids: { + deprecated: true, + items: { format: 'uuid', type: 'string' }, + type: 'array', + 'x-deprecated': 'Use `space_ids`.', + }, + name: { + description: + 'Name of the Access Grant. If not provided, the display name will be computed.', + nullable: true, + type: 'string', + }, + requested_access_methods: { + description: + 'Access methods that the user requested for the Access Grant.', + items: { + properties: { + code: { + description: + "Specific PIN code to use for this access method. Only applicable when mode is 'code'.", + maxLength: 9, + minLength: 4, + pattern: '^\\d+$', + type: 'string', + }, + created_access_method_ids: { + description: + 'IDs of the access methods created for the requested access method.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the requested access method was added to the Access Grant.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: + 'Display name of the access method.', + type: 'string', + }, + mode: { + description: + 'Access method mode. Supported values: `code`, `card`, `mobile_key`.', + enum: ['code', 'card', 'mobile_key'], + type: 'string', + }, + }, + required: [ + 'display_name', + 'mode', + 'created_at', + 'created_access_method_ids', + ], + type: 'object', + }, + type: 'array', + }, + space_ids: { + description: + 'IDs of the spaces to which the Access Grant gives access.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + starts_at: { + description: + 'Date and time at which the Access Grant starts.', + format: 'date-time', + type: 'string', + }, + user_identity_id: { + description: + 'ID of user identity to which the Access Grant gives access.', + format: 'uuid', + type: 'string', + }, + warnings: { + description: + 'Warnings associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants).', + items: { + description: + 'Warning associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [access grant](https://docs.seam.co/latest/capability-guides/access-grants) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the Seam workspace associated with the Access Grant.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'workspace_id', + 'access_grant_id', + 'user_identity_id', + 'location_ids', + 'space_ids', + 'requested_access_methods', + 'access_method_ids', + 'name', + 'display_name', + 'created_at', + 'starts_at', + 'ends_at', + 'warnings', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/access_grants/unmanaged', + }, + ok: { type: 'boolean' }, + }, + required: ['access_grant', 'ok'], type: 'object', }, }, @@ -29167,45 +29323,29 @@ export default { { api_key: [] }, { client_session_with_customer: [] }, ], - summary: '/access_grants/update', + summary: '/access_grants/unmanaged/get', tags: [], 'x-draft': 'Early access.', - 'x-fern-sdk-group-name': ['access_grants'], - 'x-fern-sdk-method-name': 'update', - 'x-response-key': null, - 'x-title': 'Update an Access Grant', + 'x-fern-sdk-group-name': ['access_grants', 'unmanaged'], + 'x-fern-sdk-method-name': 'get', + 'x-fern-sdk-return-value': 'access_grant', + 'x-response-key': 'access_grant', + 'x-title': 'Get an Unmanaged Access Grant', }, post: { - description: "Updates an existing Access Grant's time window.", - operationId: 'accessGrantsUpdatePost', + description: + 'Get an unmanaged Access Grant (where is_managed = false).', + operationId: 'accessGrantsUnmanagedGetPost', requestBody: { content: { 'application/json': { schema: { properties: { access_grant_id: { - description: 'ID of the Access Grant to update.', + description: 'ID of unmanaged Access Grant to get.', format: 'uuid', type: 'string', }, - ends_at: { - description: - 'Date and time at which the validity of the grant ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`.', - format: 'date-time', - nullable: true, - type: 'string', - }, - name: { - description: 'Display name for the access grant.', - nullable: true, - type: 'string', - }, - starts_at: { - description: - 'Date and time at which the validity of the grant starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', - format: 'date-time', - type: 'string', - }, }, required: ['access_grant_id'], type: 'object', @@ -29218,70 +29358,929 @@ export default { content: { 'application/json': { schema: { - properties: { ok: { type: 'boolean' } }, - required: ['ok'], - type: 'object', - }, - }, - }, - description: 'OK', - }, - 400: { description: 'Bad Request' }, - 401: { description: 'Unauthorized' }, - }, - security: [ - { pat_with_workspace: [] }, - { console_session_with_workspace: [] }, - { api_key: [] }, - { client_session_with_customer: [] }, - ], - summary: '/access_grants/update', - tags: [], - 'x-draft': 'Early access.', - 'x-fern-sdk-group-name': ['access_grants'], - 'x-fern-sdk-method-name': 'update', - 'x-response-key': null, - 'x-title': 'Update an Access Grant', - }, - }, - '/access_methods/delete': { - delete: { - description: 'Deletes an access method.', - operationId: 'accessMethodsDeleteDelete', - parameters: [ - { - in: 'query', - name: 'access_method_id', - required: true, - schema: { - description: 'ID of access method to get.', - format: 'uuid', - type: 'string', - }, - }, - ], - responses: { - 200: { - content: { - 'application/json': { - schema: { - properties: { ok: { type: 'boolean' } }, - required: ['ok'], - type: 'object', - }, - }, - }, - description: 'OK', - }, - 400: { description: 'Bad Request' }, - 401: { description: 'Unauthorized' }, - }, - security: [ - { pat_with_workspace: [] }, - { console_session_with_workspace: [] }, - { api_key: [] }, - ], - summary: '/access_methods/delete', + properties: { + access_grant: { + description: + 'Represents an unmanaged Access Grant. Unmanaged Access Grants do not have client sessions, instant keys, customization profiles, or keys.', + properties: { + access_grant_id: { + description: 'ID of the Access Grant.', + format: 'uuid', + type: 'string', + }, + access_method_ids: { + description: + 'IDs of the access methods created for the Access Grant.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the Access Grant was created.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: 'Display name of the Access Grant.', + type: 'string', + }, + ends_at: { + description: + 'Date and time at which the Access Grant ends.', + format: 'date-time', + nullable: true, + type: 'string', + }, + location_ids: { + deprecated: true, + items: { format: 'uuid', type: 'string' }, + type: 'array', + 'x-deprecated': 'Use `space_ids`.', + }, + name: { + description: + 'Name of the Access Grant. If not provided, the display name will be computed.', + nullable: true, + type: 'string', + }, + requested_access_methods: { + description: + 'Access methods that the user requested for the Access Grant.', + items: { + properties: { + code: { + description: + "Specific PIN code to use for this access method. Only applicable when mode is 'code'.", + maxLength: 9, + minLength: 4, + pattern: '^\\d+$', + type: 'string', + }, + created_access_method_ids: { + description: + 'IDs of the access methods created for the requested access method.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the requested access method was added to the Access Grant.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: + 'Display name of the access method.', + type: 'string', + }, + mode: { + description: + 'Access method mode. Supported values: `code`, `card`, `mobile_key`.', + enum: ['code', 'card', 'mobile_key'], + type: 'string', + }, + }, + required: [ + 'display_name', + 'mode', + 'created_at', + 'created_access_method_ids', + ], + type: 'object', + }, + type: 'array', + }, + space_ids: { + description: + 'IDs of the spaces to which the Access Grant gives access.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + starts_at: { + description: + 'Date and time at which the Access Grant starts.', + format: 'date-time', + type: 'string', + }, + user_identity_id: { + description: + 'ID of user identity to which the Access Grant gives access.', + format: 'uuid', + type: 'string', + }, + warnings: { + description: + 'Warnings associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants).', + items: { + description: + 'Warning associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [access grant](https://docs.seam.co/latest/capability-guides/access-grants) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the Seam workspace associated with the Access Grant.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'workspace_id', + 'access_grant_id', + 'user_identity_id', + 'location_ids', + 'space_ids', + 'requested_access_methods', + 'access_method_ids', + 'name', + 'display_name', + 'created_at', + 'starts_at', + 'ends_at', + 'warnings', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/access_grants/unmanaged', + }, + ok: { type: 'boolean' }, + }, + required: ['access_grant', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + { client_session_with_customer: [] }, + ], + summary: '/access_grants/unmanaged/get', + tags: [], + 'x-draft': 'Early access.', + 'x-fern-sdk-group-name': ['access_grants', 'unmanaged'], + 'x-fern-sdk-method-name': 'get', + 'x-fern-sdk-return-value': 'access_grant', + 'x-response-key': 'access_grant', + 'x-title': 'Get an Unmanaged Access Grant', + }, + }, + '/access_grants/unmanaged/list': { + get: { + description: 'Gets unmanaged Access Grants (where is_managed = false).', + operationId: 'accessGrantsUnmanagedListGet', + parameters: [ + { + in: 'query', + name: 'user_identity_id', + schema: { + description: + 'ID of user identity by which you want to filter the list of unmanaged Access Grants.', + format: 'uuid', + type: 'string', + }, + }, + { + in: 'query', + name: 'acs_system_id', + schema: { + description: + 'ID of the access system by which you want to filter the list of unmanaged Access Grants.', + format: 'uuid', + type: 'string', + }, + }, + { + in: 'query', + name: 'acs_entrance_id', + schema: { + description: + 'ID of the entrance by which you want to filter the list of unmanaged Access Grants.', + format: 'uuid', + type: 'string', + }, + }, + ], + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + access_grants: { + items: { + description: + 'Represents an unmanaged Access Grant. Unmanaged Access Grants do not have client sessions, instant keys, customization profiles, or keys.', + properties: { + access_grant_id: { + description: 'ID of the Access Grant.', + format: 'uuid', + type: 'string', + }, + access_method_ids: { + description: + 'IDs of the access methods created for the Access Grant.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the Access Grant was created.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: 'Display name of the Access Grant.', + type: 'string', + }, + ends_at: { + description: + 'Date and time at which the Access Grant ends.', + format: 'date-time', + nullable: true, + type: 'string', + }, + location_ids: { + deprecated: true, + items: { format: 'uuid', type: 'string' }, + type: 'array', + 'x-deprecated': 'Use `space_ids`.', + }, + name: { + description: + 'Name of the Access Grant. If not provided, the display name will be computed.', + nullable: true, + type: 'string', + }, + requested_access_methods: { + description: + 'Access methods that the user requested for the Access Grant.', + items: { + properties: { + code: { + description: + "Specific PIN code to use for this access method. Only applicable when mode is 'code'.", + maxLength: 9, + minLength: 4, + pattern: '^\\d+$', + type: 'string', + }, + created_access_method_ids: { + description: + 'IDs of the access methods created for the requested access method.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the requested access method was added to the Access Grant.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: + 'Display name of the access method.', + type: 'string', + }, + mode: { + description: + 'Access method mode. Supported values: `code`, `card`, `mobile_key`.', + enum: ['code', 'card', 'mobile_key'], + type: 'string', + }, + }, + required: [ + 'display_name', + 'mode', + 'created_at', + 'created_access_method_ids', + ], + type: 'object', + }, + type: 'array', + }, + space_ids: { + description: + 'IDs of the spaces to which the Access Grant gives access.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + starts_at: { + description: + 'Date and time at which the Access Grant starts.', + format: 'date-time', + type: 'string', + }, + user_identity_id: { + description: + 'ID of user identity to which the Access Grant gives access.', + format: 'uuid', + type: 'string', + }, + warnings: { + description: + 'Warnings associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants).', + items: { + description: + 'Warning associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [access grant](https://docs.seam.co/latest/capability-guides/access-grants) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the Seam workspace associated with the Access Grant.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'workspace_id', + 'access_grant_id', + 'user_identity_id', + 'location_ids', + 'space_ids', + 'requested_access_methods', + 'access_method_ids', + 'name', + 'display_name', + 'created_at', + 'starts_at', + 'ends_at', + 'warnings', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/access_grants/unmanaged', + }, + type: 'array', + }, + ok: { type: 'boolean' }, + }, + required: ['access_grants', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + { client_session_with_customer: [] }, + ], + summary: '/access_grants/unmanaged/list', + tags: [], + 'x-draft': 'Early access.', + 'x-fern-sdk-group-name': ['access_grants', 'unmanaged'], + 'x-fern-sdk-method-name': 'list', + 'x-fern-sdk-return-value': 'access_grants', + 'x-response-key': 'access_grants', + 'x-title': 'List Unmanaged Access Grants', + }, + post: { + description: 'Gets unmanaged Access Grants (where is_managed = false).', + operationId: 'accessGrantsUnmanagedListPost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + acs_entrance_id: { + description: + 'ID of the entrance by which you want to filter the list of unmanaged Access Grants.', + format: 'uuid', + type: 'string', + }, + acs_system_id: { + description: + 'ID of the access system by which you want to filter the list of unmanaged Access Grants.', + format: 'uuid', + type: 'string', + }, + user_identity_id: { + description: + 'ID of user identity by which you want to filter the list of unmanaged Access Grants.', + format: 'uuid', + type: 'string', + }, + }, + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + access_grants: { + items: { + description: + 'Represents an unmanaged Access Grant. Unmanaged Access Grants do not have client sessions, instant keys, customization profiles, or keys.', + properties: { + access_grant_id: { + description: 'ID of the Access Grant.', + format: 'uuid', + type: 'string', + }, + access_method_ids: { + description: + 'IDs of the access methods created for the Access Grant.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the Access Grant was created.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: 'Display name of the Access Grant.', + type: 'string', + }, + ends_at: { + description: + 'Date and time at which the Access Grant ends.', + format: 'date-time', + nullable: true, + type: 'string', + }, + location_ids: { + deprecated: true, + items: { format: 'uuid', type: 'string' }, + type: 'array', + 'x-deprecated': 'Use `space_ids`.', + }, + name: { + description: + 'Name of the Access Grant. If not provided, the display name will be computed.', + nullable: true, + type: 'string', + }, + requested_access_methods: { + description: + 'Access methods that the user requested for the Access Grant.', + items: { + properties: { + code: { + description: + "Specific PIN code to use for this access method. Only applicable when mode is 'code'.", + maxLength: 9, + minLength: 4, + pattern: '^\\d+$', + type: 'string', + }, + created_access_method_ids: { + description: + 'IDs of the access methods created for the requested access method.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the requested access method was added to the Access Grant.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: + 'Display name of the access method.', + type: 'string', + }, + mode: { + description: + 'Access method mode. Supported values: `code`, `card`, `mobile_key`.', + enum: ['code', 'card', 'mobile_key'], + type: 'string', + }, + }, + required: [ + 'display_name', + 'mode', + 'created_at', + 'created_access_method_ids', + ], + type: 'object', + }, + type: 'array', + }, + space_ids: { + description: + 'IDs of the spaces to which the Access Grant gives access.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + starts_at: { + description: + 'Date and time at which the Access Grant starts.', + format: 'date-time', + type: 'string', + }, + user_identity_id: { + description: + 'ID of user identity to which the Access Grant gives access.', + format: 'uuid', + type: 'string', + }, + warnings: { + description: + 'Warnings associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants).', + items: { + description: + 'Warning associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [access grant](https://docs.seam.co/latest/capability-guides/access-grants) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the Seam workspace associated with the Access Grant.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'workspace_id', + 'access_grant_id', + 'user_identity_id', + 'location_ids', + 'space_ids', + 'requested_access_methods', + 'access_method_ids', + 'name', + 'display_name', + 'created_at', + 'starts_at', + 'ends_at', + 'warnings', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/access_grants/unmanaged', + }, + type: 'array', + }, + ok: { type: 'boolean' }, + }, + required: ['access_grants', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + { client_session_with_customer: [] }, + ], + summary: '/access_grants/unmanaged/list', + tags: [], + 'x-draft': 'Early access.', + 'x-fern-sdk-group-name': ['access_grants', 'unmanaged'], + 'x-fern-sdk-method-name': 'list', + 'x-fern-sdk-return-value': 'access_grants', + 'x-response-key': 'access_grants', + 'x-title': 'List Unmanaged Access Grants', + }, + }, + '/access_grants/update': { + patch: { + description: "Updates an existing Access Grant's time window.", + operationId: 'accessGrantsUpdatePatch', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + access_grant_id: { + description: 'ID of the Access Grant to update.', + format: 'uuid', + type: 'string', + }, + ends_at: { + description: + 'Date and time at which the validity of the grant ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`.', + format: 'date-time', + nullable: true, + type: 'string', + }, + name: { + description: 'Display name for the access grant.', + nullable: true, + type: 'string', + }, + starts_at: { + description: + 'Date and time at which the validity of the grant starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + format: 'date-time', + type: 'string', + }, + }, + required: ['access_grant_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + { client_session_with_customer: [] }, + ], + summary: '/access_grants/update', + tags: [], + 'x-draft': 'Early access.', + 'x-fern-sdk-group-name': ['access_grants'], + 'x-fern-sdk-method-name': 'update', + 'x-response-key': null, + 'x-title': 'Update an Access Grant', + }, + post: { + description: "Updates an existing Access Grant's time window.", + operationId: 'accessGrantsUpdatePost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + access_grant_id: { + description: 'ID of the Access Grant to update.', + format: 'uuid', + type: 'string', + }, + ends_at: { + description: + 'Date and time at which the validity of the grant ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`.', + format: 'date-time', + nullable: true, + type: 'string', + }, + name: { + description: 'Display name for the access grant.', + nullable: true, + type: 'string', + }, + starts_at: { + description: + 'Date and time at which the validity of the grant starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.', + format: 'date-time', + type: 'string', + }, + }, + required: ['access_grant_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + { client_session_with_customer: [] }, + ], + summary: '/access_grants/update', + tags: [], + 'x-draft': 'Early access.', + 'x-fern-sdk-group-name': ['access_grants'], + 'x-fern-sdk-method-name': 'update', + 'x-response-key': null, + 'x-title': 'Update an Access Grant', + }, + }, + '/access_methods/delete': { + delete: { + description: 'Deletes an access method.', + operationId: 'accessMethodsDeleteDelete', + parameters: [ + { + in: 'query', + name: 'access_method_id', + required: true, + schema: { + description: 'ID of access method to get.', + format: 'uuid', + type: 'string', + }, + }, + ], + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/access_methods/delete', + tags: [], + 'x-draft': 'Early access.', + 'x-fern-sdk-group-name': ['access_methods'], + 'x-fern-sdk-method-name': 'delete', + 'x-response-key': null, + 'x-title': 'Delete an Access Method', + }, + post: { + description: 'Deletes an access method.', + operationId: 'accessMethodsDeletePost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + access_method_id: { + description: 'ID of access method to get.', + format: 'uuid', + type: 'string', + }, + }, + required: ['access_method_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/access_methods/delete', tags: [], 'x-draft': 'Early access.', 'x-fern-sdk-group-name': ['access_methods'], @@ -29289,9 +30288,126 @@ export default { 'x-response-key': null, 'x-title': 'Delete an Access Method', }, + }, + '/access_methods/encode': { + post: { + description: + 'Encodes an existing access method onto a plastic card placed on the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners).', + operationId: 'accessMethodsEncodePost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + access_method_id: { + description: + 'ID of the `access_method` to encode onto a card.', + format: 'uuid', + type: 'string', + }, + acs_encoder_id: { + description: + 'ID of the `acs_encoder` to use to encode the `access_method`.', + format: 'uuid', + type: 'string', + }, + }, + required: ['acs_encoder_id', 'access_method_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + action_attempt: { + $ref: '#/components/schemas/action_attempt', + }, + ok: { type: 'boolean' }, + }, + required: ['action_attempt', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/access_methods/encode', + tags: [], + 'x-action-attempt-type': 'ENCODE_CREDENTIAL', + 'x-fern-sdk-group-name': ['access_methods'], + 'x-fern-sdk-method-name': 'encode', + 'x-fern-sdk-return-value': 'action_attempt', + 'x-response-key': 'action_attempt', + 'x-title': 'Encode an Access Method', + }, + }, + '/access_methods/get': { + get: { + description: 'Gets an access method.', + operationId: 'accessMethodsGetGet', + parameters: [ + { + in: 'query', + name: 'access_method_id', + required: true, + schema: { + description: 'ID of access method to get.', + format: 'uuid', + type: 'string', + }, + }, + ], + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + access_method: { + $ref: '#/components/schemas/access_method', + }, + ok: { type: 'boolean' }, + }, + required: ['access_method', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/access_methods/get', + tags: [], + 'x-draft': 'Early access.', + 'x-fern-sdk-group-name': ['access_methods'], + 'x-fern-sdk-method-name': 'get', + 'x-fern-sdk-return-value': 'access_method', + 'x-response-key': 'access_method', + 'x-title': 'Get an Access Method', + }, post: { - description: 'Deletes an access method.', - operationId: 'accessMethodsDeletePost', + description: 'Gets an access method.', + operationId: 'accessMethodsGetPost', requestBody: { content: { 'application/json': { @@ -29302,20 +30418,268 @@ export default { format: 'uuid', type: 'string', }, - }, - required: ['access_method_id'], - type: 'object', - }, - }, - }, - }, - responses: { - 200: { - content: { - 'application/json': { - schema: { - properties: { ok: { type: 'boolean' } }, - required: ['ok'], + }, + required: ['access_method_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + access_method: { + $ref: '#/components/schemas/access_method', + }, + ok: { type: 'boolean' }, + }, + required: ['access_method', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/access_methods/get', + tags: [], + 'x-draft': 'Early access.', + 'x-fern-sdk-group-name': ['access_methods'], + 'x-fern-sdk-method-name': 'get', + 'x-fern-sdk-return-value': 'access_method', + 'x-response-key': 'access_method', + 'x-title': 'Get an Access Method', + }, + }, + '/access_methods/get_related': { + get: { + description: + 'Gets all related resources for one or more Access Methods.', + operationId: 'accessMethodsGetRelatedGet', + parameters: [ + { + in: 'query', + name: 'access_method_ids', + required: true, + schema: { + description: + 'IDs of the access methods that you want to get along with their related resources.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + }, + { + in: 'query', + name: 'include', + required: false, + schema: { + items: { + enum: [ + 'spaces', + 'devices', + 'acs_entrances', + 'access_grants', + 'access_methods', + 'instant_keys', + 'client_sessions', + ], + type: 'string', + }, + type: 'array', + }, + }, + { + in: 'query', + name: 'exclude', + required: false, + schema: { + items: { + enum: [ + 'spaces', + 'devices', + 'acs_entrances', + 'access_grants', + 'access_methods', + 'instant_keys', + 'client_sessions', + ], + type: 'string', + }, + type: 'array', + }, + }, + ], + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + batch: { + description: 'A batch of workspace resources.', + properties: { + access_codes: { + items: { $ref: '#/components/schemas/access_code' }, + type: 'array', + }, + access_grants: { + items: { $ref: '#/components/schemas/access_grant' }, + type: 'array', + }, + access_methods: { + items: { $ref: '#/components/schemas/access_method' }, + type: 'array', + }, + acs_access_groups: { + items: { + $ref: '#/components/schemas/acs_access_group', + }, + type: 'array', + }, + acs_credentials: { + items: { + $ref: '#/components/schemas/acs_credential', + }, + type: 'array', + }, + acs_encoders: { + items: { $ref: '#/components/schemas/acs_encoder' }, + type: 'array', + }, + acs_entrances: { + items: { $ref: '#/components/schemas/acs_entrance' }, + type: 'array', + }, + acs_systems: { + items: { $ref: '#/components/schemas/acs_system' }, + type: 'array', + }, + acs_users: { + items: { $ref: '#/components/schemas/acs_user' }, + type: 'array', + }, + action_attempts: { + items: { + $ref: '#/components/schemas/action_attempt', + }, + type: 'array', + }, + batch_type: { + enum: [ + 'workspaces', + 'spaces', + 'access_grants', + 'access_methods', + ], + type: 'string', + }, + client_sessions: { + items: { + $ref: '#/components/schemas/client_session', + }, + type: 'array', + }, + connect_webviews: { + items: { + $ref: '#/components/schemas/connect_webview', + }, + type: 'array', + }, + customization_profiles: { + items: { + $ref: '#/components/schemas/customization_profile', + }, + type: 'array', + }, + devices: { + items: { $ref: '#/components/schemas/device' }, + type: 'array', + }, + events: { + items: { $ref: '#/components/schemas/event' }, + type: 'array', + }, + instant_keys: { + items: { $ref: '#/components/schemas/instant_key' }, + type: 'array', + }, + noise_thresholds: { + items: { + $ref: '#/components/schemas/noise_threshold', + }, + type: 'array', + }, + spaces: { + items: { $ref: '#/components/schemas/space' }, + type: 'array', + }, + thermostat_daily_programs: { + items: { + $ref: '#/components/schemas/thermostat_daily_program', + }, + type: 'array', + }, + thermostat_schedules: { + items: { + $ref: '#/components/schemas/thermostat_schedule', + }, + type: 'array', + }, + unmanaged_access_codes: { + items: { + $ref: '#/components/schemas/unmanaged_access_code', + }, + type: 'array', + }, + unmanaged_acs_access_groups: { + items: { + $ref: '#/components/schemas/unmanaged_acs_access_group', + }, + type: 'array', + }, + unmanaged_acs_credentials: { + items: { + $ref: '#/components/schemas/unmanaged_acs_credential', + }, + type: 'array', + }, + unmanaged_acs_users: { + items: { + $ref: '#/components/schemas/unmanaged_acs_user', + }, + type: 'array', + }, + unmanaged_devices: { + items: { + $ref: '#/components/schemas/unmanaged_device', + }, + type: 'array', + }, + user_identities: { + items: { $ref: '#/components/schemas/user_identity' }, + type: 'array', + }, + workspaces: { + items: { $ref: '#/components/schemas/workspace' }, + type: 'array', + }, + }, + required: ['batch_type'], + type: 'object', + }, + ok: { type: 'boolean' }, + }, + required: ['batch', 'ok'], type: 'object', }, }, @@ -29330,39 +30694,63 @@ export default { { console_session_with_workspace: [] }, { api_key: [] }, ], - summary: '/access_methods/delete', + summary: '/access_methods/get_related', tags: [], + 'x-batch-type': 'access_methods', 'x-draft': 'Early access.', 'x-fern-sdk-group-name': ['access_methods'], - 'x-fern-sdk-method-name': 'delete', - 'x-response-key': null, - 'x-title': 'Delete an Access Method', + 'x-fern-sdk-method-name': 'get_related', + 'x-fern-sdk-return-value': 'batch', + 'x-response-key': 'batch', + 'x-title': 'Get related Access Method resources', }, - }, - '/access_methods/encode': { post: { description: - 'Encodes an existing access method onto a plastic card placed on the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners).', - operationId: 'accessMethodsEncodePost', + 'Gets all related resources for one or more Access Methods.', + operationId: 'accessMethodsGetRelatedPost', requestBody: { content: { 'application/json': { schema: { properties: { - access_method_id: { + access_method_ids: { description: - 'ID of the `access_method` to encode onto a card.', - format: 'uuid', - type: 'string', + 'IDs of the access methods that you want to get along with their related resources.', + items: { format: 'uuid', type: 'string' }, + type: 'array', }, - acs_encoder_id: { - description: - 'ID of the `acs_encoder` to use to encode the `access_method`.', - format: 'uuid', - type: 'string', + exclude: { + items: { + enum: [ + 'spaces', + 'devices', + 'acs_entrances', + 'access_grants', + 'access_methods', + 'instant_keys', + 'client_sessions', + ], + type: 'string', + }, + type: 'array', + }, + include: { + items: { + enum: [ + 'spaces', + 'devices', + 'acs_entrances', + 'access_grants', + 'access_methods', + 'instant_keys', + 'client_sessions', + ], + type: 'string', + }, + type: 'array', }, }, - required: ['acs_encoder_id', 'access_method_id'], + required: ['access_method_ids'], type: 'object', }, }, @@ -29374,12 +30762,161 @@ export default { 'application/json': { schema: { properties: { - action_attempt: { - $ref: '#/components/schemas/action_attempt', + batch: { + description: 'A batch of workspace resources.', + properties: { + access_codes: { + items: { $ref: '#/components/schemas/access_code' }, + type: 'array', + }, + access_grants: { + items: { $ref: '#/components/schemas/access_grant' }, + type: 'array', + }, + access_methods: { + items: { $ref: '#/components/schemas/access_method' }, + type: 'array', + }, + acs_access_groups: { + items: { + $ref: '#/components/schemas/acs_access_group', + }, + type: 'array', + }, + acs_credentials: { + items: { + $ref: '#/components/schemas/acs_credential', + }, + type: 'array', + }, + acs_encoders: { + items: { $ref: '#/components/schemas/acs_encoder' }, + type: 'array', + }, + acs_entrances: { + items: { $ref: '#/components/schemas/acs_entrance' }, + type: 'array', + }, + acs_systems: { + items: { $ref: '#/components/schemas/acs_system' }, + type: 'array', + }, + acs_users: { + items: { $ref: '#/components/schemas/acs_user' }, + type: 'array', + }, + action_attempts: { + items: { + $ref: '#/components/schemas/action_attempt', + }, + type: 'array', + }, + batch_type: { + enum: [ + 'workspaces', + 'spaces', + 'access_grants', + 'access_methods', + ], + type: 'string', + }, + client_sessions: { + items: { + $ref: '#/components/schemas/client_session', + }, + type: 'array', + }, + connect_webviews: { + items: { + $ref: '#/components/schemas/connect_webview', + }, + type: 'array', + }, + customization_profiles: { + items: { + $ref: '#/components/schemas/customization_profile', + }, + type: 'array', + }, + devices: { + items: { $ref: '#/components/schemas/device' }, + type: 'array', + }, + events: { + items: { $ref: '#/components/schemas/event' }, + type: 'array', + }, + instant_keys: { + items: { $ref: '#/components/schemas/instant_key' }, + type: 'array', + }, + noise_thresholds: { + items: { + $ref: '#/components/schemas/noise_threshold', + }, + type: 'array', + }, + spaces: { + items: { $ref: '#/components/schemas/space' }, + type: 'array', + }, + thermostat_daily_programs: { + items: { + $ref: '#/components/schemas/thermostat_daily_program', + }, + type: 'array', + }, + thermostat_schedules: { + items: { + $ref: '#/components/schemas/thermostat_schedule', + }, + type: 'array', + }, + unmanaged_access_codes: { + items: { + $ref: '#/components/schemas/unmanaged_access_code', + }, + type: 'array', + }, + unmanaged_acs_access_groups: { + items: { + $ref: '#/components/schemas/unmanaged_acs_access_group', + }, + type: 'array', + }, + unmanaged_acs_credentials: { + items: { + $ref: '#/components/schemas/unmanaged_acs_credential', + }, + type: 'array', + }, + unmanaged_acs_users: { + items: { + $ref: '#/components/schemas/unmanaged_acs_user', + }, + type: 'array', + }, + unmanaged_devices: { + items: { + $ref: '#/components/schemas/unmanaged_device', + }, + type: 'array', + }, + user_identities: { + items: { $ref: '#/components/schemas/user_identity' }, + type: 'array', + }, + workspaces: { + items: { $ref: '#/components/schemas/workspace' }, + type: 'array', + }, + }, + required: ['batch_type'], + type: 'object', }, ok: { type: 'boolean' }, }, - required: ['action_attempt', 'ok'], + required: ['batch', 'ok'], type: 'object', }, }, @@ -29394,27 +30931,62 @@ export default { { console_session_with_workspace: [] }, { api_key: [] }, ], - summary: '/access_methods/encode', + summary: '/access_methods/get_related', tags: [], - 'x-action-attempt-type': 'ENCODE_CREDENTIAL', + 'x-batch-type': 'access_methods', + 'x-draft': 'Early access.', 'x-fern-sdk-group-name': ['access_methods'], - 'x-fern-sdk-method-name': 'encode', - 'x-fern-sdk-return-value': 'action_attempt', - 'x-response-key': 'action_attempt', - 'x-title': 'Encode an Access Method', + 'x-fern-sdk-method-name': 'get_related', + 'x-fern-sdk-return-value': 'batch', + 'x-response-key': 'batch', + 'x-title': 'Get related Access Method resources', }, }, - '/access_methods/get': { + '/access_methods/list': { get: { - description: 'Gets an access method.', - operationId: 'accessMethodsGetGet', + description: + 'Lists all access methods, usually filtered by Access Grant.', + operationId: 'accessMethodsListGet', parameters: [ { in: 'query', - name: 'access_method_id', + name: 'access_grant_id', required: true, schema: { - description: 'ID of access method to get.', + description: 'ID of Access Grant to list access methods for.', + format: 'uuid', + type: 'string', + }, + }, + { + in: 'query', + name: 'device_id', + required: false, + schema: { + description: + 'ID of the device for which you want to retrieve all access methods.', + format: 'uuid', + type: 'string', + }, + }, + { + in: 'query', + name: 'acs_entrance_id', + required: false, + schema: { + description: + 'ID of the entrance for which you want to retrieve all access methods.', + format: 'uuid', + type: 'string', + }, + }, + { + in: 'query', + name: 'space_id', + required: false, + schema: { + description: + 'ID of the space for which you want to retrieve all access methods.', format: 'uuid', type: 'string', }, @@ -29426,12 +30998,13 @@ export default { 'application/json': { schema: { properties: { - access_method: { - $ref: '#/components/schemas/access_method', + access_methods: { + items: { $ref: '#/components/schemas/access_method' }, + type: 'array', }, ok: { type: 'boolean' }, }, - required: ['access_method', 'ok'], + required: ['access_methods', 'ok'], type: 'object', }, }, @@ -29446,30 +31019,50 @@ export default { { console_session_with_workspace: [] }, { api_key: [] }, ], - summary: '/access_methods/get', + summary: '/access_methods/list', tags: [], 'x-draft': 'Early access.', 'x-fern-sdk-group-name': ['access_methods'], - 'x-fern-sdk-method-name': 'get', - 'x-fern-sdk-return-value': 'access_method', - 'x-response-key': 'access_method', - 'x-title': 'Get an Access Method', + 'x-fern-sdk-method-name': 'list', + 'x-fern-sdk-return-value': 'access_methods', + 'x-response-key': 'access_methods', + 'x-title': 'List Access Methods', }, post: { - description: 'Gets an access method.', - operationId: 'accessMethodsGetPost', + description: + 'Lists all access methods, usually filtered by Access Grant.', + operationId: 'accessMethodsListPost', requestBody: { content: { 'application/json': { schema: { properties: { - access_method_id: { - description: 'ID of access method to get.', + access_grant_id: { + description: + 'ID of Access Grant to list access methods for.', + format: 'uuid', + type: 'string', + }, + acs_entrance_id: { + description: + 'ID of the entrance for which you want to retrieve all access methods.', + format: 'uuid', + type: 'string', + }, + device_id: { + description: + 'ID of the device for which you want to retrieve all access methods.', + format: 'uuid', + type: 'string', + }, + space_id: { + description: + 'ID of the space for which you want to retrieve all access methods.', format: 'uuid', type: 'string', }, }, - required: ['access_method_id'], + required: ['access_grant_id'], type: 'object', }, }, @@ -29481,12 +31074,13 @@ export default { 'application/json': { schema: { properties: { - access_method: { - $ref: '#/components/schemas/access_method', + access_methods: { + items: { $ref: '#/components/schemas/access_method' }, + type: 'array', }, ok: { type: 'boolean' }, }, - required: ['access_method', 'ok'], + required: ['access_methods', 'ok'], type: 'object', }, }, @@ -29501,71 +31095,30 @@ export default { { console_session_with_workspace: [] }, { api_key: [] }, ], - summary: '/access_methods/get', + summary: '/access_methods/list', tags: [], 'x-draft': 'Early access.', 'x-fern-sdk-group-name': ['access_methods'], - 'x-fern-sdk-method-name': 'get', - 'x-fern-sdk-return-value': 'access_method', - 'x-response-key': 'access_method', - 'x-title': 'Get an Access Method', + 'x-fern-sdk-method-name': 'list', + 'x-fern-sdk-return-value': 'access_methods', + 'x-response-key': 'access_methods', + 'x-title': 'List Access Methods', }, }, - '/access_methods/get_related': { + '/access_methods/unmanaged/get': { get: { description: - 'Gets all related resources for one or more Access Methods.', - operationId: 'accessMethodsGetRelatedGet', + 'Gets an unmanaged access method (where is_managed = false).', + operationId: 'accessMethodsUnmanagedGetGet', parameters: [ { in: 'query', - name: 'access_method_ids', + name: 'access_method_id', required: true, schema: { - description: - 'IDs of the access methods that you want to get along with their related resources.', - items: { format: 'uuid', type: 'string' }, - type: 'array', - }, - }, - { - in: 'query', - name: 'include', - required: false, - schema: { - items: { - enum: [ - 'spaces', - 'devices', - 'acs_entrances', - 'access_grants', - 'access_methods', - 'instant_keys', - 'client_sessions', - ], - type: 'string', - }, - type: 'array', - }, - }, - { - in: 'query', - name: 'exclude', - required: false, - schema: { - items: { - enum: [ - 'spaces', - 'devices', - 'acs_entrances', - 'access_grants', - 'access_methods', - 'instant_keys', - 'client_sessions', - ], - type: 'string', - }, - type: 'array', + description: 'ID of unmanaged access method to get.', + format: 'uuid', + type: 'string', }, }, ], @@ -29575,161 +31128,119 @@ export default { 'application/json': { schema: { properties: { - batch: { - description: 'A batch of workspace resources.', + access_method: { + description: + 'Represents an unmanaged access method. Unmanaged access methods do not have client sessions, instant keys, customization profiles, or keys.', properties: { - access_codes: { - items: { $ref: '#/components/schemas/access_code' }, - type: 'array', - }, - access_grants: { - items: { $ref: '#/components/schemas/access_grant' }, - type: 'array', - }, - access_methods: { - items: { $ref: '#/components/schemas/access_method' }, - type: 'array', - }, - acs_access_groups: { - items: { - $ref: '#/components/schemas/acs_access_group', - }, - type: 'array', - }, - acs_credentials: { - items: { - $ref: '#/components/schemas/acs_credential', - }, - type: 'array', - }, - acs_encoders: { - items: { $ref: '#/components/schemas/acs_encoder' }, - type: 'array', - }, - acs_entrances: { - items: { $ref: '#/components/schemas/acs_entrance' }, - type: 'array', - }, - acs_systems: { - items: { $ref: '#/components/schemas/acs_system' }, - type: 'array', - }, - acs_users: { - items: { $ref: '#/components/schemas/acs_user' }, - type: 'array', - }, - action_attempts: { - items: { - $ref: '#/components/schemas/action_attempt', - }, - type: 'array', - }, - batch_type: { - enum: [ - 'workspaces', - 'spaces', - 'access_grants', - 'access_methods', - ], + access_method_id: { + description: 'ID of the access method.', + format: 'uuid', type: 'string', }, - client_sessions: { - items: { - $ref: '#/components/schemas/client_session', - }, - type: 'array', - }, - connect_webviews: { - items: { - $ref: '#/components/schemas/connect_webview', - }, - type: 'array', - }, - customization_profiles: { - items: { - $ref: '#/components/schemas/customization_profile', - }, - type: 'array', - }, - devices: { - items: { $ref: '#/components/schemas/device' }, - type: 'array', - }, - events: { - items: { $ref: '#/components/schemas/event' }, - type: 'array', - }, - instant_keys: { - items: { $ref: '#/components/schemas/instant_key' }, - type: 'array', - }, - noise_thresholds: { - items: { - $ref: '#/components/schemas/noise_threshold', - }, - type: 'array', - }, - spaces: { - items: { $ref: '#/components/schemas/space' }, - type: 'array', - }, - thermostat_daily_programs: { - items: { - $ref: '#/components/schemas/thermostat_daily_program', - }, - type: 'array', + code: { + description: + 'The actual PIN code for code access methods.', + nullable: true, + type: 'string', }, - thermostat_schedules: { - items: { - $ref: '#/components/schemas/thermostat_schedule', - }, - type: 'array', + created_at: { + description: + 'Date and time at which the access method was created.', + format: 'date-time', + type: 'string', }, - unmanaged_access_codes: { - items: { - $ref: '#/components/schemas/unmanaged_access_code', - }, - type: 'array', + display_name: { + description: 'Display name of the access method.', + type: 'string', }, - unmanaged_acs_access_groups: { - items: { - $ref: '#/components/schemas/unmanaged_acs_access_group', - }, - type: 'array', + is_encoding_required: { + description: + 'Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.', + type: 'boolean', }, - unmanaged_acs_credentials: { - items: { - $ref: '#/components/schemas/unmanaged_acs_credential', - }, - type: 'array', + is_issued: { + description: + 'Indicates whether the access method has been issued.', + type: 'boolean', }, - unmanaged_acs_users: { - items: { - $ref: '#/components/schemas/unmanaged_acs_user', - }, - type: 'array', + issued_at: { + description: + 'Date and time at which the access method was issued.', + format: 'date-time', + nullable: true, + type: 'string', }, - unmanaged_devices: { + mode: { + description: + 'Access method mode. Supported values: `code`, `card`, `mobile_key`.', + enum: ['code', 'card', 'mobile_key'], + type: 'string', + }, + warnings: { + description: + 'Warnings associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods).', items: { - $ref: '#/components/schemas/unmanaged_device', + description: + 'Warning associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], }, type: 'array', }, - user_identities: { - items: { $ref: '#/components/schemas/user_identity' }, - type: 'array', - }, - workspaces: { - items: { $ref: '#/components/schemas/workspace' }, - type: 'array', + workspace_id: { + description: + 'ID of the Seam workspace associated with the access method.', + format: 'uuid', + type: 'string', }, }, - required: ['batch_type'], + required: [ + 'workspace_id', + 'access_method_id', + 'display_name', + 'mode', + 'created_at', + 'issued_at', + 'is_issued', + 'warnings', + ], type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/access_methods/unmanaged', }, ok: { type: 'boolean' }, }, - required: ['batch', 'ok'], + required: ['access_method', 'ok'], type: 'object', }, }, @@ -29744,63 +31255,31 @@ export default { { console_session_with_workspace: [] }, { api_key: [] }, ], - summary: '/access_methods/get_related', + summary: '/access_methods/unmanaged/get', tags: [], - 'x-batch-type': 'access_methods', 'x-draft': 'Early access.', - 'x-fern-sdk-group-name': ['access_methods'], - 'x-fern-sdk-method-name': 'get_related', - 'x-fern-sdk-return-value': 'batch', - 'x-response-key': 'batch', - 'x-title': 'Get related Access Method resources', + 'x-fern-sdk-group-name': ['access_methods', 'unmanaged'], + 'x-fern-sdk-method-name': 'get', + 'x-fern-sdk-return-value': 'access_method', + 'x-response-key': 'access_method', + 'x-title': 'Get an Unmanaged Access Method', }, post: { description: - 'Gets all related resources for one or more Access Methods.', - operationId: 'accessMethodsGetRelatedPost', + 'Gets an unmanaged access method (where is_managed = false).', + operationId: 'accessMethodsUnmanagedGetPost', requestBody: { content: { 'application/json': { schema: { properties: { - access_method_ids: { - description: - 'IDs of the access methods that you want to get along with their related resources.', - items: { format: 'uuid', type: 'string' }, - type: 'array', - }, - exclude: { - items: { - enum: [ - 'spaces', - 'devices', - 'acs_entrances', - 'access_grants', - 'access_methods', - 'instant_keys', - 'client_sessions', - ], - type: 'string', - }, - type: 'array', - }, - include: { - items: { - enum: [ - 'spaces', - 'devices', - 'acs_entrances', - 'access_grants', - 'access_methods', - 'instant_keys', - 'client_sessions', - ], - type: 'string', - }, - type: 'array', + access_method_id: { + description: 'ID of unmanaged access method to get.', + format: 'uuid', + type: 'string', }, }, - required: ['access_method_ids'], + required: ['access_method_id'], type: 'object', }, }, @@ -29812,161 +31291,119 @@ export default { 'application/json': { schema: { properties: { - batch: { - description: 'A batch of workspace resources.', + access_method: { + description: + 'Represents an unmanaged access method. Unmanaged access methods do not have client sessions, instant keys, customization profiles, or keys.', properties: { - access_codes: { - items: { $ref: '#/components/schemas/access_code' }, - type: 'array', - }, - access_grants: { - items: { $ref: '#/components/schemas/access_grant' }, - type: 'array', - }, - access_methods: { - items: { $ref: '#/components/schemas/access_method' }, - type: 'array', - }, - acs_access_groups: { - items: { - $ref: '#/components/schemas/acs_access_group', - }, - type: 'array', - }, - acs_credentials: { - items: { - $ref: '#/components/schemas/acs_credential', - }, - type: 'array', - }, - acs_encoders: { - items: { $ref: '#/components/schemas/acs_encoder' }, - type: 'array', - }, - acs_entrances: { - items: { $ref: '#/components/schemas/acs_entrance' }, - type: 'array', - }, - acs_systems: { - items: { $ref: '#/components/schemas/acs_system' }, - type: 'array', - }, - acs_users: { - items: { $ref: '#/components/schemas/acs_user' }, - type: 'array', - }, - action_attempts: { - items: { - $ref: '#/components/schemas/action_attempt', - }, - type: 'array', - }, - batch_type: { - enum: [ - 'workspaces', - 'spaces', - 'access_grants', - 'access_methods', - ], + access_method_id: { + description: 'ID of the access method.', + format: 'uuid', type: 'string', }, - client_sessions: { - items: { - $ref: '#/components/schemas/client_session', - }, - type: 'array', - }, - connect_webviews: { - items: { - $ref: '#/components/schemas/connect_webview', - }, - type: 'array', - }, - customization_profiles: { - items: { - $ref: '#/components/schemas/customization_profile', - }, - type: 'array', - }, - devices: { - items: { $ref: '#/components/schemas/device' }, - type: 'array', - }, - events: { - items: { $ref: '#/components/schemas/event' }, - type: 'array', - }, - instant_keys: { - items: { $ref: '#/components/schemas/instant_key' }, - type: 'array', - }, - noise_thresholds: { - items: { - $ref: '#/components/schemas/noise_threshold', - }, - type: 'array', - }, - spaces: { - items: { $ref: '#/components/schemas/space' }, - type: 'array', - }, - thermostat_daily_programs: { - items: { - $ref: '#/components/schemas/thermostat_daily_program', - }, - type: 'array', + code: { + description: + 'The actual PIN code for code access methods.', + nullable: true, + type: 'string', }, - thermostat_schedules: { - items: { - $ref: '#/components/schemas/thermostat_schedule', - }, - type: 'array', + created_at: { + description: + 'Date and time at which the access method was created.', + format: 'date-time', + type: 'string', }, - unmanaged_access_codes: { - items: { - $ref: '#/components/schemas/unmanaged_access_code', - }, - type: 'array', + display_name: { + description: 'Display name of the access method.', + type: 'string', }, - unmanaged_acs_access_groups: { - items: { - $ref: '#/components/schemas/unmanaged_acs_access_group', - }, - type: 'array', + is_encoding_required: { + description: + 'Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.', + type: 'boolean', }, - unmanaged_acs_credentials: { - items: { - $ref: '#/components/schemas/unmanaged_acs_credential', - }, - type: 'array', + is_issued: { + description: + 'Indicates whether the access method has been issued.', + type: 'boolean', }, - unmanaged_acs_users: { - items: { - $ref: '#/components/schemas/unmanaged_acs_user', - }, - type: 'array', + issued_at: { + description: + 'Date and time at which the access method was issued.', + format: 'date-time', + nullable: true, + type: 'string', }, - unmanaged_devices: { + mode: { + description: + 'Access method mode. Supported values: `code`, `card`, `mobile_key`.', + enum: ['code', 'card', 'mobile_key'], + type: 'string', + }, + warnings: { + description: + 'Warnings associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods).', items: { - $ref: '#/components/schemas/unmanaged_device', + description: + 'Warning associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], }, type: 'array', }, - user_identities: { - items: { $ref: '#/components/schemas/user_identity' }, - type: 'array', - }, - workspaces: { - items: { $ref: '#/components/schemas/workspace' }, - type: 'array', + workspace_id: { + description: + 'ID of the Seam workspace associated with the access method.', + format: 'uuid', + type: 'string', }, }, - required: ['batch_type'], + required: [ + 'workspace_id', + 'access_method_id', + 'display_name', + 'mode', + 'created_at', + 'issued_at', + 'is_issued', + 'warnings', + ], type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/access_methods/unmanaged', }, ok: { type: 'boolean' }, }, - required: ['batch', 'ok'], + required: ['access_method', 'ok'], type: 'object', }, }, @@ -29981,29 +31418,29 @@ export default { { console_session_with_workspace: [] }, { api_key: [] }, ], - summary: '/access_methods/get_related', + summary: '/access_methods/unmanaged/get', tags: [], - 'x-batch-type': 'access_methods', 'x-draft': 'Early access.', - 'x-fern-sdk-group-name': ['access_methods'], - 'x-fern-sdk-method-name': 'get_related', - 'x-fern-sdk-return-value': 'batch', - 'x-response-key': 'batch', - 'x-title': 'Get related Access Method resources', + 'x-fern-sdk-group-name': ['access_methods', 'unmanaged'], + 'x-fern-sdk-method-name': 'get', + 'x-fern-sdk-return-value': 'access_method', + 'x-response-key': 'access_method', + 'x-title': 'Get an Unmanaged Access Method', }, }, - '/access_methods/list': { + '/access_methods/unmanaged/list': { get: { description: - 'Lists all access methods, usually filtered by Access Grant.', - operationId: 'accessMethodsListGet', + 'Lists all unmanaged access methods (where is_managed = false), usually filtered by Access Grant.', + operationId: 'accessMethodsUnmanagedListGet', parameters: [ { in: 'query', name: 'access_grant_id', required: true, schema: { - description: 'ID of Access Grant to list access methods for.', + description: + 'ID of Access Grant to list unmanaged access methods for.', format: 'uuid', type: 'string', }, @@ -30014,7 +31451,7 @@ export default { required: false, schema: { description: - 'ID of the device for which you want to retrieve all access methods.', + 'ID of the device for which you want to retrieve all unmanaged access methods.', format: 'uuid', type: 'string', }, @@ -30025,7 +31462,7 @@ export default { required: false, schema: { description: - 'ID of the entrance for which you want to retrieve all access methods.', + 'ID of the entrance for which you want to retrieve all unmanaged access methods.', format: 'uuid', type: 'string', }, @@ -30036,7 +31473,7 @@ export default { required: false, schema: { description: - 'ID of the space for which you want to retrieve all access methods.', + 'ID of the space for which you want to retrieve all unmanaged access methods.', format: 'uuid', type: 'string', }, @@ -30049,7 +31486,116 @@ export default { schema: { properties: { access_methods: { - items: { $ref: '#/components/schemas/access_method' }, + items: { + description: + 'Represents an unmanaged access method. Unmanaged access methods do not have client sessions, instant keys, customization profiles, or keys.', + properties: { + access_method_id: { + description: 'ID of the access method.', + format: 'uuid', + type: 'string', + }, + code: { + description: + 'The actual PIN code for code access methods.', + nullable: true, + type: 'string', + }, + created_at: { + description: + 'Date and time at which the access method was created.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: 'Display name of the access method.', + type: 'string', + }, + is_encoding_required: { + description: + 'Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.', + type: 'boolean', + }, + is_issued: { + description: + 'Indicates whether the access method has been issued.', + type: 'boolean', + }, + issued_at: { + description: + 'Date and time at which the access method was issued.', + format: 'date-time', + nullable: true, + type: 'string', + }, + mode: { + description: + 'Access method mode. Supported values: `code`, `card`, `mobile_key`.', + enum: ['code', 'card', 'mobile_key'], + type: 'string', + }, + warnings: { + description: + 'Warnings associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods).', + items: { + description: + 'Warning associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the Seam workspace associated with the access method.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'workspace_id', + 'access_method_id', + 'display_name', + 'mode', + 'created_at', + 'issued_at', + 'is_issued', + 'warnings', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/access_methods/unmanaged', + }, type: 'array', }, ok: { type: 'boolean' }, @@ -30069,19 +31615,19 @@ export default { { console_session_with_workspace: [] }, { api_key: [] }, ], - summary: '/access_methods/list', + summary: '/access_methods/unmanaged/list', tags: [], 'x-draft': 'Early access.', - 'x-fern-sdk-group-name': ['access_methods'], + 'x-fern-sdk-group-name': ['access_methods', 'unmanaged'], 'x-fern-sdk-method-name': 'list', 'x-fern-sdk-return-value': 'access_methods', 'x-response-key': 'access_methods', - 'x-title': 'List Access Methods', + 'x-title': 'List Unmanaged Access Methods', }, post: { description: - 'Lists all access methods, usually filtered by Access Grant.', - operationId: 'accessMethodsListPost', + 'Lists all unmanaged access methods (where is_managed = false), usually filtered by Access Grant.', + operationId: 'accessMethodsUnmanagedListPost', requestBody: { content: { 'application/json': { @@ -30089,25 +31635,25 @@ export default { properties: { access_grant_id: { description: - 'ID of Access Grant to list access methods for.', + 'ID of Access Grant to list unmanaged access methods for.', format: 'uuid', type: 'string', }, acs_entrance_id: { description: - 'ID of the entrance for which you want to retrieve all access methods.', + 'ID of the entrance for which you want to retrieve all unmanaged access methods.', format: 'uuid', type: 'string', }, device_id: { description: - 'ID of the device for which you want to retrieve all access methods.', + 'ID of the device for which you want to retrieve all unmanaged access methods.', format: 'uuid', type: 'string', }, space_id: { description: - 'ID of the space for which you want to retrieve all access methods.', + 'ID of the space for which you want to retrieve all unmanaged access methods.', format: 'uuid', type: 'string', }, @@ -30125,7 +31671,116 @@ export default { schema: { properties: { access_methods: { - items: { $ref: '#/components/schemas/access_method' }, + items: { + description: + 'Represents an unmanaged access method. Unmanaged access methods do not have client sessions, instant keys, customization profiles, or keys.', + properties: { + access_method_id: { + description: 'ID of the access method.', + format: 'uuid', + type: 'string', + }, + code: { + description: + 'The actual PIN code for code access methods.', + nullable: true, + type: 'string', + }, + created_at: { + description: + 'Date and time at which the access method was created.', + format: 'date-time', + type: 'string', + }, + display_name: { + description: 'Display name of the access method.', + type: 'string', + }, + is_encoding_required: { + description: + 'Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.', + type: 'boolean', + }, + is_issued: { + description: + 'Indicates whether the access method has been issued.', + type: 'boolean', + }, + issued_at: { + description: + 'Date and time at which the access method was issued.', + format: 'date-time', + nullable: true, + type: 'string', + }, + mode: { + description: + 'Access method mode. Supported values: `code`, `card`, `mobile_key`.', + enum: ['code', 'card', 'mobile_key'], + type: 'string', + }, + warnings: { + description: + 'Warnings associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods).', + items: { + description: + 'Warning associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods).', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods) is being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the Seam workspace associated with the access method.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'workspace_id', + 'access_method_id', + 'display_name', + 'mode', + 'created_at', + 'issued_at', + 'is_issued', + 'warnings', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/access_methods/unmanaged', + }, type: 'array', }, ok: { type: 'boolean' }, @@ -30145,14 +31800,14 @@ export default { { console_session_with_workspace: [] }, { api_key: [] }, ], - summary: '/access_methods/list', + summary: '/access_methods/unmanaged/list', tags: [], 'x-draft': 'Early access.', - 'x-fern-sdk-group-name': ['access_methods'], + 'x-fern-sdk-group-name': ['access_methods', 'unmanaged'], 'x-fern-sdk-method-name': 'list', 'x-fern-sdk-return-value': 'access_methods', 'x-response-key': 'access_methods', - 'x-title': 'List Access Methods', + 'x-title': 'List Unmanaged Access Methods', }, }, '/acs/access_groups/add_user': { @@ -57893,12 +59548,245 @@ export default { properties: { user_identity_id: { description: - 'ID of the user identity for which you want to retrieve all access systems.', + 'ID of the user identity for which you want to retrieve all access systems.', + format: 'uuid', + type: 'string', + }, + }, + required: ['user_identity_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + acs_systems: { + items: { $ref: '#/components/schemas/acs_system' }, + type: 'array', + }, + ok: { type: 'boolean' }, + }, + required: ['acs_systems', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { client_session: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + { api_key: [] }, + ], + summary: '/user_identities/list_acs_systems', + tags: ['/user_identities'], + 'x-fern-sdk-group-name': ['user_identities'], + 'x-fern-sdk-method-name': 'list_acs_systems', + 'x-fern-sdk-return-value': 'acs_systems', + 'x-response-key': 'acs_systems', + 'x-title': 'List ACS Systems Associated with a User Identity', + }, + }, + '/user_identities/list_acs_users': { + get: { + description: + 'Returns a list of all [access system users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', + operationId: 'userIdentitiesListAcsUsersGet', + parameters: [ + { + in: 'query', + name: 'user_identity_id', + required: true, + schema: { + description: + 'ID of the user identity for which you want to retrieve all access system users.', + format: 'uuid', + type: 'string', + }, + }, + ], + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + acs_users: { + items: { $ref: '#/components/schemas/acs_user' }, + type: 'array', + }, + ok: { type: 'boolean' }, + }, + required: ['acs_users', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { api_key: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + ], + summary: '/user_identities/list_acs_users', + tags: ['/user_identities'], + 'x-fern-sdk-group-name': ['user_identities'], + 'x-fern-sdk-method-name': 'list_acs_users', + 'x-fern-sdk-return-value': 'acs_users', + 'x-response-key': 'acs_users', + 'x-title': 'List ACS Users Associated with a User Identity', + }, + post: { + description: + 'Returns a list of all [access system users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', + operationId: 'userIdentitiesListAcsUsersPost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + user_identity_id: { + description: + 'ID of the user identity for which you want to retrieve all access system users.', + format: 'uuid', + type: 'string', + }, + }, + required: ['user_identity_id'], + type: 'object', + }, + }, + }, + }, + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { + acs_users: { + items: { $ref: '#/components/schemas/acs_user' }, + type: 'array', + }, + ok: { type: 'boolean' }, + }, + required: ['acs_users', 'ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { api_key: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + ], + summary: '/user_identities/list_acs_users', + tags: ['/user_identities'], + 'x-fern-sdk-group-name': ['user_identities'], + 'x-fern-sdk-method-name': 'list_acs_users', + 'x-fern-sdk-return-value': 'acs_users', + 'x-response-key': 'acs_users', + 'x-title': 'List ACS Users Associated with a User Identity', + }, + }, + '/user_identities/remove_acs_user': { + delete: { + description: + 'Removes a specified [access system user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', + operationId: 'userIdentitiesRemoveAcsUserDelete', + parameters: [ + { + in: 'query', + name: 'user_identity_id', + required: true, + schema: { + description: + 'ID of the user identity from which you want to remove an access system user.', + format: 'uuid', + type: 'string', + }, + }, + { + in: 'query', + name: 'acs_user_id', + required: true, + schema: { + description: + 'ID of the access system user that you want to remove from the user identity..', + format: 'uuid', + type: 'string', + }, + }, + ], + responses: { + 200: { + content: { + 'application/json': { + schema: { + properties: { ok: { type: 'boolean' } }, + required: ['ok'], + type: 'object', + }, + }, + }, + description: 'OK', + }, + 400: { description: 'Bad Request' }, + 401: { description: 'Unauthorized' }, + }, + security: [ + { api_key: [] }, + { pat_with_workspace: [] }, + { console_session_with_workspace: [] }, + ], + summary: '/user_identities/remove_acs_user', + tags: ['/user_identities'], + 'x-fern-sdk-group-name': ['user_identities'], + 'x-fern-sdk-method-name': 'remove_acs_user', + 'x-response-key': null, + 'x-title': 'Remove an ACS User from a User Identity', + }, + post: { + description: + 'Removes a specified [access system user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', + operationId: 'userIdentitiesRemoveAcsUserPost', + requestBody: { + content: { + 'application/json': { + schema: { + properties: { + acs_user_id: { + description: + 'ID of the access system user that you want to remove from the user identity..', + format: 'uuid', + type: 'string', + }, + user_identity_id: { + description: + 'ID of the user identity from which you want to remove an access system user.', format: 'uuid', type: 'string', }, }, - required: ['user_identity_id'], + required: ['user_identity_id', 'acs_user_id'], type: 'object', }, }, @@ -57909,14 +59797,8 @@ export default { content: { 'application/json': { schema: { - properties: { - acs_systems: { - items: { $ref: '#/components/schemas/acs_system' }, - type: 'array', - }, - ok: { type: 'boolean' }, - }, - required: ['acs_systems', 'ok'], + properties: { ok: { type: 'boolean' } }, + required: ['ok'], type: 'object', }, }, @@ -57927,25 +59809,23 @@ export default { 401: { description: 'Unauthorized' }, }, security: [ - { client_session: [] }, + { api_key: [] }, { pat_with_workspace: [] }, { console_session_with_workspace: [] }, - { api_key: [] }, ], - summary: '/user_identities/list_acs_systems', + summary: '/user_identities/remove_acs_user', tags: ['/user_identities'], 'x-fern-sdk-group-name': ['user_identities'], - 'x-fern-sdk-method-name': 'list_acs_systems', - 'x-fern-sdk-return-value': 'acs_systems', - 'x-response-key': 'acs_systems', - 'x-title': 'List ACS Systems Associated with a User Identity', + 'x-fern-sdk-method-name': 'remove_acs_user', + 'x-response-key': null, + 'x-title': 'Remove an ACS User from a User Identity', }, }, - '/user_identities/list_acs_users': { - get: { + '/user_identities/revoke_access_to_device': { + delete: { description: - 'Returns a list of all [access system users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', - operationId: 'userIdentitiesListAcsUsersGet', + 'Revokes access to a specified [device](https://docs.seam.co/latest/core-concepts/devices/) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', + operationId: 'userIdentitiesRevokeAccessToDeviceDelete', parameters: [ { in: 'query', @@ -57953,7 +59833,18 @@ export default { required: true, schema: { description: - 'ID of the user identity for which you want to retrieve all access system users.', + 'ID of the user identity from which you want to revoke access to a device.', + format: 'uuid', + type: 'string', + }, + }, + { + in: 'query', + name: 'device_id', + required: true, + schema: { + description: + 'ID of the managed device to which you want to revoke access from the user identity.', format: 'uuid', type: 'string', }, @@ -57964,14 +59855,8 @@ export default { content: { 'application/json': { schema: { - properties: { - acs_users: { - items: { $ref: '#/components/schemas/acs_user' }, - type: 'array', - }, - ok: { type: 'boolean' }, - }, - required: ['acs_users', 'ok'], + properties: { ok: { type: 'boolean' } }, + required: ['ok'], type: 'object', }, }, @@ -57986,31 +59871,36 @@ export default { { pat_with_workspace: [] }, { console_session_with_workspace: [] }, ], - summary: '/user_identities/list_acs_users', + summary: '/user_identities/revoke_access_to_device', tags: ['/user_identities'], 'x-fern-sdk-group-name': ['user_identities'], - 'x-fern-sdk-method-name': 'list_acs_users', - 'x-fern-sdk-return-value': 'acs_users', - 'x-response-key': 'acs_users', - 'x-title': 'List ACS Users Associated with a User Identity', + 'x-fern-sdk-method-name': 'revoke_access_to_device', + 'x-response-key': null, + 'x-title': 'Revoke Access to a Device from a User Identity', }, post: { description: - 'Returns a list of all [access system users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', - operationId: 'userIdentitiesListAcsUsersPost', + 'Revokes access to a specified [device](https://docs.seam.co/latest/core-concepts/devices/) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', + operationId: 'userIdentitiesRevokeAccessToDevicePost', requestBody: { content: { 'application/json': { schema: { properties: { + device_id: { + description: + 'ID of the managed device to which you want to revoke access from the user identity.', + format: 'uuid', + type: 'string', + }, user_identity_id: { description: - 'ID of the user identity for which you want to retrieve all access system users.', + 'ID of the user identity from which you want to revoke access to a device.', format: 'uuid', type: 'string', }, }, - required: ['user_identity_id'], + required: ['user_identity_id', 'device_id'], type: 'object', }, }, @@ -58021,14 +59911,8 @@ export default { content: { 'application/json': { schema: { - properties: { - acs_users: { - items: { $ref: '#/components/schemas/acs_user' }, - type: 'array', - }, - ok: { type: 'boolean' }, - }, - required: ['acs_users', 'ok'], + properties: { ok: { type: 'boolean' } }, + required: ['ok'], type: 'object', }, }, @@ -58043,20 +59927,19 @@ export default { { pat_with_workspace: [] }, { console_session_with_workspace: [] }, ], - summary: '/user_identities/list_acs_users', + summary: '/user_identities/revoke_access_to_device', tags: ['/user_identities'], 'x-fern-sdk-group-name': ['user_identities'], - 'x-fern-sdk-method-name': 'list_acs_users', - 'x-fern-sdk-return-value': 'acs_users', - 'x-response-key': 'acs_users', - 'x-title': 'List ACS Users Associated with a User Identity', + 'x-fern-sdk-method-name': 'revoke_access_to_device', + 'x-response-key': null, + 'x-title': 'Revoke Access to a Device from a User Identity', }, }, - '/user_identities/remove_acs_user': { - delete: { + '/user_identities/unmanaged/get': { + get: { description: - 'Removes a specified [access system user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', - operationId: 'userIdentitiesRemoveAcsUserDelete', + 'Returns a specified unmanaged [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) (where is_managed = false).', + operationId: 'userIdentitiesUnmanagedGetGet', parameters: [ { in: 'query', @@ -58064,18 +59947,7 @@ export default { required: true, schema: { description: - 'ID of the user identity from which you want to remove an access system user.', - format: 'uuid', - type: 'string', - }, - }, - { - in: 'query', - name: 'acs_user_id', - required: true, - schema: { - description: - 'ID of the access system user that you want to remove from the user identity..', + 'ID of the unmanaged user identity that you want to get.', format: 'uuid', type: 'string', }, @@ -58086,8 +59958,200 @@ export default { content: { 'application/json': { schema: { - properties: { ok: { type: 'boolean' } }, - required: ['ok'], + properties: { + ok: { type: 'boolean' }, + user_identity: { + description: + 'Represents an unmanaged user identity. Unmanaged user identities do not have keys.', + properties: { + acs_user_ids: { + description: + 'Array of access system user IDs associated with the user identity.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the user identity was created.', + format: 'date-time', + type: 'string', + }, + display_name: { minLength: 1, type: 'string' }, + email_address: { + description: + 'Unique email address for the user identity.', + format: 'email', + nullable: true, + type: 'string', + }, + errors: { + description: + 'Array of errors associated with the user identity. Each error object within the array contains fields like "error_code" and "message." "error_code" is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.', + items: { + description: + 'Errors associated with the user identity.', + discriminator: { propertyName: 'error_code' }, + oneOf: [ + { + description: + 'Indicates that there is an issue with an access system user associated with this user identity.', + properties: { + acs_system_id: { + description: + 'ID of the access system that the user identity is associated with.', + format: 'uuid', + type: 'string', + }, + acs_user_id: { + description: + 'ID of the access system user that has an issue.', + format: 'uuid', + type: 'string', + }, + created_at: { + description: + 'Date and time at which Seam created the error.', + format: 'date-time', + type: 'string', + }, + error_code: { + description: + 'Unique identifier of the type of error. Enables quick recognition and categorization of the issue.', + enum: ['issue_with_acs_user'], + type: 'string', + }, + message: { + description: + 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'error_code', + 'acs_user_id', + 'acs_system_id', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + full_name: { + minLength: 1, + nullable: true, + type: 'string', + }, + phone_number: { + description: + 'Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100).', + nullable: true, + type: 'string', + }, + user_identity_id: { + description: 'ID of the user identity.', + format: 'uuid', + type: 'string', + }, + warnings: { + description: + 'Array of warnings associated with the user identity. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.', + items: { + description: + 'Warnings associated with the user identity.', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the user identity is currently being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + { + description: + "Indicates that the ACS user's profile does not match the user identity's profile", + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: [ + 'acs_user_profile_does_not_match_user_identity', + ], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the user identity.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'user_identity_id', + 'email_address', + 'phone_number', + 'display_name', + 'full_name', + 'created_at', + 'workspace_id', + 'errors', + 'warnings', + 'acs_user_ids', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/user_identities/unmanaged', + }, + }, + required: ['user_identity', 'ok'], type: 'object', }, }, @@ -58102,36 +60166,31 @@ export default { { pat_with_workspace: [] }, { console_session_with_workspace: [] }, ], - summary: '/user_identities/remove_acs_user', + summary: '/user_identities/unmanaged/get', tags: ['/user_identities'], - 'x-fern-sdk-group-name': ['user_identities'], - 'x-fern-sdk-method-name': 'remove_acs_user', - 'x-response-key': null, - 'x-title': 'Remove an ACS User from a User Identity', + 'x-fern-sdk-group-name': ['user_identities', 'unmanaged'], + 'x-fern-sdk-method-name': 'get', + 'x-fern-sdk-return-value': 'user_identity', + 'x-response-key': 'user_identity', + 'x-title': 'Get an Unmanaged User Identity', }, post: { - description: - 'Removes a specified [access system user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', - operationId: 'userIdentitiesRemoveAcsUserPost', + description: + 'Returns a specified unmanaged [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) (where is_managed = false).', + operationId: 'userIdentitiesUnmanagedGetPost', requestBody: { content: { 'application/json': { schema: { properties: { - acs_user_id: { - description: - 'ID of the access system user that you want to remove from the user identity..', - format: 'uuid', - type: 'string', - }, user_identity_id: { description: - 'ID of the user identity from which you want to remove an access system user.', + 'ID of the unmanaged user identity that you want to get.', format: 'uuid', type: 'string', }, }, - required: ['user_identity_id', 'acs_user_id'], + required: ['user_identity_id'], type: 'object', }, }, @@ -58142,8 +60201,200 @@ export default { content: { 'application/json': { schema: { - properties: { ok: { type: 'boolean' } }, - required: ['ok'], + properties: { + ok: { type: 'boolean' }, + user_identity: { + description: + 'Represents an unmanaged user identity. Unmanaged user identities do not have keys.', + properties: { + acs_user_ids: { + description: + 'Array of access system user IDs associated with the user identity.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the user identity was created.', + format: 'date-time', + type: 'string', + }, + display_name: { minLength: 1, type: 'string' }, + email_address: { + description: + 'Unique email address for the user identity.', + format: 'email', + nullable: true, + type: 'string', + }, + errors: { + description: + 'Array of errors associated with the user identity. Each error object within the array contains fields like "error_code" and "message." "error_code" is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.', + items: { + description: + 'Errors associated with the user identity.', + discriminator: { propertyName: 'error_code' }, + oneOf: [ + { + description: + 'Indicates that there is an issue with an access system user associated with this user identity.', + properties: { + acs_system_id: { + description: + 'ID of the access system that the user identity is associated with.', + format: 'uuid', + type: 'string', + }, + acs_user_id: { + description: + 'ID of the access system user that has an issue.', + format: 'uuid', + type: 'string', + }, + created_at: { + description: + 'Date and time at which Seam created the error.', + format: 'date-time', + type: 'string', + }, + error_code: { + description: + 'Unique identifier of the type of error. Enables quick recognition and categorization of the issue.', + enum: ['issue_with_acs_user'], + type: 'string', + }, + message: { + description: + 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'error_code', + 'acs_user_id', + 'acs_system_id', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + full_name: { + minLength: 1, + nullable: true, + type: 'string', + }, + phone_number: { + description: + 'Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100).', + nullable: true, + type: 'string', + }, + user_identity_id: { + description: 'ID of the user identity.', + format: 'uuid', + type: 'string', + }, + warnings: { + description: + 'Array of warnings associated with the user identity. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.', + items: { + description: + 'Warnings associated with the user identity.', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the user identity is currently being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + { + description: + "Indicates that the ACS user's profile does not match the user identity's profile", + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: [ + 'acs_user_profile_does_not_match_user_identity', + ], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the user identity.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'user_identity_id', + 'email_address', + 'phone_number', + 'display_name', + 'full_name', + 'created_at', + 'workspace_id', + 'errors', + 'warnings', + 'acs_user_ids', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/user_identities/unmanaged', + }, + }, + required: ['user_identity', 'ok'], type: 'object', }, }, @@ -58158,39 +60409,27 @@ export default { { pat_with_workspace: [] }, { console_session_with_workspace: [] }, ], - summary: '/user_identities/remove_acs_user', + summary: '/user_identities/unmanaged/get', tags: ['/user_identities'], - 'x-fern-sdk-group-name': ['user_identities'], - 'x-fern-sdk-method-name': 'remove_acs_user', - 'x-response-key': null, - 'x-title': 'Remove an ACS User from a User Identity', + 'x-fern-sdk-group-name': ['user_identities', 'unmanaged'], + 'x-fern-sdk-method-name': 'get', + 'x-fern-sdk-return-value': 'user_identity', + 'x-response-key': 'user_identity', + 'x-title': 'Get an Unmanaged User Identity', }, }, - '/user_identities/revoke_access_to_device': { - delete: { + '/user_identities/unmanaged/list': { + get: { description: - 'Revokes access to a specified [device](https://docs.seam.co/latest/core-concepts/devices/) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', - operationId: 'userIdentitiesRevokeAccessToDeviceDelete', + 'Returns a list of all unmanaged [user identities](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) (where is_managed = false).', + operationId: 'userIdentitiesUnmanagedListGet', parameters: [ { in: 'query', - name: 'user_identity_id', - required: true, - schema: { - description: - 'ID of the user identity from which you want to revoke access to a device.', - format: 'uuid', - type: 'string', - }, - }, - { - in: 'query', - name: 'device_id', - required: true, + name: 'search', schema: { description: - 'ID of the managed device to which you want to revoke access from the user identity.', - format: 'uuid', + 'String for which to search. Filters returned unmanaged user identities to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address` or `user_identity_id`.', type: 'string', }, }, @@ -58200,8 +60439,203 @@ export default { content: { 'application/json': { schema: { - properties: { ok: { type: 'boolean' } }, - required: ['ok'], + properties: { + ok: { type: 'boolean' }, + user_identities: { + items: { + description: + 'Represents an unmanaged user identity. Unmanaged user identities do not have keys.', + properties: { + acs_user_ids: { + description: + 'Array of access system user IDs associated with the user identity.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the user identity was created.', + format: 'date-time', + type: 'string', + }, + display_name: { minLength: 1, type: 'string' }, + email_address: { + description: + 'Unique email address for the user identity.', + format: 'email', + nullable: true, + type: 'string', + }, + errors: { + description: + 'Array of errors associated with the user identity. Each error object within the array contains fields like "error_code" and "message." "error_code" is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.', + items: { + description: + 'Errors associated with the user identity.', + discriminator: { propertyName: 'error_code' }, + oneOf: [ + { + description: + 'Indicates that there is an issue with an access system user associated with this user identity.', + properties: { + acs_system_id: { + description: + 'ID of the access system that the user identity is associated with.', + format: 'uuid', + type: 'string', + }, + acs_user_id: { + description: + 'ID of the access system user that has an issue.', + format: 'uuid', + type: 'string', + }, + created_at: { + description: + 'Date and time at which Seam created the error.', + format: 'date-time', + type: 'string', + }, + error_code: { + description: + 'Unique identifier of the type of error. Enables quick recognition and categorization of the issue.', + enum: ['issue_with_acs_user'], + type: 'string', + }, + message: { + description: + 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'error_code', + 'acs_user_id', + 'acs_system_id', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + full_name: { + minLength: 1, + nullable: true, + type: 'string', + }, + phone_number: { + description: + 'Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100).', + nullable: true, + type: 'string', + }, + user_identity_id: { + description: 'ID of the user identity.', + format: 'uuid', + type: 'string', + }, + warnings: { + description: + 'Array of warnings associated with the user identity. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.', + items: { + description: + 'Warnings associated with the user identity.', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the user identity is currently being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + { + description: + "Indicates that the ACS user's profile does not match the user identity's profile", + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: [ + 'acs_user_profile_does_not_match_user_identity', + ], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the user identity.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'user_identity_id', + 'email_address', + 'phone_number', + 'display_name', + 'full_name', + 'created_at', + 'workspace_id', + 'errors', + 'warnings', + 'acs_user_ids', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/user_identities/unmanaged', + }, + type: 'array', + }, + }, + required: ['user_identities', 'ok'], type: 'object', }, }, @@ -58213,39 +60647,33 @@ export default { }, security: [ { api_key: [] }, + { client_session: [] }, { pat_with_workspace: [] }, { console_session_with_workspace: [] }, ], - summary: '/user_identities/revoke_access_to_device', + summary: '/user_identities/unmanaged/list', tags: ['/user_identities'], - 'x-fern-sdk-group-name': ['user_identities'], - 'x-fern-sdk-method-name': 'revoke_access_to_device', - 'x-response-key': null, - 'x-title': 'Revoke Access to a Device from a User Identity', + 'x-fern-sdk-group-name': ['user_identities', 'unmanaged'], + 'x-fern-sdk-method-name': 'list', + 'x-fern-sdk-return-value': 'user_identities', + 'x-response-key': 'user_identities', + 'x-title': 'List Unmanaged User Identities', }, post: { description: - 'Revokes access to a specified [device](https://docs.seam.co/latest/core-concepts/devices/) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', - operationId: 'userIdentitiesRevokeAccessToDevicePost', + 'Returns a list of all unmanaged [user identities](https://docs.seam.co/latest/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) (where is_managed = false).', + operationId: 'userIdentitiesUnmanagedListPost', requestBody: { content: { 'application/json': { schema: { properties: { - device_id: { - description: - 'ID of the managed device to which you want to revoke access from the user identity.', - format: 'uuid', - type: 'string', - }, - user_identity_id: { + search: { description: - 'ID of the user identity from which you want to revoke access to a device.', - format: 'uuid', + 'String for which to search. Filters returned unmanaged user identities to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address` or `user_identity_id`.', type: 'string', }, }, - required: ['user_identity_id', 'device_id'], type: 'object', }, }, @@ -58256,8 +60684,203 @@ export default { content: { 'application/json': { schema: { - properties: { ok: { type: 'boolean' } }, - required: ['ok'], + properties: { + ok: { type: 'boolean' }, + user_identities: { + items: { + description: + 'Represents an unmanaged user identity. Unmanaged user identities do not have keys.', + properties: { + acs_user_ids: { + description: + 'Array of access system user IDs associated with the user identity.', + items: { format: 'uuid', type: 'string' }, + type: 'array', + }, + created_at: { + description: + 'Date and time at which the user identity was created.', + format: 'date-time', + type: 'string', + }, + display_name: { minLength: 1, type: 'string' }, + email_address: { + description: + 'Unique email address for the user identity.', + format: 'email', + nullable: true, + type: 'string', + }, + errors: { + description: + 'Array of errors associated with the user identity. Each error object within the array contains fields like "error_code" and "message." "error_code" is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.', + items: { + description: + 'Errors associated with the user identity.', + discriminator: { propertyName: 'error_code' }, + oneOf: [ + { + description: + 'Indicates that there is an issue with an access system user associated with this user identity.', + properties: { + acs_system_id: { + description: + 'ID of the access system that the user identity is associated with.', + format: 'uuid', + type: 'string', + }, + acs_user_id: { + description: + 'ID of the access system user that has an issue.', + format: 'uuid', + type: 'string', + }, + created_at: { + description: + 'Date and time at which Seam created the error.', + format: 'date-time', + type: 'string', + }, + error_code: { + description: + 'Unique identifier of the type of error. Enables quick recognition and categorization of the issue.', + enum: ['issue_with_acs_user'], + type: 'string', + }, + message: { + description: + 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'error_code', + 'acs_user_id', + 'acs_system_id', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + full_name: { + minLength: 1, + nullable: true, + type: 'string', + }, + phone_number: { + description: + 'Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100).', + nullable: true, + type: 'string', + }, + user_identity_id: { + description: 'ID of the user identity.', + format: 'uuid', + type: 'string', + }, + warnings: { + description: + 'Array of warnings associated with the user identity. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.', + items: { + description: + 'Warnings associated with the user identity.', + discriminator: { propertyName: 'warning_code' }, + oneOf: [ + { + description: + 'Indicates that the user identity is currently being deleted.', + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: ['being_deleted'], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + { + description: + "Indicates that the ACS user's profile does not match the user identity's profile", + properties: { + created_at: { + description: + 'Date and time at which Seam created the warning.', + format: 'date-time', + type: 'string', + }, + message: { + description: + 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.', + type: 'string', + }, + warning_code: { + description: + 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.', + enum: [ + 'acs_user_profile_does_not_match_user_identity', + ], + type: 'string', + }, + }, + required: [ + 'created_at', + 'message', + 'warning_code', + ], + type: 'object', + }, + ], + }, + type: 'array', + }, + workspace_id: { + description: + 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the user identity.', + format: 'uuid', + type: 'string', + }, + }, + required: [ + 'user_identity_id', + 'email_address', + 'phone_number', + 'display_name', + 'full_name', + 'created_at', + 'workspace_id', + 'errors', + 'warnings', + 'acs_user_ids', + ], + type: 'object', + 'x-draft': 'Early access.', + 'x-route-path': '/user_identities/unmanaged', + }, + type: 'array', + }, + }, + required: ['user_identities', 'ok'], type: 'object', }, }, @@ -58269,15 +60892,17 @@ export default { }, security: [ { api_key: [] }, + { client_session: [] }, { pat_with_workspace: [] }, { console_session_with_workspace: [] }, ], - summary: '/user_identities/revoke_access_to_device', + summary: '/user_identities/unmanaged/list', tags: ['/user_identities'], - 'x-fern-sdk-group-name': ['user_identities'], - 'x-fern-sdk-method-name': 'revoke_access_to_device', - 'x-response-key': null, - 'x-title': 'Revoke Access to a Device from a User Identity', + 'x-fern-sdk-group-name': ['user_identities', 'unmanaged'], + 'x-fern-sdk-method-name': 'list', + 'x-fern-sdk-return-value': 'user_identities', + 'x-response-key': 'user_identities', + 'x-title': 'List Unmanaged User Identities', }, }, '/user_identities/update': { diff --git a/src/lib/seam/connect/route-types.ts b/src/lib/seam/connect/route-types.ts index 8ff9d806..f2de0ebc 100644 --- a/src/lib/seam/connect/route-types.ts +++ b/src/lib/seam/connect/route-types.ts @@ -13547,6 +13547,131 @@ export type Routes = { }[] } } + '/access_grants/unmanaged/get': { + route: '/access_grants/unmanaged/get' + method: 'GET' | 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** ID of unmanaged Access Grant to get. */ + access_grant_id: string + } + formData: {} + jsonResponse: { + /** Represents an unmanaged Access Grant. Unmanaged Access Grants do not have client sessions, instant keys, customization profiles, or keys. */ + access_grant: { + /** ID of the Seam workspace associated with the Access Grant. */ + workspace_id: string + /** ID of the Access Grant. */ + access_grant_id: string + /** ID of user identity to which the Access Grant gives access. */ + user_identity_id: string + /** + * @deprecated Use `space_ids`.*/ + location_ids: string[] + /** IDs of the spaces to which the Access Grant gives access. */ + space_ids: string[] + /** Access methods that the user requested for the Access Grant. */ + requested_access_methods: { + /** Display name of the access method. */ + display_name: string + /** Access method mode. Supported values: `code`, `card`, `mobile_key`. */ + mode: 'code' | 'card' | 'mobile_key' + /** Specific PIN code to use for this access method. Only applicable when mode is 'code'. */ + code?: string | undefined + /** Date and time at which the requested access method was added to the Access Grant. */ + created_at: string + /** IDs of the access methods created for the requested access method. */ + created_access_method_ids: string[] + }[] + /** IDs of the access methods created for the Access Grant. */ + access_method_ids: string[] + /** Name of the Access Grant. If not provided, the display name will be computed. */ + name: string | null + /** Display name of the Access Grant. */ + display_name: string + /** Date and time at which the Access Grant was created. */ + created_at: string + /** Date and time at which the Access Grant starts. */ + starts_at: string + /** Date and time at which the Access Grant ends. */ + ends_at: string | null + /** Warnings associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants). */ + warnings: { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + }[] + } + } + } + '/access_grants/unmanaged/list': { + route: '/access_grants/unmanaged/list' + method: 'GET' | 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** ID of user identity by which you want to filter the list of unmanaged Access Grants. */ + user_identity_id?: string | undefined + /** ID of the access system by which you want to filter the list of unmanaged Access Grants. */ + acs_system_id?: string | undefined + /** ID of the entrance by which you want to filter the list of unmanaged Access Grants. */ + acs_entrance_id?: string | undefined + } + formData: {} + jsonResponse: { + access_grants: { + /** ID of the Seam workspace associated with the Access Grant. */ + workspace_id: string + /** ID of the Access Grant. */ + access_grant_id: string + /** ID of user identity to which the Access Grant gives access. */ + user_identity_id: string + /** + * @deprecated Use `space_ids`.*/ + location_ids: string[] + /** IDs of the spaces to which the Access Grant gives access. */ + space_ids: string[] + /** Access methods that the user requested for the Access Grant. */ + requested_access_methods: { + /** Display name of the access method. */ + display_name: string + /** Access method mode. Supported values: `code`, `card`, `mobile_key`. */ + mode: 'code' | 'card' | 'mobile_key' + /** Specific PIN code to use for this access method. Only applicable when mode is 'code'. */ + code?: string | undefined + /** Date and time at which the requested access method was added to the Access Grant. */ + created_at: string + /** IDs of the access methods created for the requested access method. */ + created_access_method_ids: string[] + }[] + /** IDs of the access methods created for the Access Grant. */ + access_method_ids: string[] + /** Name of the Access Grant. If not provided, the display name will be computed. */ + name: string | null + /** Display name of the Access Grant. */ + display_name: string + /** Date and time at which the Access Grant was created. */ + created_at: string + /** Date and time at which the Access Grant starts. */ + starts_at: string + /** Date and time at which the Access Grant ends. */ + ends_at: string | null + /** Warnings associated with the [access grant](https://docs.seam.co/latest/capability-guides/access-grants). */ + warnings: { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + }[] + }[] + } + } '/access_grants/update': { route: '/access_grants/update' method: 'POST' | 'PATCH' @@ -23624,6 +23749,97 @@ export type Routes = { }[] } } + '/access_methods/unmanaged/get': { + route: '/access_methods/unmanaged/get' + method: 'GET' | 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** ID of unmanaged access method to get. */ + access_method_id: string + } + formData: {} + jsonResponse: { + /** Represents an unmanaged access method. Unmanaged access methods do not have client sessions, instant keys, customization profiles, or keys. */ + access_method: { + /** ID of the Seam workspace associated with the access method. */ + workspace_id: string + /** ID of the access method. */ + access_method_id: string + /** Display name of the access method. */ + display_name: string + /** Access method mode. Supported values: `code`, `card`, `mobile_key`. */ + mode: 'code' | 'card' | 'mobile_key' + /** Date and time at which the access method was created. */ + created_at: string + /** Date and time at which the access method was issued. */ + issued_at: string | null + /** Indicates whether the access method has been issued. */ + is_issued: boolean + /** Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method. */ + is_encoding_required?: boolean | undefined + /** The actual PIN code for code access methods. */ + code?: (string | null) | undefined + /** Warnings associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods). */ + warnings: { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + }[] + } + } + } + '/access_methods/unmanaged/list': { + route: '/access_methods/unmanaged/list' + method: 'GET' | 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** ID of Access Grant to list unmanaged access methods for. */ + access_grant_id: string + /** ID of the device for which you want to retrieve all unmanaged access methods. */ + device_id?: string | undefined + /** ID of the entrance for which you want to retrieve all unmanaged access methods. */ + acs_entrance_id?: string | undefined + /** ID of the space for which you want to retrieve all unmanaged access methods. */ + space_id?: string | undefined + } + formData: {} + jsonResponse: { + access_methods: { + /** ID of the Seam workspace associated with the access method. */ + workspace_id: string + /** ID of the access method. */ + access_method_id: string + /** Display name of the access method. */ + display_name: string + /** Access method mode. Supported values: `code`, `card`, `mobile_key`. */ + mode: 'code' | 'card' | 'mobile_key' + /** Date and time at which the access method was created. */ + created_at: string + /** Date and time at which the access method was issued. */ + issued_at: string | null + /** Indicates whether the access method has been issued. */ + is_issued: boolean + /** Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method. */ + is_encoding_required?: boolean | undefined + /** The actual PIN code for code access methods. */ + code?: (string | null) | undefined + /** Warnings associated with the [access method](https://docs.seam.co/latest/capability-guides/access-grants/delivering-access-methods). */ + warnings: { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + }[] + }[] + } + } '/acs/access_groups/add_user': { route: '/acs/access_groups/add_user' method: 'PUT' | 'POST' @@ -94860,6 +95076,129 @@ export type Routes = { formData: {} jsonResponse: {} } + '/user_identities/unmanaged/get': { + route: '/user_identities/unmanaged/get' + method: 'GET' | 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** ID of the unmanaged user identity that you want to get. */ + user_identity_id: string + } + formData: {} + jsonResponse: { + /** Represents an unmanaged user identity. Unmanaged user identities do not have keys. */ + user_identity: { + /** ID of the user identity. */ + user_identity_id: string + /** Unique email address for the user identity. */ + email_address: string | null + /** Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100). */ + phone_number: string | null + display_name: string + full_name: string | null + /** Date and time at which the user identity was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the user identity. */ + workspace_id: string + /** Array of errors associated with the user identity. Each error object within the array contains fields like "error_code" and "message." "error_code" is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it. */ + errors: { + /** Date and time at which Seam created the error. */ + created_at: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */ + error_code: 'issue_with_acs_user' + /** ID of the access system user that has an issue. */ + acs_user_id: string + /** ID of the access system that the user identity is associated with. */ + acs_system_id: string + }[] + /** Array of warnings associated with the user identity. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it. */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'acs_user_profile_does_not_match_user_identity' + } + )[] + /** Array of access system user IDs associated with the user identity. */ + acs_user_ids: string[] + } + } + } + '/user_identities/unmanaged/list': { + route: '/user_identities/unmanaged/list' + method: 'GET' | 'POST' + queryParams: {} + jsonBody: {} + commonParams: { + /** String for which to search. Filters returned unmanaged user identities to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address` or `user_identity_id`. */ + search?: string | undefined + } + formData: {} + jsonResponse: { + user_identities: { + /** ID of the user identity. */ + user_identity_id: string + /** Unique email address for the user identity. */ + email_address: string | null + /** Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100). */ + phone_number: string | null + display_name: string + full_name: string | null + /** Date and time at which the user identity was created. */ + created_at: string + /** ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the user identity. */ + workspace_id: string + /** Array of errors associated with the user identity. Each error object within the array contains fields like "error_code" and "message." "error_code" is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it. */ + errors: { + /** Date and time at which Seam created the error. */ + created_at: string + /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of error. Enables quick recognition and categorization of the issue. */ + error_code: 'issue_with_acs_user' + /** ID of the access system user that has an issue. */ + acs_user_id: string + /** ID of the access system that the user identity is associated with. */ + acs_system_id: string + }[] + /** Array of warnings associated with the user identity. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it. */ + warnings: ( + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'being_deleted' + } + | { + /** Date and time at which Seam created the warning. */ + created_at: string + /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */ + message: string + /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */ + warning_code: 'acs_user_profile_does_not_match_user_identity' + } + )[] + /** Array of access system user IDs associated with the user identity. */ + acs_user_ids: string[] + }[] + } + } '/user_identities/update': { route: '/user_identities/update' method: 'PATCH' | 'POST'