Skip to main content
POST
Create a Monitor

Authorizations

x-api-key
string
header
required

Pass your Exa API key in the x-api-key header. You can also authenticate with Authorization: Bearer .

Body

application/json
webhook
object
required
name
string

An optional name for the monitor

trigger
object
outputSchema
object

Controls the format of the run output. Defaults to { "type": "text" } if not specified. When type is "text", the output is a plain text summary. When type is "object", the output is structured JSON. If no properties are specified with "object" type, a schema is inferred automatically; otherwise the output adheres to the provided schema.

metadata
object

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

Example:

Response

201 - application/json

The created monitor with webhook secret

id
string
required

The unique identifier for the monitor

name
string | null
required

An optional display name

status
enum<string>
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.

Available options:
active,
paused,
disabled
trigger
object | null
required

The interval-based schedule for automatic runs. Null if no schedule is set.

outputSchema
object
required

Controls the format of the run output. Defaults to { "type": "text" } if not specified. When type is "text", the output is a plain text summary. When type is "object", the output is structured JSON. If no properties are specified with "object" type, a schema is inferred automatically; otherwise the output adheres to the provided schema.

metadata
object | null
required

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

Example:
webhook
object
required
nextRunAt
string<date-time>
required

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

createdAt
string<date-time>
required

When the monitor was created

updatedAt
string<date-time>
required

When the monitor was last updated

webhookSecret
string
required

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