---
title: "Update FTP Monitor (Change Status)"
method: PATCH
path: "/api/ftp-monitors/{id}"
tags: ["Ftp Monitors"]
---

# Update FTP Monitor (Change Status)

`PATCH /api/ftp-monitors/{id}`

## Request

- Base URL: `https://uptimeify.io`
- URL: `https://uptimeify.io/api/ftp-monitors/{id}`
- Auth: HTTP bearer

PATCH /api/ftp-monitors/:ftpMonitorPublicId

## Path parameters

- `id` string, required

## Request body

- object
  - `customerId` integer: Move to another customer of the organization.
  - `name` string
  - `hostname` string
  - `status` 'active' | 'inactive' | 'maintenance' | 'disabled': inactive is stored as disabled.
  - `checkInterval` integer
  - `timeoutSeconds` integer
  - `allowedCheckCountryCodes` string[], nullable
  - `managementType` 'managed' | 'self_service'
  - `port` integer, nullable
  - `checkMode` 'protocol' | 'tcp': tcp only checks that the port accepts connections.
  - `ftpConfig` object: Merged; a missing password keeps the stored one.
  - `config` object: Alias of ftpConfig.

## Response `200`

OK

- object
  - `id` integer, required
  - `allowedCheckCountryCodes` string[], nullable, required: ISO country codes of the allowed check locations; null = all.
  - `publicId` string, uuid, required
  - `organizationId` integer, required
  - `customerId` integer, required
  - `name` string, required
  - `hostname` string, required
  - `checkInterval` integer, required: Minutes.
  - `timeoutSeconds` integer, required
  - `status` 'active' | 'maintenance' | 'disabled', required
  - `managementType` 'managed' | 'self_service', required
  - `notificationPhoneNumber` string, nullable, required
  - `notificationEmail` string, nullable, required
  - `lastCheckedAt` string, date-time, nullable, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `port` integer, required
  - `config` object, required: Protocol settings. Secrets (password, privateKey, passphrase, auth.pass) are always null.
  - `checkMode` 'protocol' | 'tcp', required: tcp only checks that the port accepts connections.
  - `ftpConfig` object, required: Protocol settings. Secrets (password, privateKey, passphrase, auth.pass) are always null.
  - `hasPassword` boolean, required

## Other responses

- `400`: Invalid or missing parameters.
- `401`: Missing, invalid or expired API token.
- `404`: No such resource, or not visible to this token.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/uptimeify/apis/uptimeify-rest-api.md) · [All operations](https://skmtc.dev/uptimeify/apis/uptimeify-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/uptimeify/apis/uptimeify-rest-api/revisions/2129a771ee7e?raw)
