> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uptimeio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pause Monitor

> Temporarily stop checking a monitor

## Overview

Pause a monitor. Checks stop until you [resume](/api-reference/monitors/resume) it. The monitor, its history and its settings are kept. Use this for planned maintenance on the monitored service.

```
POST https://api.uptimeio.com/api/monitors/{id}/pause
```

## Authentication

| Header | Required | Description |
| - | - | - |
| `X-API-Key` | Yes (or a Bearer token) | Your API key with **read and write** access. Read-only keys receive `READ_ONLY_API_KEY` (403). See [Authentication](/api-reference/authentication). |
| `X-Project-ID` | No | Project that contains the monitor. Defaults to your organization's default project. |

The request has no body.

## Path parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `id` | UUID | Yes | Monitor ID. |

## Response

### 200 OK

Returns the updated monitor (same shape as [Get Monitor](/api-reference/monitors/get)). `status` and `configState` are `paused`.

```json theme={null}
{
  "success": true,
  "data": {
    "monitor": {
      "id": "b7a2c1de-3f54-4c21-9d0a-6e1f2a3b4c5d",
      "name": "Production API",
      "type": "HTTP",
      "target": "https://api.example.com/health",
      "interval_seconds": 60,
      "status": "paused",
      "configState": "paused",
      "runtimeStatus": "paused"
    }
  }
}
```

The example shows a subset of the fields that are returned.

Pausing and resuming are recorded in the monitor's [status history](/api-reference/monitors/status-history).

## Errors

| Code | Status | Meaning |
| - | - | - |
| `AUTHENTICATION_REQUIRED` / `MISSING_AUTH` / `INVALID_API_KEY` | 401 | Missing or invalid credentials. |
| `READ_ONLY_API_KEY` | 403 | The key has read-only access. |
| `MONITOR_NOT_FOUND` | 404 | No monitor with this ID in the project. |
| `MONITOR_PAUSE_FAILED` | 500 | The monitor could not be paused. |

## Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.uptimeio.com/api/monitors/MONITOR_ID/pause \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch('https://api.uptimeio.com/api/monitors/MONITOR_ID/pause', {
    method: 'POST',
    headers: { 'X-API-Key': process.env.UPTIMEIO_API_KEY },
  });
  const { data } = await res.json();
  console.log(data.monitor.status); // "paused"
  ```

  ```python Python theme={null}
  import os
  import requests

  res = requests.post(
      "https://api.uptimeio.com/api/monitors/MONITOR_ID/pause",
      headers={"X-API-Key": os.environ["UPTIMEIO_API_KEY"]},
  )
  print(res.json()["data"]["monitor"]["status"])
  ```
</CodeGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.