v1

latestOpenAPI 3.1.02026-08-0458114534.0 KB
Monitors

Create a Monitor

Creates a new Monitor to run recurring Exa searches on a schedule.

Monitors automatically execute your search query on a recurring schedule and deliver results to your webhook endpoint with automatic deduplication:

  • Date-based filtering only fetches content since the last run

  • Semantic deduplication tracks previous outputs to surface only new developments

The response includes a webhookSecret that is only returned once at creation time. Store it securely for webhook signature verification.

post/monitors

Request body

namestring

An optional name for the monitor

metadataobject

Optional key-value metadata. Echoed back in webhook deliveries so you can route updates to systems like Slack.

Example request

{
  "search": {
    "query": "Latest developments in LLM capabilities",
    "numResults": 10,
    "contents": {
      "text": {
        "maxCharacters": 1000,
        "verbosity": "standard",
        "includeSections": [
          "body",
          "header"
        ],
        "excludeSections": [
          "navigation",
          "footer",
          "sidebar"
        ]
      },
      "highlights": {
        "query": "Key advancements",
        "maxCharacters": 2000,
        "numSentences": 1,
        "highlightsPerUrl": 1
      },
      "summary": {
        "query": "Main developments"
      },
      "extras": {
        "links": 1,
        "imageLinks": 1
      },
      "context": true,
      "livecrawlTimeout": 1000,
      "maxAgeHours": 24,
      "subpages": 1
    }
  },
  "trigger": {
    "period": "6h"
  },
  "metadata": {
    "slack_channel_id": "C123ABC",
    "slack_thread_id": "1745444400.123456",
    "user_id": "U123ABC"
  }
}

Response

The created monitor with webhook secret

idstring required

The unique identifier for the monitor

namestring nullable required

An optional display name

status'active' | 'paused' | 'disabled' required

The status of the monitor. active monitors run on schedule and can be triggered manually. paused monitors can only be triggered manually. disabled monitors are auto-disabled after 10 consecutive authentication failures.

metadataobject nullable required

Caller-provided key-value metadata for your own tracking.

nextRunAtstring date-time nullable required

When the next scheduled run will occur. Null if no trigger is set.

createdAtstring date-time required

When the monitor was created

updatedAtstring date-time required

When the monitor was last updated

webhookSecretstring required

The secret used to verify webhook signatures. This is only returned once at creation time. Store it securely.

Example response

{
  "search": {
    "query": "Latest developments in LLM capabilities",
    "numResults": 10,
    "contents": {
      "text": {
        "maxCharacters": 1000,
        "verbosity": "standard",
        "includeSections": [
          "body",
          "header"
        ],
        "excludeSections": [
          "navigation",
          "footer",
          "sidebar"
        ]
      },
      "highlights": {
        "query": "Key advancements",
        "maxCharacters": 2000,
        "numSentences": 1,
        "highlightsPerUrl": 1
      },
      "summary": {
        "query": "Main developments"
      },
      "extras": {
        "links": 1,
        "imageLinks": 1
      },
      "context": true,
      "livecrawlTimeout": 1000,
      "maxAgeHours": 24,
      "subpages": 1
    }
  },
  "trigger": {
    "period": "6h"
  },
  "metadata": {
    "slack_channel_id": "C123ABC",
    "slack_thread_id": "1745444400.123456",
    "user_id": "U123ABC"
  }
}