Skip to main content
POST
/
v1
/
monitors
/
{monitor_id}
Update Monitor
curl --request POST \
  --url https://api.olostep.com/v1/monitors/{monitor_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "frequency": "<string>",
  "metadata": {},
  "notification": {
    "events": [],
    "channels": [
      {
        "target": "<string>",
        "events": []
      }
    ]
  }
}
'
{
  "id": "<string>",
  "object": "monitor",
  "query": "<string>",
  "tracked": {
    "type": "<string>",
    "urls": [
      "<string>"
    ],
    "web_query": "<string>"
  },
  "source_policy": {
    "include_urls": [
      "<string>"
    ],
    "exclude_urls": [
      "<string>"
    ],
    "include_domains": [
      "<string>"
    ],
    "exclude_domains": [
      "<string>"
    ]
  },
  "schedule": {
    "frequency": "<string>",
    "cron": "<string>",
    "timezone": "UTC",
    "next_run_at": "2023-11-07T05:31:56Z"
  },
  "notification": {
    "events": [],
    "channels": [
      {
        "target": "<string>",
        "events": []
      }
    ]
  },
  "webhook": {
    "url": "<string>"
  },
  "output_schema": {},
  "error_message": "<string>",
  "last_run": {
    "id": "<string>",
    "status": "completed",
    "change_detected": true,
    "ran_at": "2023-11-07T05:31:56Z"
  },
  "agent": {
    "id": "<string>"
  },
  "metadata": {},
  "created": 123,
  "updated": 123,
  "total_count": 123,
  "mermaid_diagram": "<string>"
}
Merge semantics: Metadata updates follow Stripe’s approach — new keys are added, existing keys are updated, and keys set to empty string "" are deleted.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer , where is your auth token.

Path Parameters

monitor_id
string
required
Pattern: ^monitor_

Body

application/json
frequency
string

Natural-language schedule text. Recreates the internal schedule.

metadata
object

Merged with existing metadata; empty string values delete keys.

notification
object
webhook
object

Pass null to remove the webhook.

Response

Monitor updated.

id
string

Unique monitor identifier (monitor_…).

object
string
Example:

"monitor"

query
string

Monitoring intent in natural language.

tracked
object

Resolved targets the monitor tracks after planning completes.

source_policy
object

Optional URL/domain allow and deny lists applied during planning and execution.

schedule
object
notification
object
webhook
object
output_schema
object

Optional JSON Schema for structured extraction output.

status
enum<string>

Monitor lifecycle status.

Available options:
provisioning,
active,
paused,
failed,
deleted
error_message
string | null

Present when status is failed.

last_run
object

Latest snapshot summary. Included on GET /v1/monitors/{monitor_id}.

agent
object
metadata
object
created
integer

Unix timestamp (seconds).

updated
integer

Unix timestamp (seconds).

total_count
integer

Total snapshot count. Included on GET /v1/monitors/{monitor_id} unless include_total_count=false.

mermaid_diagram
string

Mermaid flowchart of the monitor DAG. Included when include-diagram=true on get.