import { APIResource } from "../core/resource.mjs"; import * as BusinessPartnersAPI from "./business-partners.mjs"; import * as WorkersAPI from "./workers.mjs"; import { APIPromise } from "../core/api-promise.mjs"; import { PageCursorURL, PagePromise } from "../core/pagination.mjs"; import { RequestOptions } from "../internal/request-options.mjs"; /** * Devices (laptops, desktops, phones, tablets) managed by Rippling */ export declare class Devices extends APIResource { /** * A list of devices. * * - Requires: `API Tier 1` * - Filterable fields: `worker_id`, `serial_number`, `lifecycle_state`, * `enrollment_status` * - Expandable fields: `worker`, `pending_actions` * - Sortable fields: `id`, `created_at`, `updated_at` * * @example HTTP * Representative request and response shapes. * ``` * GET /devices/?filter=filter&expand=expand&order_by=order_by&limit=50&cursor=cursor HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "__meta": { * "redacted_fields": [ * { * "name": "date_of_birth", * "reason": "Insufficient entitlements" * } * ] * }, * "results": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "serial_number": "string", * "worker_id": "string", * "worker": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "user_id": "string", * "user": {}, * "is_manager": "string", * "manager_id": "string", * "manager": {}, * "legal_entity_id": "string", * "legal_entity": {}, * "country": "AF", * "start_date": "string", * "end_date": "string", * "number": "string", * "work_email": "string", * "personal_email": "string", * "status": "INIT", * "location": {}, * "employment_type_id": "string", * "employment_type": {}, * "gender": "MALE", * "date_of_birth": "string", * "race": "BLACK", * "ethnicity": "HISPANIC_OR_LATINO", * "citizenship": "AF", * "compensation_id": "string", * "compensation": {}, * "overtime_exemption": "EXEMPT", * "department_id": "string", * "department": {}, * "teams_id": [], * "teams": [], * "title": "string", * "title_effective_date": "string", * "level_id": "string", * "level": {}, * "job_function_id": "string", * "job_function": {}, * "termination_details": {}, * "pay_schedule_id": "string", * "work_schedule": {}, * "compensation_grade": {}, * "original_start_date": "string", * "custom_fields": [], * "country_fields": {}, * "business_partners_id": [], * "business_partners": [] * }, * "platform": "MACOS", * "model": "string", * "os_name": "string", * "os_version": "string", * "lifecycle_state": "INIT", * "enrollment_status": "ENROLLED", * "mdm_provider": "RIPPLING", * "is_managed": false, * "is_encrypted": false, * "last_checkin_at": "string", * "last_mdm_sync_at": "string", * "pending_actions_id": [ * "string" * ], * "pending_actions": [ * {} * ] * } * ], * "next_link": "string" * } * ``` */ list(query?: DeviceListParams | null | undefined, options?: RequestOptions): PagePromise; /** * Retrieve a specific device * * @example HTTP * Representative request and response shapes. * ``` * GET /devices/{id}/?expand=expand HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "__meta": { * "redacted_fields": [ * {} * ] * } * } * ``` */ retrieve(id: string, query?: DeviceRetrieveParams | null | undefined, options?: RequestOptions): APIPromise; } export type DeviceListResponsesPageCursorURL = PageCursorURL; export interface DeviceListResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * The MDM enrollment status: ENROLLED, UNENROLLED, WAITING_FOR_CONNECTION, ERROR, * etc. */ enrollment_status?: 'ENROLLED' | 'WAITING_FOR_CONNECTION' | 'ERROR' | 'UNENROLLED'; /** * Whether the device's disk is encrypted (FileVault on macOS, BitLocker on * Windows). */ is_encrypted?: boolean; /** * Whether the device is managed via MDM. */ is_managed?: boolean; /** * When the Rippling agent last checked in from this device. */ last_checkin_at?: string; /** * When the device last synced with MDM. */ last_mdm_sync_at?: string; /** * The device lifecycle state (e.g. ACTIVE, READY, LOCKED, LOST, DECOMMISSIONED). */ lifecycle_state?: 'INIT' | 'ACTIVE' | 'ACTIVATING' | 'LOCKED' | 'LOCKING' | 'INACTIVE' | 'PENDING_MDM' | 'CLEANING' | 'READY' | 'DECOMMISSIONING' | 'DECOMMISSIONED' | 'FULL_WIPING' | 'FULL_WIPED' | 'E_CYCLED' | 'SOLD' | 'MDM_LOCKED' | 'LOST' | 'LOST_PLAYING_SOUND'; /** * The MDM provider currently recorded on the device (RIPPLING, JAMFCLOUD, INTUNE, * KANDJI, etc.). Null when the device is not currently MDM-managed (typical for * unenrolled or recently-reset devices). */ mdm_provider?: 'RIPPLING' | 'JUMPCLOUD' | 'JAMFCLOUD' | 'FLEETSMITH' | 'HEXNODE' | 'MICROMDM' | 'MERAKI' | 'SOTI' | 'ADDIGY' | 'FLEETDM' | 'KANDJI' | 'ZOHO' | 'INTUNE' | 'OTHER'; /** * The device hardware model identifier as reported by MDM (e.g. 'MacBookPro18,3', * 'iPhone15,2'). */ model?: string; /** * The device operating system name. */ os_name?: string; /** * The device operating system version. */ os_version?: string; /** * Actions currently queued against the device (not yet completed). Expandable. * * Expandable field */ pending_actions?: Array; /** * The IDs of actions currently queued against the device (not yet completed). */ pending_actions_id?: Array; /** * The OS platform the device runs: MACOS, WINDOWS, IOS, or IPADOS. */ platform?: 'MACOS' | 'WINDOWS' | 'IOS' | 'IPADOS'; /** * The device's hardware serial number. */ serial_number?: string; /** * The worker this device is currently assigned to. * * Expandable field */ worker?: WorkersAPI.Worker; /** * The ID of the worker this device is currently assigned to. Null if unassigned. */ worker_id?: string; } export declare namespace DeviceListResponse { interface PendingAction { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * The type of the pending device action (e.g. LOCK_DEVICE, RESET_PASSWORD). */ action_type?: 'ADD_USER_TO_FILEVAULT' | 'ASSIGN_DEVICE' | 'AUTHENTICATE_AGENT' | 'CHANGE_FILEVAULT_RECOVERY_KEY' | 'CHANGE_PASSWORD' | 'CLEAR_PASSCODE' | 'CREATE_RIPPLING_ADMIN' | 'DELETE_LOCAL_ACCOUNT' | 'DEMOTE_ACCOUNT_PERMISSION' | 'DISABLE_FIND_MY' | 'DISABLE_LOST_MODE' | 'DISABLE_REMOTE_DESKTOP' | 'ENABLE_LOST_MODE' | 'ENABLE_REMOTE_DESKTOP' | 'ENFORCE_PASSWORD_POLICY' | 'FORCE_CHECK_IN' | 'FULL_WIPE' | 'GRANT_SECURE_TOKEN' | 'INSTALL_ENROLLMENT_PROFILE' | 'LOCK_DEVICE' | 'LOCK_USER_ACCOUNT' | 'LOST_MODE_GET_LOCATION' | 'LOST_MODE_PLAY_SOUND' | 'PROMOTE_ACCOUNT_PERMISSION' | 'RECOVER_AGENT_VIA_MDM' | 'REINSTALL_AGENT' | 'REINSTALL_ENROLLMENT_PROFILE' | 'REMOVE_OTHER_ENROLLMENT_PROFILES' | 'RESET_PASSWORD' | 'RESTART_DEVICE' | 'ROTATE_FILEVAULT_KEY' | 'SHUTDOWN_DEVICE' | 'SOFT_WIPE' | 'TURN_ON_FILEVAULT' | 'UNASSIGN_DEVICE' | 'UNINSTALL_AGENT' | 'UNINSTALL_ANTIVIRUS' | 'UNINSTALL_MDM' | 'UNLOCK_DEVICE' | 'UNLOCK_USER_ACCOUNT' | 'UPDATE_OS' | 'UNKNOWN'; /** * When the action was queued. */ queued_at?: string; /** * The current state of the pending action (e.g. QUEUED, WAITING_FOR_USER_ACTION). */ state?: string; } } /** * Meta information for the response. */ export interface DeviceRetrieveResponse extends BusinessPartnersAPI.Meta { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * The MDM enrollment status: ENROLLED, UNENROLLED, WAITING_FOR_CONNECTION, ERROR, * etc. */ enrollment_status?: 'ENROLLED' | 'WAITING_FOR_CONNECTION' | 'ERROR' | 'UNENROLLED'; /** * Whether the device's disk is encrypted (FileVault on macOS, BitLocker on * Windows). */ is_encrypted?: boolean; /** * Whether the device is managed via MDM. */ is_managed?: boolean; /** * When the Rippling agent last checked in from this device. */ last_checkin_at?: string; /** * When the device last synced with MDM. */ last_mdm_sync_at?: string; /** * The device lifecycle state (e.g. ACTIVE, READY, LOCKED, LOST, DECOMMISSIONED). */ lifecycle_state?: 'INIT' | 'ACTIVE' | 'ACTIVATING' | 'LOCKED' | 'LOCKING' | 'INACTIVE' | 'PENDING_MDM' | 'CLEANING' | 'READY' | 'DECOMMISSIONING' | 'DECOMMISSIONED' | 'FULL_WIPING' | 'FULL_WIPED' | 'E_CYCLED' | 'SOLD' | 'MDM_LOCKED' | 'LOST' | 'LOST_PLAYING_SOUND'; /** * The MDM provider currently recorded on the device (RIPPLING, JAMFCLOUD, INTUNE, * KANDJI, etc.). Null when the device is not currently MDM-managed (typical for * unenrolled or recently-reset devices). */ mdm_provider?: 'RIPPLING' | 'JUMPCLOUD' | 'JAMFCLOUD' | 'FLEETSMITH' | 'HEXNODE' | 'MICROMDM' | 'MERAKI' | 'SOTI' | 'ADDIGY' | 'FLEETDM' | 'KANDJI' | 'ZOHO' | 'INTUNE' | 'OTHER'; /** * The device hardware model identifier as reported by MDM (e.g. 'MacBookPro18,3', * 'iPhone15,2'). */ model?: string; /** * The device operating system name. */ os_name?: string; /** * The device operating system version. */ os_version?: string; /** * Actions currently queued against the device (not yet completed). Expandable. * * Expandable field */ pending_actions?: Array; /** * The IDs of actions currently queued against the device (not yet completed). */ pending_actions_id?: Array; /** * The OS platform the device runs: MACOS, WINDOWS, IOS, or IPADOS. */ platform?: 'MACOS' | 'WINDOWS' | 'IOS' | 'IPADOS'; /** * The device's hardware serial number. */ serial_number?: string; /** * The worker this device is currently assigned to. * * Expandable field */ worker?: WorkersAPI.Worker; /** * The ID of the worker this device is currently assigned to. Null if unassigned. */ worker_id?: string; } export declare namespace DeviceRetrieveResponse { interface PendingAction { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * The type of the pending device action (e.g. LOCK_DEVICE, RESET_PASSWORD). */ action_type?: 'ADD_USER_TO_FILEVAULT' | 'ASSIGN_DEVICE' | 'AUTHENTICATE_AGENT' | 'CHANGE_FILEVAULT_RECOVERY_KEY' | 'CHANGE_PASSWORD' | 'CLEAR_PASSCODE' | 'CREATE_RIPPLING_ADMIN' | 'DELETE_LOCAL_ACCOUNT' | 'DEMOTE_ACCOUNT_PERMISSION' | 'DISABLE_FIND_MY' | 'DISABLE_LOST_MODE' | 'DISABLE_REMOTE_DESKTOP' | 'ENABLE_LOST_MODE' | 'ENABLE_REMOTE_DESKTOP' | 'ENFORCE_PASSWORD_POLICY' | 'FORCE_CHECK_IN' | 'FULL_WIPE' | 'GRANT_SECURE_TOKEN' | 'INSTALL_ENROLLMENT_PROFILE' | 'LOCK_DEVICE' | 'LOCK_USER_ACCOUNT' | 'LOST_MODE_GET_LOCATION' | 'LOST_MODE_PLAY_SOUND' | 'PROMOTE_ACCOUNT_PERMISSION' | 'RECOVER_AGENT_VIA_MDM' | 'REINSTALL_AGENT' | 'REINSTALL_ENROLLMENT_PROFILE' | 'REMOVE_OTHER_ENROLLMENT_PROFILES' | 'RESET_PASSWORD' | 'RESTART_DEVICE' | 'ROTATE_FILEVAULT_KEY' | 'SHUTDOWN_DEVICE' | 'SOFT_WIPE' | 'TURN_ON_FILEVAULT' | 'UNASSIGN_DEVICE' | 'UNINSTALL_AGENT' | 'UNINSTALL_ANTIVIRUS' | 'UNINSTALL_MDM' | 'UNLOCK_DEVICE' | 'UNLOCK_USER_ACCOUNT' | 'UPDATE_OS' | 'UNKNOWN'; /** * When the action was queued. */ queued_at?: string; /** * The current state of the pending action (e.g. QUEUED, WAITING_FOR_USER_ACTION). */ state?: string; } } export interface DeviceListParams { cursor?: string; expand?: string; filter?: string; /** * The maximum number of results to return. Defaults to 50. Maximum is 100. */ limit?: number; order_by?: string; } export interface DeviceRetrieveParams { expand?: string; } export declare namespace Devices { export { type DeviceListResponse as DeviceListResponse, type DeviceRetrieveResponse as DeviceRetrieveResponse, type DeviceListResponsesPageCursorURL as DeviceListResponsesPageCursorURL, type DeviceListParams as DeviceListParams, type DeviceRetrieveParams as DeviceRetrieveParams, }; } //# sourceMappingURL=devices.d.mts.map