# UptimeRobot

> Track whether your sites and services are up with UptimeRobot: create monitors, check their status, and pause or resume them around deploys.

App · Monitoring · 5 actions. Web page: https://docs.lodol.com/docs/integrations/uptimerobot

## Actions

### Create a monitor

Start monitoring a website, host, or port. UptimeRobot checks it on the schedule you pick and alerts your contacts when it goes down.

**Inputs**

- Monitor name (`friendly_name`, text, required): The name to show in UptimeRobot and in alerts, for example 'Production API'.
- URL or host (`url`, text, required): What to check. Use a full URL such as 'https://example.com' for an HTTP or keyword monitor, or a hostname or IP such as 'example.com' for a ping or port monitor.
- Check type (`monitor_type`, text): How UptimeRobot should test that the target is up. One of: `HTTP` (HTTP(S): the URL responds), `KEYWORD` (Keyword: the page contains (or lacks) a word), `PING` (Ping: the host answers ICMP), `PORT` (Port: a specific TCP port accepts connections). Default: `HTTP`.
- Check every (`interval`, text): How often to run the check. One of: `60` (Every minute), `300` (Every 5 minutes), `600` (Every 10 minutes), `900` (Every 15 minutes), `1800` (Every 30 minutes), `3600` (Every hour). Default: `300`.
- Timeout (seconds) (`timeout`, number): Optional. How long to wait for a response before the check counts as down. Defaults to 30 seconds for HTTP and keyword monitors. From 1 to 60.
- Keyword (`keyword_value`, text): Keyword monitors only. The word or phrase to look for in the page's response, for example 'Add to cart'.
- Keyword rule (`keyword_type`, text): Keyword monitors only. Whether the monitor goes down when the keyword is missing or when it appears. One of: `EXISTS` (Down when the keyword is missing), `NOT_EXISTS` (Down when the keyword is present). Default: `EXISTS`.
- Port (`port`, number): Port monitors only. The TCP port to connect to, for example 443. From 1 to 65535.

**Outputs**

- `created_at` (text): When the monitor was created
- `current_state_duration` (number): How long the monitor has been in its current state, in seconds
- `friendly_name` (text): The monitor's name in UptimeRobot
- `id` (text): The monitor's unique id
- `interval` (number): How often the monitor runs, in seconds
- `status` (text): The monitor's current state: UP, DOWN, LOOKS_DOWN, PAUSED, or STARTED
- `tags` (list): The names of the tags on the monitor
- `type` (text): The check type (HTTP, KEYWORD, PING, or PORT)
- `url` (text): The URL or host being checked

**Example output**

```json
{
  "created_at": "2026-07-31T12:00:00.000Z",
  "current_state_duration": 86400,
  "friendly_name": "Production API",
  "id": "800123456",
  "interval": 300,
  "status": "UP",
  "tags": [
    "production"
  ],
  "type": "HTTP",
  "url": "https://example.com"
}
```

### Delete a monitor

Delete a monitor and its history. This cannot be undone; pause the monitor instead if you only want to stop it temporarily.

**Inputs**

- Monitor ID (`monitor_id`, text, required): The id of the monitor, as returned by Create a monitor or List monitors.

**Outputs**

- `deleted` (true/false): True when the monitor was removed
- `id` (text): The id of the deleted monitor

**Example output**

```json
{
  "deleted": true,
  "id": "800123456"
}
```

### List monitors

List the monitors in your account with their current up or down status. Filter by status, name, URL, or tag to check just the ones you care about.

**Inputs**

- Status (`status`, text): Only return monitors in these states. Leave empty for all of them. One or more of: `UP`, `DOWN`, `LOOKS_DOWN` (Looks down (being confirmed)), `PAUSED`, `STARTED` (Started (checking)).
- Name contains (`name`, text): Optional. Only return monitors whose name contains this text. Case-insensitive.
- URL contains (`url`, text): Optional. Only return monitors whose URL contains this text, for example 'example.com'. Case-insensitive.
- Tags (`tags`, text): Optional. Only return monitors carrying any of these tag names, separated by commas. Tag names are case-sensitive.
- How many (`limit`, number): The maximum number of monitors to return (1 to 200). From 1 to 200. Default: `50`.

**Outputs**

- `count` (number): How many monitors were returned
- `monitors` (list): The monitors that matched the filters

**Example output**

```json
{
  "count": 1,
  "monitors": [
    {
      "created_at": "2026-07-31T12:00:00.000Z",
      "current_state_duration": 86400,
      "friendly_name": "Production API",
      "id": "800123456",
      "interval": 300,
      "status": "UP",
      "tags": [
        "production"
      ],
      "type": "HTTP",
      "url": "https://example.com"
    }
  ]
}
```

### Pause a monitor

Pause a monitor so it stops checking and stops sending alerts. Use this before a deploy or a maintenance window.

**Inputs**

- Monitor ID (`monitor_id`, text, required): The id of the monitor, as returned by Create a monitor or List monitors.

**Outputs**

- `created_at` (text): When the monitor was created
- `current_state_duration` (number): How long the monitor has been in its current state, in seconds
- `friendly_name` (text): The monitor's name in UptimeRobot
- `id` (text): The monitor's unique id
- `interval` (number): How often the monitor runs, in seconds
- `status` (text): The monitor's current state: UP, DOWN, LOOKS_DOWN, PAUSED, or STARTED
- `tags` (list): The names of the tags on the monitor
- `type` (text): The check type (HTTP, KEYWORD, PING, or PORT)
- `url` (text): The URL or host being checked

**Example output**

```json
{
  "created_at": "2026-07-31T12:00:00.000Z",
  "current_state_duration": 86400,
  "friendly_name": "Production API",
  "id": "800123456",
  "interval": 300,
  "status": "PAUSED",
  "tags": [
    "production"
  ],
  "type": "HTTP",
  "url": "https://example.com"
}
```

### Resume a monitor

Start a paused monitor again so it resumes checking and alerting, for example once a deploy has finished.

**Inputs**

- Monitor ID (`monitor_id`, text, required): The id of the monitor, as returned by Create a monitor or List monitors.

**Outputs**

- `created_at` (text): When the monitor was created
- `current_state_duration` (number): How long the monitor has been in its current state, in seconds
- `friendly_name` (text): The monitor's name in UptimeRobot
- `id` (text): The monitor's unique id
- `interval` (number): How often the monitor runs, in seconds
- `status` (text): The monitor's current state: UP, DOWN, LOOKS_DOWN, PAUSED, or STARTED
- `tags` (list): The names of the tags on the monitor
- `type` (text): The check type (HTTP, KEYWORD, PING, or PORT)
- `url` (text): The URL or host being checked

**Example output**

```json
{
  "created_at": "2026-07-31T12:00:00.000Z",
  "current_state_duration": 86400,
  "friendly_name": "Production API",
  "id": "800123456",
  "interval": 300,
  "status": "STARTED",
  "tags": [
    "production"
  ],
  "type": "HTTP",
  "url": "https://example.com"
}
```
