Skip to main content
POST
Create Monitor From A File

Headers

Idempotency-Key
string | null

Optional. Omitted, a key is derived from the settings and the file's contents, so sending the same file again replays. Reusing a key with different settings or file contents returns 409.

Maximum string length: 200
x-api-key
string | null

Body

multipart/form-data
file
file
required

CSV, JSON, JSONL, or NDJSON file, one row per subject (max 100 MB / 100,000 rows).

config
string
required

JSON-encoded monitor settings (UploadMonitorConfig schema; max 300000 characters).

Response

Successful Response

One uploaded table, watched as a single thing.

row_count and active_row_count differ when rows have been switched off.

id
string
required
org_id
string
required
team_id
string | null
required
name
string
required
frequency
string
required
struct
Struct · object
required
tier
string
required
subject_type
string
required
research_plan
string | null
required
is_active
boolean
required
disabled_reason
string | null
required
webhook_url
string | null
required
webhook_event_types
string[]
required
metadata
Metadata · object | null
required
last_run_at
string | null
required
next_run_times
string[]
required
row_count
integer
required
active_row_count
integer
required
status
enum<string>
required

'starting' while an uploaded file's rows are still being added, 'failed' when adding them failed. Nothing is checked until it becomes 'active'. 'cancelled' means the owner cancelled it; 'paused' means it was switched off without cancellation.

Available options:
starting,
failed,
active,
paused,
cancelled
created_at
string
required
updated_at
string
required