Skip to main content
These endpoints manage event-driven triggers (cloud object notifications, webhooks, file watchers) that start pipeline runs when external conditions are met. Authenticate with a Bearer API key. Base URL: https://api.planasonix.com
If your workspace uses a versioned base path (for example /v1), prepend it before /api. See API reference.

List triggers

Returns all triggers configured in the workspace. GET /api/triggers

Request parameters

string
Filter triggers for a single pipeline.
string
Filter by trigger type: s3, gcs, azure, webhook, file_watcher, or deployment-specific values.
integer
default:"50"
Page size.
string
Pagination cursor from a previous response.

Example response


Create trigger

Creates a trigger. The request body shape depends on triggerType (S3, GCS, Azure Blob, generic webhook, or file watcher). Below is a representative S3 configuration; other types use analogous connection and path or subscription fields. POST /api/triggers

Request body (common)

string
required
Human-readable name.
string
required
One of s3, gcs, azure, webhook, file_watcher.
string
required
Pipeline to run when the trigger fires.
boolean
default:"true"
Whether the trigger accepts events when created.

Request body (S3 example)

string
required
AWS connection ID with permission to read the bucket and manage notifications where applicable.
string
required
S3 bucket name.
string
Object key prefix filter (optional).
string
Object key suffix filter (for example .parquet).

Example response


Get trigger

Returns one trigger including configuration metadata (secrets are never returned). GET /api/triggers/{id}

Request parameters

string
required
Trigger ID.

Example response


Update trigger

Updates trigger metadata or configuration. Immutable fields (such as provider identifiers on some trigger types) may return 409 Conflict if changed. PUT /api/triggers/{id}

Request parameters

string
required
Trigger ID.

Request body

Fields are optional; send only what you want to change (name, enabled, type-specific config, and so on).

Example response


Delete trigger

Removes the trigger and tears down provider-side subscriptions when the platform manages them. DELETE /api/triggers/{id}

Request parameters

string
required
Trigger ID.

Example response


Enable trigger

POST /api/triggers/{id}/enable

Request parameters

string
required
Trigger ID.

Example response


Disable trigger

POST /api/triggers/{id}/disable

Request parameters

string
required
Trigger ID.

Example response


Test trigger

Validates configuration and optionally performs a dry-run handshake with the provider. Does not enqueue a full pipeline run unless the API explicitly returns a run ID for the test. POST /api/triggers/{id}/test

Request parameters

string
required
Trigger ID.

Example response


List trigger executions

Returns recent executions initiated by this trigger (pagination supported). GET /api/triggers/{id}/executions

Request parameters

string
required
Trigger ID.
string
Filter by run status: queued, running, succeeded, failed, canceled.
integer
default:"25"
Page size.
string
Pagination cursor.

Example response


Webhook ingress (S3)

Provider-facing URL that receives Amazon S3 event notifications (for example SNS → HTTPS or Lambda-forwarded payloads, depending on your setup). Typically not called with your API key; the cloud provider signs or routes events per your subscription. POST /api/webhooks/s3

Request parameters

Headers and body follow AWS notification formats (SNS envelope or S3 event JSON). Planasonix validates the subscription and maps events to matching triggers.

Example response


Webhook ingress (GCS)

Receives Google Cloud Storage object change notifications (Pub/Sub push or compatible JSON). POST /api/webhooks/gcs

Example response


Webhook ingress (Azure)

Receives Azure Event Grid events for Blob Storage (and related) subscriptions. POST /api/webhooks/azure

Example response


Webhook ingress (custom trigger)

Generic HTTPS endpoint for a webhook trigger type. The path includes the trigger identifier so events route to the correct pipeline configuration. POST /api/webhooks/trigger/{triggerId}

Request parameters

string
required
Trigger ID (trg_...).

Request body

Arbitrary JSON or raw body as configured on the trigger; optional HMAC or header-based verification may apply.

Example response