---
title: "Update agent"
method: PATCH
path: "/v1/agent/{agent_id}"
tags: ["Agents"]
---

# Update agent

`PATCH /v1/agent/{agent_id}`

## Path parameters

- `agent_id` string, required — ID of an agent

## Request body

- object
  - `alert_configs` AlertConfig[] — Array of alert configurations
    - `alert_active` boolean — Whether this alert is active. (for responses only)
    - `alert_paused_indefinite` boolean — Set to true to pause this alert indefinitely.
    - `alert_resume` boolean — Set to true to resume this alert (clears paused_until). This takes precedence over paused_until if both are provided.
    - `alert_type` 'device_not_checking_in' | 'device_out_of_date' | 'device_storage_not_healthy' | 'device_storage_space_low' | 'device_storage_space_critical' | 'agent_not_checking_in' | 'agent_not_backing_up' | 'agent_backup_failed' | 'agent_duplicate_connection', required — Type of alert
    - `pause_for_minutes` 0 | 30 | 60 | 120 | 240 | 480 | 1440 | 10080 — Number of minutes to pause alerts (for requests). Use 'resume' to unpause, or one of the predefined durations. Use 'alert_paused_indefinite' to pause indefinitely.
    - `paused_until` string, date-time — Timestamp when alerts will resume (for responses). RFC3339 format. If null or empty, alerts are not paused.
  - `backup_paused_indefinite` boolean — Set to true to pause backups indefinitely. This takes precedence over backup_paused_until. Backups will remain paused until you explicitly set backup_resume to true. Set to false to clear the indefinite pause (backups will resume, or remain paused until backup_paused_until if that is still in the future).
  - `backup_paused_until` string, date-time — Pause backups until this timestamp (RFC3339 format). Backups will automatically resume after this time. To pause indefinitely instead, use backup_paused_indefinite. If both backup_paused_until and backup_paused_indefinite are set, backup_paused_indefinite takes precedence and backups remain paused until explicitly resumed via backup_resume.
  - `backup_resume` boolean — Set to true to immediately resume backups. This clears both backup_paused_until and backup_paused_indefinite, and takes precedence over both if provided in the same request.
  - `backup_schedule` BackupSchedule — Backup schedule configuration
    - `days` integer[], required — Days of week when backups should run
    - `end_hour` integer, required — End hour (0-23)
    - `interval_in_minutes` 30 | 60 | 120 | 180 | 360, required — Backup interval in minutes
    - `start_hour` integer, required — Start hour (0-23)
  - `comments` string — Optional comments for this agent.
  - `default_restore_settings` DefaultRestoreSettings — Default restore VM settings
    - `cpu_count` 1 | 2 | 4 | 8 | 16 — Number of CPUs
    - `disk_bus` 'sata' | 'virtio' — Disk bus type
    - `memory_mb` 4096 | 6144 | 8192 | 12288 | 16384 | 24576 | 28672 | 32768 | 49152 | 65536 | 98304 | 131072 | 163840 | 196608 | 229376 | 262144 — Memory in MB
    - `network_model` 'virtio' | 'hypervisor_default' | 'e1000' | 'rtl8139' — Network model
  - `display_name` string — Customizable display name
  - `file_index` boolean — This field exists only for backward compatibility. It is a deprecated field. Use file_index_enabled instead.
  - `file_index_enabled` boolean — Set to false to leave file indexing off on an agent, true to enable file indexing and searching
  - `local_retention_policy` LocalRetentionPolicy — Local retention policy configuration
    - `retention_policy_max_age_months` 1 | 3 | 6 | 12 | 24 | 36 | 84, required — Maximum snapshot age in months
    - `retention_policy_name` 'lean' | 'balanced' | 'comprehensive', required — Retention policy name
  - `nas_smb_password` string — SMB password for the NAS share. Only applicable to NAS agents. Omit to keep the current password. Write-only.
  - `nas_smb_username` string — SMB username for the NAS share. Only applicable to NAS agents.
  - `nas_unc_path` string — UNC path to the NAS SMB share. Only applicable to NAS agents.
  - `passphrase` string — User passphrase. If the agent has a user passphrase, you must provide it here.
  - `sealed` boolean — Set to false to unseal an agent with a user-managed passphrase. This will allow backups to occur.
  - `timezone` string — IANA timezone string (e.g., "America/New_York", "Europe/London")
  - `volumes` VolumeSetting[] — Array of volume settings (volume_id and include flag)
    - `include` boolean, required — Whether to include this volume in backups
    - `mount_points` string[] — Mount points for this volume (e.g., ["C:", "D:"])
    - `volume_id` string, required — Volume ID
  - `volumes_include_default` boolean — Whether new volumes should be included by default
  - `vss_writer_configs` AgentVSSWriterConfig[]
    - `excluded` boolean, required — Whether this VSS writer is excluded from participating in backups.
    - `writer_id` string, required — VSS writer ID.
    - `writer_name` string — VSS writer name.

## Response `200`

OK

- Agent — Agent object that represents an agent that is paired to a device.
  - `addresses` NetworkAddress[], required — List of network addresses
    - `ips` string[], required
    - `mac` string, required — MAC address of the network interface.
  - `agent_id` string, required — ID of an agent
  - `agent_type` 'windows' | 'linux' | 'nas' — Type of agent. Possible values are "windows", "linux", "nas". May be empty for legacy agents.
  - `agent_version` string, required — Version of the agent
  - `alert_configs` AlertConfig[], required — Alert configurations for this agent
    - `alert_active` boolean — Whether this alert is active. (for responses only)
    - `alert_paused_indefinite` boolean — Set to true to pause this alert indefinitely.
    - `alert_resume` boolean — Set to true to resume this alert (clears paused_until). This takes precedence over paused_until if both are provided.
    - `alert_type` 'device_not_checking_in' | 'device_out_of_date' | 'device_storage_not_healthy' | 'device_storage_space_low' | 'device_storage_space_critical' | 'agent_not_checking_in' | 'agent_not_backing_up' | 'agent_backup_failed' | 'agent_duplicate_connection', required — Type of alert
    - `pause_for_minutes` 0 | 30 | 60 | 120 | 240 | 480 | 1440 | 10080 — Number of minutes to pause alerts (for requests). Use 'resume' to unpause, or one of the predefined durations. Use 'alert_paused_indefinite' to pause indefinitely.
    - `paused_until` string, date-time — Timestamp when alerts will resume (for responses). RFC3339 format. If null or empty, alerts are not paused.
  - `backup_paused_indefinite` boolean — Whether backups are paused indefinitely. When true, backups remain paused regardless of backup_paused_until and will not resume until explicitly set via backup_resume.
  - `backup_paused_until` string, date-time — Timestamp when backups will resume (RFC3339 format). If backup_paused_indefinite is also true, backups remain paused regardless of this timestamp until explicitly resumed via backup_resume.
  - `backup_resume` boolean — Set to true to immediately resume backups. This clears both backup_paused_until and backup_paused_indefinite, and takes precedence over both if provided in the same request.
  - `backup_schedule` BackupSchedule, required — Backup schedule configuration
    - `days` integer[], required — Days of week when backups should run
    - `end_hour` integer, required — End hour (0-23)
    - `interval_in_minutes` 30 | 60 | 120 | 180 | 360, required — Backup interval in minutes
    - `start_hour` integer, required — Start hour (0-23)
  - `backup_schedule_active` boolean — Whether the backup schedule is active or paused. (for responses only)
  - `booted_at` string, date-time — Boot timestamp
  - `client_id` string — ID of a client
  - `comments` string, required — Comments about the agent
  - `default_restore_settings` DefaultRestoreSettings, required — Default restore VM settings
    - `cpu_count` 1 | 2 | 4 | 8 | 16 — Number of CPUs
    - `disk_bus` 'sata' | 'virtio' — Disk bus type
    - `memory_mb` 4096 | 6144 | 8192 | 12288 | 16384 | 24576 | 28672 | 32768 | 49152 | 65536 | 98304 | 131072 | 163840 | 196608 | 229376 | 262144 — Memory in MB
    - `network_model` 'virtio' | 'hypervisor_default' | 'e1000' | 'rtl8139' — Network model
  - `device_id` string, required — ID of a device
  - `display_name` string, required — Customizable display name
  - `encryption_algorithm` string — Storage encryption algorithm of the agent
  - `file_index_enabled` boolean, required — Whether the file index is enabled
  - `firmware_type` string, required — Firmware type of the agent
  - `hostname` string, required — Hostname of the system
  - `ip_addresses` string[], required — This field is deprecated and will be removed in the future.
  - `last_seen_at` string, date-time, required — Last seen timestamp
  - `local_retention_policy` LocalRetentionPolicy, required — Local retention policy configuration
    - `retention_policy_max_age_months` 1 | 3 | 6 | 12 | 24 | 36 | 84, required — Maximum snapshot age in months
    - `retention_policy_name` 'lean' | 'balanced' | 'comprehensive', required — Retention policy name
  - `manufacturer` string — Manufacturer of the agent
  - `nas_smb_username` string — SMB username for the NAS share. Only present for NAS agents.
  - `nas_unc_path` string — UNC path to the NAS SMB share. Only present for NAS agents.
  - `os` string, required — OS of the agent
  - `os_version` string, required — OS version of the agent
  - `passphrases` AgentPassphrase[], required — User-managed passphrases for the agent. An empty list means Slide manages the agent passphrase.
    - `agent_passphrase_id` string — ID of an agent passphrase
    - `name` string, required — Friendly name to help remember which passphrase this is.
    - `passphrase` string — Your secret passphrase that secures the agent's data.
  - `platform` string, required — OS platform of the agent
  - `public_ip_address` string, ipv4, required — Public IP address of the agent
  - `sealed` boolean, required — Whether the agent's encryption key is unloaded and unavailable for backups.
  - `timezone` string, required — Timezone of the agent
  - `volumes` object[], required — Volumes to include in the backup
    - `include` boolean, required — Whether the volume is included in the backup
    - `mount_points` string[] — Mount points for this volume (e.g., ["C:", "D:"]) - present in responses only
    - `volume_id` string, required — ID of a volume
  - `volumes_include_default` boolean, required — Whether the default volume is included in the backup
  - `vss_writer_configs` AgentVSSWriterConfig[], required — VSS writer configurations. VSS writers are always included by default.
    - `excluded` boolean, required — Whether this VSS writer is excluded from participating in backups.
    - `writer_id` string, required — VSS writer ID.
    - `writer_name` string — VSS writer name.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Not found
- `500` — Internal server error

---

[API](https://skmtc.net/slide/apis/slide-api.md) · [All operations](https://skmtc.net/slide/apis/slide-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/slide/slide-api/versions/c63e4b604dd1/schema)
