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
uuidOperator-defined content predicate on an Fruxon.Model.Triggers.TriggerKind.IntegrationEvent
trigger. The structural match (integration / config / event type) decides
whether an inbound event reaches a trigger at all; the filter decides
whether a matched event actually fires the bound agents. A null filter —
or one with no conditions — fires always, so every pre-existing trigger is
unaffected. Evaluated by Fruxon.Model.Triggers.TriggerEventFilterEvaluator against
the inbound payload.* envelope, once per trigger, before the binding
fan-out (see Fruxon.Model.Triggers.IntegrationEventDispatcher). Stored as JSONB on
the trigger and snapshotted into Fruxon.Model.Triggers.TriggerRevision.
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.
Fetches a single delivery-attempt row.
Used by the Mappings tab's "Use as filter sample" affordance to seed the dry-run preview with a real (rejected) payload. Returns 404 when the attempt id is unknown or does not belong to the trigger.