For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
GuidesAPI Reference
GuidesAPI Reference
  • Overview
    • API reference
  • Search
    • POSTSearch
    • GETSearch Run List
    • GETSearch Run Get
    • GETSearch Run Events
    • POSTSearch Run Cancel
  • Extract
    • GETExtract a URL
    • POSTExtract
  • Monitors
    • GETList monitors
    • POSTCreate monitor
    • GETRetrieve monitor
    • DELDelete monitor
    • PATCHUpdate monitor
    • GETList monitor events
    • POSTMonitor Pause
    • POSTMonitor Resume
    • POSTRun monitor
  • Tasks
    • POSTTask
    • POSTCreate task run
    • GETRetrieve task run
    • GETStream task run events
    • GETTask List
    • GETTask Get
    • GETTask Events
    • POSTTask Cancel
  • Chat
    • POSTChat completion
  • Find All
    • POSTFindAll
    • GETFindall Run List
    • POSTCreate FindAll run
    • GETRetrieve FindAll run
    • GETStream FindAll run events
    • POSTCancel FindAll run
    • POSTExtend FindAll run
    • POSTEnrich FindAll run
LogoLogo
Monitors

Create monitor

||View as Markdown|
POST
https://core.usescout.sh/v1/monitors
POST
/v1/monitors
$curl -X POST https://core.usescout.sh/v1/monitors \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "query": "anthropic new model release",
> "webhook": "https://example.com/hooks/scout",
> "cadence": "daily",
> "country": "us",
> "language": "en",
> "metadata": {
> "team": "research"
> }
>}'
1{
2 "id": "mon-1f6c2d9a4b7e",
3 "query": "anthropic new model release",
4 "cadence": "daily",
5 "country": "us",
6 "language": "en",
7 "status": "active",
8 "metadata": {
9 "team": "research"
10 },
11 "createdAt": "2025-01-18T09:00:00+00:00",
12 "runs": 3,
13 "webhook": "https://example.com/hooks/scout",
14 "lastRunAt": "2025-01-20T09:00:00+00:00",
15 "nextRunAt": "2025-01-21T09:00:00+00:00"
16}
Was this page helpful?
Previous

List monitors

Next

Retrieve monitor

Built with

Authentication

AuthorizationBearer
Your API key, sent as a Bearer token.

Request

This endpoint expects an object.
querystringRequired>=1 character
What to track.
webhookstring or nullOptional
Optional URL to POST events to. When set, the URL is verified to return 2xx before the monitor is created.
cadencestring or nullOptional

hourly | daily | weekly. Mutually exclusive with cron. Defaults to ‘daily’ if neither is set.

cronstring or nullOptional

Standard 5-field cron expression (e.g. ’*/15 * * * *’). Mutually exclusive with cadence.

modestringOptionalDefaults to diff

‘diff’ (only emit on content change) or ‘snapshot’ (always emit).

filter_promptstring or nullOptional

Natural-language predicate. After each run, Claude judges whether results satisfy it; only matches trigger the webhook when notify_on includes ‘match’.

webhook_secretstring or nullOptional

Write-only. When set, outgoing webhooks include an X-Scout-Signature: sha256=<hex> header (HMAC over the raw body) - same pattern as Stripe/GitHub webhooks.

webhook_retryobject or nullOptional

Retry policy on non-2xx webhook responses. Default: 3 attempts, 30s exponential backoff.

notify_onlist of strings or nullOptional

Which event types fire the webhook. Composable subset of: ‘change’ (content changed / snapshot), ‘match’ (filter_prompt returned true), ‘error’ (run errored). Default: [‘change’].

countrystringOptionalDefaults to us

Two-letter country code.

languagestringOptionalDefaults to en
UI language code.
metadatamap from strings to any or nullOptional
Arbitrary caller metadata.

Response

Successful Response
idstring
Monitor identifier.
querystring
The tracked query.
cadencestring
hourly, daily or weekly.
countrystring
languagestring
statusstring
active or paused.
metadatamap from strings to any
Arbitrary caller metadata.
createdAtstring

ISO-8601 creation timestamp.

runsinteger
How many times the monitor has run.
cronstring or null

Cron expression (overrides cadence when present).

modestringDefaults to diff
'diff' or 'snapshot'.
filter_promptstring or null

Natural-language predicate evaluated by Claude.

notify_onlist of strings

Subset of: change | match | error.

webhook_max_attemptsintegerDefaults to 3
webhook_backoff_secondsintegerDefaults to 30
webhook_secret_setbooleanDefaults to false

True if a webhook_secret is configured (the secret itself is never returned).

webhookstring or null
Where change events are delivered, if set.
lastRunAtstring or null

ISO-8601 timestamp of the most recent run.

nextRunAtstring or null

ISO-8601 timestamp of the next run, or null when paused.

last_webhook_statusinteger or null
HTTP status of the most recent webhook delivery, or null.
last_webhook_atdouble or null
Epoch seconds the last webhook delivery completed.
last_webhook_errorstring or null

Error message from the last webhook delivery, when it failed; null on success or when no webhook is set.

last_resultobject or null
Summary of the most recent monitor event, or null.

Errors

422
Unprocessable Entity Error