For AI agents: a documentation index is available at https://docs.parallel.ai/llms.txt. The full text of all docs is at https://docs.parallel.ai/llms-full.txt. You may also fetch any page as Markdown by appending
This guide enumerates the contract differences between the Alpha Monitor API (.md to its URL or sending Accept: text/markdown./v1alpha/monitors) and the GA version (/v1/monitors), and outlines the steps required to migrate.
All ongoing development targets V1. The Alpha endpoints remain reachable but receive no new features:
- Capabilities introduced after Alpha —
snapshotmonitors, structuredoutputwithbasis,advanced_settings.location, andprocessorselection — are V1-only. - The Python and TypeScript SDKs expose typed bindings (
client.monitor.*) only for V1. Alpha is reachable solely via the low-level HTTP client (client.post("/v1alpha/monitors", ...)). - The Parallel CLI targets V1 endpoints exclusively.
Highlights
- Required
typediscriminant —"event_stream"(default Alpha behavior) or new"snapshot"; determines thesettingsshape. See Snapshot Quickstart. - Nested
settings/advanced_settings—query,output_schema,include_backfillmove undersettings;source_policyand the new ISO 3166-1locationmove undersettings.advanced_settings. See Advanced Settings. processorselection — Top-level"lite"(default) or"base".baseincreases recall and breadth for harder queries, at higher cost. See Monitor Quickstart.- Endpoint renames — Update →
POST /{id}/update; Cancel →POST /{id}/cancel. NewPOST /{id}/triggerenqueues off-schedule one-off runs. - Unified events endpoint —
GET /eventssupersedes both Alpha endpoints with cursor pagination and an optionalevent_group_idfilter. See Events. - Restructured event payload — Stable
event_id,event_typediscriminator, and typedoutputwithbasis(citations, reasoning, confidence) replace the deprecatedoutputstring and theresultobject. See Events and Research Basis. - V1-only SDKs and CLI — Typed
client.monitor.*bindings and the Parallel CLI target V1 exclusively.
Overview of Changes
Endpoints
| Operation | Alpha | V1 |
|---|---|---|
| Base path | /v1alpha/monitors | /v1/monitors |
| Create | POST /v1alpha/monitors | POST /v1/monitors |
| List (paginated) | GET /v1alpha/monitors/list | GET /v1/monitors; cursor-paginated; supports type and status query filters |
| Retrieve | GET /v1alpha/monitors/{monitor_id} | GET /v1/monitors/{monitor_id} |
| Update | POST /v1alpha/monitors/{monitor_id} | POST /v1/monitors/{monitor_id}/update |
| Cancel | DELETE /v1alpha/monitors/{monitor_id} | POST /v1/monitors/{monitor_id}/cancel |
| Trigger one-off run | — | POST /v1/monitors/{monitor_id}/trigger |
| List events | GET /v1alpha/monitors/{monitor_id}/events?lookback_period=10d | GET /v1/monitors/{monitor_id}/events?cursor=&limit=&include_completions= |
| Single execution events | GET /v1alpha/monitors/{monitor_id}/event_groups/{event_group_id} | GET /v1/monitors/{monitor_id}/events?event_group_id=... |
| Simulate event | POST /v1alpha/monitors/{monitor_id}/simulate_event | Removed; closest analogue is POST /{monitor_id}/trigger, which executes a real run rather than dispatching a synthetic event |
Create Request
| Concept | Alpha | V1 |
|---|---|---|
| Monitor type | implicit; search-query monitors only | type: "event_stream" or type: "snapshot" (required) |
| Search query | top-level query | settings.query (event_stream only) |
| Output schema | top-level output_schema | settings.output_schema (event_stream only) |
| Backfill | top-level include_backfill | settings.include_backfill (event_stream only) |
| Source policy | top-level source_policy | settings.advanced_settings.source_policy (event_stream only) |
Geo (location) (new) | — | settings.advanced_settings.location (ISO 3166-1 alpha-2, e.g. "us", "gb") |
| Snapshot baseline (new) | — | settings.task_run_id (snapshot only) |
| Processor (new) | — | top-level processor: "lite" | "base" (defaults to "lite") |
| Frequency | top-level frequency (1h–30d) | unchanged |
| Webhook | top-level webhook | unchanged |
| Metadata | top-level metadata | unchanged |
Response
| Field | Alpha | V1 |
|---|---|---|
type | — | new — "event_stream" or "snapshot" |
query | top-level | now at settings.query |
output_schema | top-level | now at settings.output_schema |
source_policy | top-level | now at settings.advanced_settings.source_policy |
include_backfill | top-level | now at settings.include_backfill |
cadence | top-level (deprecated; daily/weekly/etc.) | removed; use frequency |
status | "active" | "canceled" (single-l spelling) | "active" | "cancelled" (double-l spelling) |
last_run_at | present | unchanged |
output (snapshot only) | — | new; latest snapshot value for type=snapshot monitors |
Events
V1 unifies the AlphaMonitorEventDetail shape into a single typed event with a stable event_id, a structured output object, and a basis array carrying per-field citations, reasoning, and confidence.
| Field | Alpha | V1 |
|---|---|---|
| Discriminator | type: "event" | event_type: "event_stream" | "snapshot" |
event_id | — | new; stable per-event identifier; safe for idempotent client-side dedup |
event_group_id | present | unchanged |
event_date | present | unchanged |
output (string) | deprecated string field | removed |
result: { type, content } | top-level (Text or JSON) | merged into output: { type, content, basis } |
source_urls | top-level array | removed; URLs surface via output.basis[].citations[].url |
basis | — | new; per-field citations, reasoning, and confidence (see Research Basis) |
monitor.event.detected, monitor.execution.completed, monitor.execution.failed) are unchanged. The webhook payload still wraps an event_group_id to be resolved against the events endpoint.
SDK and CLI Surface
V1 exposes typed bindings in both the Python and TypeScript SDKs and is the only version supported by the Parallel CLI. Alpha has no typed or CLI surface — it is reachable only via the low-level HTTP client.| Operation | Alpha (Python) | V1 (Python) |
|---|---|---|
| Create | client.post("/v1alpha/monitors", body=...) | client.monitor.create(...) |
| List | client.get("/v1alpha/monitors/list", ...) | client.monitor.list(...) |
| Retrieve | client.get("/v1alpha/monitors/{id}", ...) | client.monitor.retrieve(monitor_id) |
| Update | client.post("/v1alpha/monitors/{id}", body=...) | client.monitor.update(monitor_id, ...) |
| Cancel | client.delete("/v1alpha/monitors/{id}", ...) | client.monitor.cancel(monitor_id) |
| Trigger | — | client.monitor.trigger(monitor_id) |
| Events | client.get("/v1alpha/monitors/{id}/events", ...) | client.monitor.events(monitor_id, ...) |
Migration Example
Before (Alpha)
After (V1)
Migration Checklist
Required changes
- Update the base path from
/v1alpha/monitorsto/v1/monitors. - Add the
typediscriminant ("event_stream"or"snapshot") to everyCreateMonitorRequest. - Move
query,output_schema, andinclude_backfillfrom top-level intosettings. - Move
source_policyfrom top-level intosettings.advanced_settings.source_policy. - Migrate Update calls from
POST /{id}toPOST /{id}/update. - Migrate Cancel calls from
DELETE /{id}toPOST /{id}/cancel. - Replace
GET /{id}/event_groups/{event_group_id}withGET /{id}/events?event_group_id=.... - Replace the
lookback_periodquery parameter with cursor-based pagination (cursor,limit). - Update the status enum check from
"canceled"to"cancelled"(doublel). - Replace reads of
result.contentandsource_urlswithoutput.contentandoutput.basis[].citations[].url. - Drop the deprecated top-level string
outputfield on event records.
Optional enhancements
- Set
processor: "base"for harder queries that need higher recall and breadth. - Set
settings.advanced_settings.locationto scope retrieval to a single country. - Replace low-level
client.post(...)calls withclient.monitor.*SDK bindings. - Use
event_idfor idempotent client-side dedup across pagination and webhook retries. - Consume
output.basisfor per-field citations, reasoning, and confidence. - Issue
POST /{id}/triggerfor off-schedule one-off executions. - Pass
include_completions=trueto enumerate executions that produced no events (useful for audit traces). - Adopt
type=snapshotfor field-level diffing of structured Task Run outputs (see Snapshot Quickstart).
Additional Resources
- Monitor Quickstart — V1 monitor lifecycle and webhook walkthrough
- Snapshot Quickstart —
type=snapshotwalkthrough - Events — V1 event schemas and retrieval semantics
- Webhooks — payload schemas and HMAC verification
- V1 API Reference — generated from
public-openapi.json - Legacy Alpha API Reference —
/v1alpha/monitorsendpoint reference