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

# Context.dev: Contextdev List Monitors

> List your web change monitors, searching by name and filtering by status, type, or tag. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

List your web change monitors, searching by name and filtering by status, type, or tag.

> [!NOTE]
>
> Tool ID: `contextdev_list_monitors`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'contextdev_list_monitors',
  {
    "q": "software companies hiring engineers",
    "search_by": [
      "name"
    ],
    "search_type": "exact"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute contextdev_list_monitors --input '{
  "q": "software companies hiring engineers",
  "search_by": [
    "name"
  ],
  "search_type": "exact"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "data": [
      {
        "mode": "web",
        "id": "id_123",
        "name": "Example",
        "target": {},
        "change_detection": {},
        "schedule": {},
        "status": "active",
        "created_at": "2026-01-15T12:00:00Z",
        "updated_at": "2026-01-15T12:00:00Z"
      }
    ],
    "has_more": true,
    "next_cursor": "cursor_123"
  }
}
```

Use `deepline describe contextdev_list_monitors --json` for the latest machine-readable contract.

## Input reference

Lists monitors for the authenticated organization. Supports free-text search (`q` over `search_by` fields, `prefix` or `exact` via `search_type`) plus status/type/tag filters. Results are paginated via the opaque `cursor`.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.q` | `string` | No | — | Free-text search term, matched against the fields named in `search_by`. Maximum length: 200. |
| `payload.search_by` | `array` | No | — | Comma-separated fields to search with `q`. Defaults to all of them. Note `instructions` only exists on extract monitors. |
| `payload.search_type` | `"exact" \| "prefix"` | No | — | `prefix` for as-you-type prefix matching (default), `exact` for full-token matching. Allowed: `exact`, `prefix`. |
| `payload.status` | `"active" \| "paused" \| "failed"` | No | — | Filter monitors by lifecycle status. Allowed: `active`, `paused`, `failed`. |
| `payload.target_type` | `"page" \| "sitemap" \| "extract"` | No | — | Filter by target type. Allowed: `page`, `sitemap`, `extract`. |
| `payload.change_detection_type` | `"exact" \| "semantic"` | No | — | Filter by change detection type. Allowed: `exact`, `semantic`. |
| `payload.tags` | `array` | No | — | Comma-separated list of tags to filter by (matches monitors having any of them). Maximum items: 20. |
| `payload.tag` | `string` | No | — | Filter to items that have this tag. |
| `payload.limit` | `integer` | No | — | Maximum number of items to return per page (1-100). Defaults to 25. Minimum: 1. Maximum: 100. |
| `payload.cursor` | `string` | No | — | Opaque pagination cursor from a previous response. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Lists monitors for the authenticated organization. Supports free-text search (`q` over `search_by` fields, `prefix` or `exact` via `search_type`) plus status/type/tag filters. Results are paginated via the opaque `cursor`.",
    "properties": {
      "q": {
        "type": "string",
        "description": "Free-text search term, matched against the fields named in `search_by`.",
        "maxLength": 200
      },
      "search_by": {
        "type": [
          "array",
          "null"
        ],
        "description": "Comma-separated fields to search with `q`. Defaults to all of them. Note `instructions` only exists on extract monitors.",
        "items": {
          "type": "string",
          "enum": [
            "name",
            "url",
            "instructions",
            "tags"
          ]
        }
      },
      "search_type": {
        "type": "string",
        "description": "`prefix` for as-you-type prefix matching (default), `exact` for full-token matching.",
        "enum": [
          "exact",
          "prefix"
        ]
      },
      "status": {
        "type": "string",
        "description": "Filter monitors by lifecycle status.",
        "enum": [
          "active",
          "paused",
          "failed"
        ]
      },
      "target_type": {
        "type": "string",
        "description": "Filter by target type.",
        "enum": [
          "page",
          "sitemap",
          "extract"
        ]
      },
      "change_detection_type": {
        "type": "string",
        "description": "Filter by change detection type.",
        "enum": [
          "exact",
          "semantic"
        ]
      },
      "tags": {
        "type": [
          "array",
          "null"
        ],
        "description": "Comma-separated list of tags to filter by (matches monitors having any of them).",
        "maxItems": 20,
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 50
        }
      },
      "tag": {
        "type": "string",
        "description": "Filter to items that have this tag."
      },
      "limit": {
        "type": "integer",
        "description": "Maximum number of items to return per page (1-100). Defaults to 25.",
        "minimum": 1,
        "maximum": 100
      },
      "cursor": {
        "type": "string",
        "description": "Opaque pagination cursor from a previous response."
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | — |
| `result.data.data` | `array` | Yes | — | — |
| `result.data.data[].mode` | `"web"` | Yes | — | Allowed: `web`. |
| `result.data.data[].id` | `string` | Yes | — | — |
| `result.data.data[].name` | `string` | Yes | — | — |
| `result.data.data[].target` | `record` | Yes | — | — |
| `result.data.data[].change_detection` | `record` | Yes | — | — |
| `result.data.data[].schedule` | `record` | Yes | — | — |
| `result.data.data[].webhook` | `object \| null` | No | — | — |
| `result.data.data[].webhook.url` | `string` | Yes | — | Format: `uri`. |
| `result.data.data[].webhook.events` | `array` | No | — | Minimum items: 1. Maximum items: 2. Items must be unique. |
| `result.data.data[].status` | `"active" \| "paused" \| "failed"` | Yes | — | Allowed: `active`, `paused`, `failed`. |
| `result.data.data[].last_run_at` | `string \| null` | No | — | Format: `date-time`. |
| `result.data.data[].last_change_at` | `string \| null` | No | — | Format: `date-time`. |
| `result.data.data[].next_run_at` | `string \| null` | No | — | Format: `date-time`. |
| `result.data.data[].last_error` | `object \| null` | No | — | — |
| `result.data.data[].last_error.code` | `string` | Yes | — | — |
| `result.data.data[].last_error.message` | `string` | Yes | — | — |
| `result.data.data[].webhook_failure` | `object \| null` | No | — | — |
| `result.data.data[].webhook_failure.consecutive_failures` | `integer` | Yes | — | Minimum: 1. |
| `result.data.data[].webhook_failure.last_status` | `"rejected" \| "failed" \| "skipped_unsafe_url"` | Yes | — | Allowed: `rejected`, `failed`, `skipped_unsafe_url`. |
| `result.data.data[].webhook_failure.last_message` | `string` | Yes | — | — |
| `result.data.data[].webhook_failure.last_failed_at` | `string` | Yes | — | Format: `date-time`. |
| `result.data.data[].created_at` | `string` | Yes | — | Format: `date-time`. |
| `result.data.data[].updated_at` | `string` | Yes | — | Format: `date-time`. |
| `result.data.data[].tags` | `array` | No | — | Maximum items: 20. Items must be unique. |
| `result.data.data[].baseline` | `record` | No | — | — |
| `result.data.has_more` | `boolean` | Yes | — | — |
| `result.data.next_cursor` | `string \| null` | Yes | — | — |
| `result.meta` | `object` | No | — | — |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "properties": {
      "data": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mode": {
                  "type": "string",
                  "enum": [
                    "web"
                  ]
                },
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "target": {
                  "type": "object",
                  "additionalProperties": true
                },
                "change_detection": {
                  "type": "object",
                  "additionalProperties": true
                },
                "schedule": {
                  "type": "object",
                  "additionalProperties": true
                },
                "webhook": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "events": {
                      "type": "array",
                      "minItems": 1,
                      "maxItems": 2,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "change.detected",
                          "run.completed"
                        ]
                      }
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "additionalProperties": false
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "active",
                    "paused",
                    "failed"
                  ]
                },
                "last_run_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "last_change_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "next_run_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "last_error": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ],
                  "additionalProperties": false
                },
                "webhook_failure": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "consecutive_failures": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "last_status": {
                      "type": "string",
                      "enum": [
                        "rejected",
                        "failed",
                        "skipped_unsafe_url"
                      ]
                    },
                    "last_message": {
                      "type": "string"
                    },
                    "last_failed_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "consecutive_failures",
                    "last_status",
                    "last_message",
                    "last_failed_at"
                  ],
                  "additionalProperties": false
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "tags": {
                  "type": "array",
                  "maxItems": 20,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  }
                },
                "baseline": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "required": [
                "mode",
                "id",
                "name",
                "target",
                "change_detection",
                "schedule",
                "status",
                "created_at",
                "updated_at"
              ],
              "additionalProperties": false
            }
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "has_more",
          "next_cursor"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Context.dev provider guide](https://deepline.com/docs/providers/contextdev/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


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