Lists recent source events for an unsaved trigger draft.
Returns the last N items the source mailbox or workspace would have matched, annotated with whether the draft filter would have fired on each. This backs the create-flow panel before a trigger row exists. It is read-only — no upstream writes, no trigger persistence, no agent enqueue. The capability is per-`(integration, eventType)`; pairs without a registered `IRecentEventSource` return 400. See `docs/design/agent-network.md §13`.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The tenant identifier
uuidDraft content filter to dry-run against each returned sample. When
supplied, the response's per-sample WouldFire reports whether
the live trigger would have fired on that payload at dispatch time.
Null filter means "fire always" — every WouldFire is true.
How many recent items to fetch (capped server-side).
int32Optional per-source narrowing hints. Gmail / Outlook ignore this. Slack
reads scope["channel_id"] to target one channel; when omitted the
Slack source aggregates the bot's accessible channels.
Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/triggers:testRecentEvents" \ -H "Content-Type: application/json" \ -d '{ "integrationId": "string", "integrationConfigId": "928c9032-93b2-49a3-82db-be1a31402d0e", "eventType": "string" }'{
"samples": [
{
"upstreamId": "string",
"occurredAtMs": 0,
"label": "string",
"payload": {
"source": "UNSPECIFIED",
"eventType": "string",
"body": {}
},
"wouldFire": false
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Lists every audit revision for the trigger, newest first.
Backs the trigger-history view. Each revision carries a full snapshot of the trigger row and its bindings at the moment of a mutation, plus the `ChangeReason` that distinguishes a schedule edit from a binding reconcile. Empty for triggers that haven't been mutated since the audit log landed.
Lists what a draft work shape's source returns right now, admitting nothing.
Runs the door's list tool once against the named account and returns the first page, annotated per record with the identity admission would de-duplicate on, the value that would move the watermark, what a person would be asked about it, and whether the ledger already holds it. Also returns the exact arguments the tool was called with — for a Gmail door that is the operator's query with the day-granular `after:` term folded in, which is the single most surprising thing about a source. Unbounded by default: a caught-up automation returns nothing under its own watermark, and reading that as a broken query is the confusion this exists to end. Pass `applyWatermark` to see what the next scheduled pass would list instead. Read-only. Nothing is admitted, no cursor moves, and a ledger that does not exist yet is not created. Rate-limited because it drives a live list tool on a button press. See `docs/design/item-ledger.md §8.2`.