---
title: "List Monitors"
description: "Returns all monitors configured by the authenticated user."
---

> Documentation Index
> Fetch the complete documentation index at: https://staging.threadapi.dev/llms.txt
> Use this file to discover all available pages before exploring further.

Path: ThreadAPI API › Monitors

`GET /v1/monitors`

Returns all monitors configured by the authenticated user.

## Authentication

Requires one of the following:

- `bearerAuth`, http, header `Authorization`
- `apiKeyAuth`, apiKey, in header, header `x-api-key`

## Code samples

### cURL

```bash
curl --request GET \
  --url https://api.threadapi.dev/v1/monitors \
  --header 'Authorization: Bearer <token>'
```

### TypeScript

```typescript
const url = 'https://api.threadapi.dev/v1/monitors';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.threadapi.dev/v1/monitors"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
```

## Responses

### 200

List of monitors

#### Example

```json
{
  "items": [
    {
      "id": "string",
      "name": "string",
      "keywords": [
        "string"
      ],
      "exclude": [
        "string"
      ],
      "subreddits": [
        "string"
      ],
      "include_posts": true,
      "include_comments": true,
      "nsfw": true,
      "webhook_url": "string",
      "webhook_kind": "generic",
      "status": "active",
      "webhook_failing": true,
      "next_charge_at": "2019-08-24T14:15:22Z",
      "last_match_at": "2019-08-24T14:15:22Z",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z"
    }
  ],
  "limit": 0,
  "used": 0,
  "daily_match_cap": 0
}
```

- `items` (`listMonitors.response.200.items`; array<object>, optional)
  - `id` (`listMonitors.response.200.items.id`; string, required)
  - `name` (`listMonitors.response.200.items.name`; string, required)
  - `keywords` (`listMonitors.response.200.items.keywords`; array<string>, required)
  - `include_posts` (`listMonitors.response.200.items.include_posts`; boolean, required)
  - `include_comments` (`listMonitors.response.200.items.include_comments`; boolean, required)
  - `nsfw` (`listMonitors.response.200.items.nsfw`; boolean, required)
  - `status` (`listMonitors.response.200.items.status`; string, required)
    - one of `"active"`, `"paused"`, `"paused_balance"`, `"deleted"`
  - `next_charge_at` (`listMonitors.response.200.items.next_charge_at`; string, required)
    - format `date-time`
  - `created_at` (`listMonitors.response.200.items.created_at`; string, required)
    - format `date-time`
  - `updated_at` (`listMonitors.response.200.items.updated_at`; string, required)
    - format `date-time`
  - `exclude` (`listMonitors.response.200.items.exclude`; array<string>, optional)
  - `subreddits` (`listMonitors.response.200.items.subreddits`; array<string>, optional)
  - `webhook_url` (`listMonitors.response.200.items.webhook_url`; string | null, optional)
  - `webhook_kind` (`listMonitors.response.200.items.webhook_kind`; string | null, optional)
    - one of `"generic"`, `"slack"`, `"discord"`, `"telegram"`, `null`
  - `webhook_failing` (`listMonitors.response.200.items.webhook_failing`; boolean, optional)
  - `last_match_at` (`listMonitors.response.200.items.last_match_at`; string | null, optional)
    - format `date-time`
- `limit` (`listMonitors.response.200.limit`; integer, optional)
- `used` (`listMonitors.response.200.used`; integer, optional)
- `daily_match_cap` (`listMonitors.response.200.daily_match_cap`; integer, optional)

### 401

Missing or invalid API key or OAuth access token

#### Example

```json
{
  "error": "unauthorized: missing or invalid credentials",
  "error_code": "insufficient_credits"
}
```

One of:

- `ErrorResponse`
- `Error`


Source: https://staging.threadapi.dev/api/Monitors/listMonitors/index.md
