MonitorsFtp monitors
List FTP Monitors
Lists FTP monitors in an organization.
GET /api/ftp-monitors
Authentication
Authorization: Bearer <token>
Parameters
organizationId(Query, optional): Organization ID. Defaults to the current user's organization.customerId(Query, optional): Filter by customer ID.search(Query, optional): Search by monitor name, hostname, or customer.page(Query, optional): Page number (default: 1).perPage(Query, optional): Items per page (default: 50, max: 200).
Note: The results are also limited by your customer scope (if your account is restricted to a subset of customers).
Example (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"
curl -X GET \
"$BASE_URL/api/ftp-monitors?page=1&perPage=50&search=ftp" \
-H "Authorization: Bearer $TOKEN"Response
{
"items": [
{
"id": 400,
"organizationId": 1,
"customerId": 10,
"customerName": "Example Customer",
"name": "Partner FTP",
"hostname": "ftp.deinkunde.com",
"port": 21,
"status": "active",
"checkInterval": 30,
"timeoutSeconds": 30,
"allowedCheckCountryCodes": null,
"config": {
"user": "monitor",
"password": "<ftp-password>",
"secure": false
},
"notificationPhoneNumber": null,
"notificationEmail": null,
"lastCheckedAt": null,
"createdAt": "2026-02-25T10:00:00.000Z",
"updatedAt": "2026-02-25T10:00:00.000Z"
}
],
"total": 1,
"page": 1,
"perPage": 50
}Each item contains the FTP monitor itself and a flat customerName, not a full embedded customer record.
Inline metrics
Every item carries the same rolled-up metrics the other monitor list endpoints return. They are computed per monitor over the calendar day, month and year in UTC.
| Field | Type | Meaning |
|---|---|---|
uptimeDay / uptimeMonth / uptimeYear | string | Uptime percentage with two decimals, e.g. "99.94" |
avgResponseDay / avgResponseMonth / avgResponseYear | number | null | Average response time in milliseconds; null when nothing was measured in that window |
responseGraph | object | { values, avg } for the last 24 hours, one entry per hour; an hour with no successful check is null |
upSinceAt | string | null | ISO timestamp the monitor has been up since, null while it is down |
isDown | boolean | Whether the monitor is currently in an unresolved incident |
The day figures are read from the raw check data, the month and year from continuous aggregates, so a value may lag the newest check by a few minutes in the month and year windows.
Common Errors
400 Invalid organizationIdiforganizationIdis not a valid number401 Unauthorizedif you are not authenticated403 Forbiddenif you do not have access to the organization