/** * Generated by orval v8.19.0 🍺 * Do not edit manually. * Webitel API * OpenAPI spec version: 24.04.0 */ import * as zod from 'zod'; export const ReadUser2QueryParams = zod.object({ id: zod.string().optional(), fields: zod.array(zod.string()).optional().describe('partial output'), }); export const ReadUser2Response = zod.object({ user: zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe("[required] e.g.: 'read', 'playback_record_file', ..."), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .optional() .describe('User profile.'), }); export const DeleteUsers2QueryParams = zod.object({ id: zod.string().optional().describe('ONE /users/{id}'), permanent: zod.boolean().optional(), }); export const DeleteUsers2BodyItem = zod.string(); export const DeleteUsers2Body = zod.array(DeleteUsers2BodyItem); export const DeleteUsers2Response = zod.object({ deleted: zod .array( zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe( "[required] e.g.: 'read', 'playback_record_file', ...", ), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .describe('User profile.'), ) .optional(), }); export const SearchUsersQueryParams = zod.object({ id: zod .array(zod.string()) .optional() .describe( '----- Base Filters ---------------------------\n\nfilter: .id = any({id}...)', ), notId: zod .array(zod.string()) .optional() .describe('filter: .id <> all({not_ids}...)'), q: zod .string() .optional() .describe( "----- User-specific Filters ------------------\n\nfilter: (.name|.username|.extension|.status) ILIKE '{q}'", ), name: zod.string().optional().describe("filter: .name ILIKE '{name}'"), status: zod.string().optional().describe("filter: .status ILIKE '{status}'"), username: zod .string() .optional() .describe("filter: .username ILIKE '{username}'"), extension: zod .string() .optional() .describe("filter: .extension LIKE '{extension}'"), any: zod .boolean() .optional() .describe( "----- View Modes -----------------------------\nNOTE: by default, search NOT 'deleted' objects ONLY\n\nfilter: include 'deleted' ALSO ! (inactive)", ), deleted: zod .boolean() .optional() .describe('filter: .deleted_at NOTNULL (view: RECYCLE)'), 'presence.status': zod.string().optional(), 'presence.note': zod.string().optional(), fields: zod .array(zod.string()) .optional() .describe( '// navigation filter\nrepeated int64 roles = 7;\n----- Search Options -------------------------\n\nselect: output (fields,...)', ), sort: zod .array(zod.string()) .optional() .describe('select: order by (fields,...)'), page: zod.number().optional().describe('select: offset {page}'), size: zod.number().optional().describe('select: limit {size}'), }); export const SearchUsersResponse = zod.object({ items: zod .array( zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe( "[required] e.g.: 'read', 'playback_record_file', ...", ), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .describe('User profile.'), ) .optional(), next: zod.boolean().optional(), page: zod.number().optional(), size: zod.number().optional(), }); export const CreateUserQueryParams = zod.object({ userPassword: zod.string().optional(), confirmPassword: zod.string().optional(), generateDevice: zod .boolean() .optional() .describe('Generate credentials & assign SIP [device] for NEW [user]'), 'device.name': zod.string().optional().describe('SIP display name'), 'device.account': zod.string().optional().describe('SIP auth-id'), 'device.password': zod.string().optional().describe('SIP password'), 'device.generatePassword': zod .boolean() .optional() .describe('[re]generate SIP password ?'), }); export const CreateUserBody = zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe("[required] e.g.: 'read', 'playback_record_file', ..."), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional(), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), username: zod.string().optional(), }) .describe( 'Input of the User profile for Create/Update operations.\nMirrors `User` field numbers 1:1 (wire-compatible), but excludes\nsystem-managed read-only fields (id, audit metadata).', ); export const CreateUserResponse = zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe("[required] e.g.: 'read', 'playback_record_file', ..."), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .describe('User profile.'); export const LogoutUser2Body = zod.object({ id: zod.string().optional(), selection: zod.array(zod.string()).optional(), }); export const LogoutUser2Response = zod.looseObject({}); export const UpdatePasswordBody = zod.object({ confirmPassword: zod.string().optional(), domain: zod.string().optional(), id: zod.string().optional(), oldPassword: zod.string().optional(), userPassword: zod.string().optional(), username: zod.string().optional(), }); export const UpdatePasswordResponse = zod.looseObject({}); export const GeneratePasswordBody = zod.object({ domain: zod.string().optional(), password: zod.string().optional(), username: zod.string().optional(), }); export const GeneratePasswordResponse = zod.object({ password: zod.string().optional(), }); export const ReadPasswordSettingsQueryParams = zod.object({ password: zod.string().optional(), username: zod.string().optional(), domain: zod.string().optional(), }); export const ReadPasswordSettingsResponse = zod.object({ settings: zod.record(zod.string(), zod.string()).optional(), }); export const SearchUsers2Body = zod.object({ any: zod .boolean() .optional() .describe("filter: include 'deleted' ALSO ! (inactive)"), deleted: zod.boolean().optional(), extension: zod.string().optional(), fields: zod .array(zod.string()) .optional() .describe('select: output (fields,...)'), id: zod.array(zod.string()).optional().describe('filter: .id = any({id}...)'), name: zod.string().optional(), notId: zod.array(zod.string()).optional(), page: zod.number().optional(), presence: zod .object({ note: zod.string().optional(), status: zod.string().optional(), }) .optional(), q: zod .string() .optional() .describe("filter: (.name|.username|.extension|.status) ILIKE '{q}'"), size: zod.number().optional(), sort: zod.array(zod.string()).optional(), status: zod.string().optional(), username: zod.string().optional(), }); export const SearchUsers2Response = zod.object({ items: zod .array( zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe( "[required] e.g.: 'read', 'playback_record_file', ...", ), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .describe('User profile.'), ) .optional(), next: zod.boolean().optional(), page: zod.number().optional(), size: zod.number().optional(), }); export const getUserWarningsResponseWarningsItemIdDefault = `user_warning_id_unspecified`; export const GetUserWarningsResponse = zod.object({ warnings: zod .array( zod.object({ detail: zod.string().optional(), id: zod .enum([ 'user_warning_id_unspecified', 'password_expires_soon', 'license_expires_soon', 'license_expired', ]) .default(getUserWarningsResponseWarningsItemIdDefault), warningData: zod .object({ licenseExpiry: zod .object({ daysRemaining: zod.string().optional(), expiresAt: zod.string().optional(), licenseName: zod.string().optional(), }) .optional(), passwordExpiry: zod .object({ daysRemaining: zod.string().optional(), expiresAt: zod.string().optional(), }) .optional(), }) .optional(), }), ) .optional(), }); export const DeleteUsersParams = zod.object({ id: zod.string().describe('ONE /users/{id}'), }); export const DeleteUsersQueryParams = zod.object({ selection: zod .array(zod.string()) .optional() .describe('MANY /users .ids=[id,...]'), permanent: zod.boolean().optional(), }); export const DeleteUsersResponse = zod.object({ deleted: zod .array( zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe( "[required] e.g.: 'read', 'playback_record_file', ...", ), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .describe('User profile.'), ) .optional(), }); export const ReadUserParams = zod.object({ id: zod.string(), }); export const ReadUserQueryParams = zod.object({ fields: zod.array(zod.string()).optional().describe('partial output'), }); export const ReadUserResponse = zod.object({ user: zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe("[required] e.g.: 'read', 'playback_record_file', ..."), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .optional() .describe('User profile.'), }); export const UpdateUser2Params = zod.object({ id: zod.string().describe('path: /users/{id}'), }); export const UpdateUser2QueryParams = zod.object({ fields: zod.array(zod.string()).optional().describe('PATCH: partial update'), generateDevice: zod .boolean() .optional() .describe('Generate SIP credentials & assign NEW [device] for [user]'), 'device.name': zod.string().optional().describe('SIP display name'), 'device.account': zod.string().optional().describe('SIP auth-id'), 'device.password': zod.string().optional().describe('SIP password'), 'device.generatePassword': zod .boolean() .optional() .describe('[re]generate SIP password ?'), }); export const UpdateUser2Body = zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe("[required] e.g.: 'read', 'playback_record_file', ..."), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional(), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), username: zod.string().optional(), }) .describe( 'Input of the User profile for Create/Update operations.\nMirrors `User` field numbers 1:1 (wire-compatible), but excludes\nsystem-managed read-only fields (id, audit metadata).', ); export const UpdateUser2Response = zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe("[required] e.g.: 'read', 'playback_record_file', ..."), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .describe('User profile.'); export const UpdateUserParams = zod.object({ id: zod.string().describe('path: /users/{id}'), }); export const UpdateUserQueryParams = zod.object({ fields: zod.array(zod.string()).optional().describe('PATCH: partial update'), generateDevice: zod .boolean() .optional() .describe('Generate SIP credentials & assign NEW [device] for [user]'), 'device.name': zod.string().optional().describe('SIP display name'), 'device.account': zod.string().optional().describe('SIP auth-id'), 'device.password': zod.string().optional().describe('SIP password'), 'device.generatePassword': zod .boolean() .optional() .describe('[re]generate SIP password ?'), }); export const UpdateUserBody = zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe("[required] e.g.: 'read', 'playback_record_file', ..."), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional(), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), username: zod.string().optional(), }) .describe( 'Input of the User profile for Create/Update operations.\nMirrors `User` field numbers 1:1 (wire-compatible), but excludes\nsystem-managed read-only fields (id, audit metadata).', ); export const UpdateUserResponse = zod .object({ chatName: zod .string() .optional() .describe( 'The "chat_name" field is used to store the name displayed externally on the platform.\nFor example, "chat_name" is shown when an agent connects to chats with clients.', ), contact: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('[optional] contact connected to this user'), createdAt: zod.string().optional(), createdBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), deletedAt: zod.string().optional(), deletedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), device: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), devices: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional() .describe( '[editable] list of unique `regular` devices, attached to this user', ), email: zod.string().optional(), extension: zod.string().optional(), forcePasswordChange: zod .boolean() .optional() .describe( 'When set to true, the user will be required to change their password on next login.', ), hotdesks: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), id: zod.string().optional(), license: zod .array( zod.object({ expiresAt: zod.string().optional(), id: zod.string().optional(), issuedAt: zod.string().optional(), name: zod.string().optional(), prod: zod.string().optional(), scope: zod.array(zod.string()).optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), name: zod.string().optional(), password: zod.string().optional(), permissions: zod .array( zod.object({ id: zod .string() .optional() .describe("[required] e.g.: 'read', 'playback_record_file', ..."), name: zod.string().optional(), usage: zod.string().optional(), }), ) .optional(), presence: zod .object({ expires: zod.number().optional(), id: zod.string().optional(), note: zod.string().optional(), status: zod.string().optional(), timestamp: zod.string().optional(), }) .optional() .describe( 'string presence = 7; // unique set of presentity tuples open[ed]\n string status = 8; // short display status (short description)', ), profile: zod.record(zod.string(), zod.string()).optional(), roles: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), totpUrl: zod.string().optional(), updatedAt: zod.string().optional(), updatedBy: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('UserId lookup value.'), username: zod.string().optional(), }) .describe('User profile.'); export const LogoutUserParams = zod.object({ id: zod.string().describe('ONE /users/{id}/logout'), }); export const LogoutUserBody = zod.object({ selection: zod.array(zod.string()).optional(), }); export const LogoutUserResponse = zod.looseObject({});