Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.parallel.ai/llms.txt

Use this file to discover all available pages before exploring further.

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 .md to its URL or sending Accept: text/markdown.
This guide enumerates the contract differences between the Alpha Monitor API (/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 — snapshot monitors, structured output with basis, advanced_settings.location, and processor selection — 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 type discriminant"event_stream" (default Alpha behavior) or new "snapshot"; determines the settings shape. See Snapshot Quickstart.
  • Nested settings / advanced_settingsquery, output_schema, include_backfill move under settings; source_policy and the new ISO 3166-1 location move under settings.advanced_settings. See Advanced Settings.
  • processor selection — Top-level "lite" (default) or "base". base increases recall and breadth for harder queries, at higher cost. See Monitor Quickstart.
  • Endpoint renames — Update → POST /{id}/update; Cancel → POST /{id}/cancel. New POST /{id}/trigger enqueues off-schedule one-off runs.
  • Unified events endpointGET /events supersedes both Alpha endpoints with cursor pagination and an optional event_group_id filter. See Events.
  • Restructured event payload — Stable event_id, event_type discriminator, and typed output with basis (citations, reasoning, confidence) replace the deprecated output string and the result object. 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

OperationAlphaV1
Base path/v1alpha/monitors/v1/monitors
CreatePOST /v1alpha/monitorsPOST /v1/monitors
List (paginated)GET /v1alpha/monitors/listGET /v1/monitors; cursor-paginated; supports type and status query filters
RetrieveGET /v1alpha/monitors/{monitor_id}GET /v1/monitors/{monitor_id}
UpdatePOST /v1alpha/monitors/{monitor_id}POST /v1/monitors/{monitor_id}/update
CancelDELETE /v1alpha/monitors/{monitor_id}POST /v1/monitors/{monitor_id}/cancel
Trigger one-off runPOST /v1/monitors/{monitor_id}/trigger
List eventsGET /v1alpha/monitors/{monitor_id}/events?lookback_period=10dGET /v1/monitors/{monitor_id}/events?cursor=&limit=&include_completions=
Single execution eventsGET /v1alpha/monitors/{monitor_id}/event_groups/{event_group_id}GET /v1/monitors/{monitor_id}/events?event_group_id=...
Simulate eventPOST /v1alpha/monitors/{monitor_id}/simulate_eventRemoved; closest analogue is POST /{monitor_id}/trigger, which executes a real run rather than dispatching a synthetic event

Create Request

ConceptAlphaV1
Monitor typeimplicit; search-query monitors onlytype: "event_stream" or type: "snapshot" (required)
Search querytop-level querysettings.query (event_stream only)
Output schematop-level output_schemasettings.output_schema (event_stream only)
Backfilltop-level include_backfillsettings.include_backfill (event_stream only)
Source policytop-level source_policysettings.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")
Frequencytop-level frequency (1h30d)unchanged
Webhooktop-level webhookunchanged
Metadatatop-level metadataunchanged

Response

FieldAlphaV1
typenew — "event_stream" or "snapshot"
querytop-levelnow at settings.query
output_schematop-levelnow at settings.output_schema
source_policytop-levelnow at settings.advanced_settings.source_policy
include_backfilltop-levelnow at settings.include_backfill
cadencetop-level (deprecated; daily/weekly/etc.)removed; use frequency
status"active" | "canceled" (single-l spelling)"active" | "cancelled" (double-l spelling)
last_run_atpresentunchanged
output (snapshot only)new; latest snapshot value for type=snapshot monitors

Events

V1 unifies the Alpha MonitorEventDetail 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.
FieldAlphaV1
Discriminatortype: "event"event_type: "event_stream" | "snapshot"
event_idnew; stable per-event identifier; safe for idempotent client-side dedup
event_group_idpresentunchanged
event_datepresentunchanged
output (string)deprecated string fieldremoved
result: { type, content }top-level (Text or JSON)merged into output: { type, content, basis }
source_urlstop-level arrayremoved; URLs surface via output.basis[].citations[].url
basisnew; per-field citations, reasoning, and confidence (see Research Basis)
Webhook event types (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.
OperationAlpha (Python)V1 (Python)
Createclient.post("/v1alpha/monitors", body=...)client.monitor.create(...)
Listclient.get("/v1alpha/monitors/list", ...)client.monitor.list(...)
Retrieveclient.get("/v1alpha/monitors/{id}", ...)client.monitor.retrieve(monitor_id)
Updateclient.post("/v1alpha/monitors/{id}", body=...)client.monitor.update(monitor_id, ...)
Cancelclient.delete("/v1alpha/monitors/{id}", ...)client.monitor.cancel(monitor_id)
Triggerclient.monitor.trigger(monitor_id)
Eventsclient.get("/v1alpha/monitors/{id}/events", ...)client.monitor.events(monitor_id, ...)

Migration Example

Before (Alpha)

curl https://api.parallel.ai/v1alpha/monitors \
  -H "Content-Type: application/json" \
  -H "x-api-key: $PARALLEL_API_KEY" \
  -d '{
    "query": "AI startup funding announcements",
    "frequency": "1d",
    "include_backfill": false,
    "source_policy": {
      "include_domains": ["techcrunch.com", "bloomberg.com"]
    },
    "webhook": {
      "url": "https://example.com/webhook",
      "event_types": ["monitor.event.detected"]
    },
    "metadata": { "external_id": "acme-monitor-001" }
  }'

After (V1)

curl https://api.parallel.ai/v1/monitors \
  -H "Content-Type: application/json" \
  -H "x-api-key: $PARALLEL_API_KEY" \
  -d '{
    "type": "event_stream",
    "frequency": "1d",
    "processor": "lite",
    "settings": {
      "query": "AI startup funding announcements",
      "include_backfill": false,
      "advanced_settings": {
        "source_policy": {
          "include_domains": ["techcrunch.com", "bloomberg.com"]
        },
        "location": "us"
      }
    },
    "webhook": {
      "url": "https://example.com/webhook",
      "event_types": ["monitor.event.detected"]
    },
    "metadata": { "external_id": "acme-monitor-001" }
  }'

Migration Checklist

Required changes

  • Update the base path from /v1alpha/monitors to /v1/monitors.
  • Add the type discriminant ("event_stream" or "snapshot") to every CreateMonitorRequest.
  • Move query, output_schema, and include_backfill from top-level into settings.
  • Move source_policy from top-level into settings.advanced_settings.source_policy.
  • Migrate Update calls from POST /{id} to POST /{id}/update.
  • Migrate Cancel calls from DELETE /{id} to POST /{id}/cancel.
  • Replace GET /{id}/event_groups/{event_group_id} with GET /{id}/events?event_group_id=....
  • Replace the lookback_period query parameter with cursor-based pagination (cursor, limit).
  • Update the status enum check from "canceled" to "cancelled" (double l).
  • Replace reads of result.content and source_urls with output.content and output.basis[].citations[].url.
  • Drop the deprecated top-level string output field on event records.

Optional enhancements

  • Set processor: "base" for harder queries that need higher recall and breadth.
  • Set settings.advanced_settings.location to scope retrieval to a single country.
  • Replace low-level client.post(...) calls with client.monitor.* SDK bindings.
  • Use event_id for idempotent client-side dedup across pagination and webhook retries.
  • Consume output.basis for per-field citations, reasoning, and confidence.
  • Issue POST /{id}/trigger for off-schedule one-off executions.
  • Pass include_completions=true to enumerate executions that produced no events (useful for audit traces).
  • Adopt type=snapshot for field-level diffing of structured Task Run outputs (see Snapshot Quickstart).

Additional Resources

Questions? Contact support@parallel.ai.