RSS Triggers
Create and update RSS/Atom feed triggers via the API.
Endpoints under /api/v1/rss-triggers require a workspace bearer API key.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/rss-triggers | List triggers (cursor, limit 1–100, default 25) |
| POST | /api/v1/rss-triggers | Create or upsert a trigger |
| GET | /api/v1/rss-triggers/{id} | Get one trigger |
| PATCH | /api/v1/rss-triggers/{id} | Update interval, enabled, or destination |
There is no DELETE handler.
Create
| Field | Notes |
|---|---|
feedUrl | Required; must start with http:// or https:// |
workflowId | Required when destination includes workflow |
executionTargetId | Optional immutable destination ID; must belong to this workflow and workspace |
destination | workflow (default), command, or both |
intervalSeconds | 60–86400; default 900 |
enabled | Optional; default true |
201 returns { rssTrigger }. Invalid URL or destination is 400. Missing workflow for a
workflow destination is 400. Unknown workflow is 404. A workflow in another workspace is
403.
Upsert key: same workspace, feedUrl, workflowId, and executionTargetId.
Omitting the destination ID retains the legacy Production route. Named destinations must be
published and on before polling; setting the source's enabled flag does not approve or publish it.
Update
PATCH body: intervalSeconds, enabled, destination. Changing destination to include
workflow re-checks the stored workflowId. Unknown id is 404.
Serialized fields include etag, lastModified, nextPollAt, lastPolledAt, lastError,
principalEnabled, executionTargetId, targetEnabled, and ISO timestamps.
Polling is not an HTTP endpoint. The scheduler worker runs pollDueRssTriggers on each tick.
See RSS Triggers and
Mailer and trigger recovery.
