Trigger events API
Read redacted project trigger history and current delivery outcomes without provider payloads or credentials.
Read redacted project trigger history and current delivery outcomes without provider payloads or credentials.
TriggerEventsClient
Project-scoped, metadata-only trigger arrival and delivery history.
list
Lists redacted project-scoped trigger arrivals newest first with aggregate and per-target delivery outcomes.
This resource never inherits the client's default userId; user-pinned keys are rejected by the executor.
list(options?: ListTriggerEventsOptions): Promise<TriggerEventPage>| Parameter | Type | Required | Description |
|---|---|---|---|
options | ListTriggerEventsOptions | No | Opaque cursor, page size, and exact subscription or canonical-trigger filters. |
Returns: Promise<TriggerEventPage>
Throws
- EyeballError when options are invalid, the key is user-pinned, or the executor request fails.
Example
import { Eyeball } from "@eyeball/sdk";
const eyeball = new Eyeball({
apiKey: process.env.EYEBALL_API_KEY!,
baseUrl: process.env.EYEBALL_EXECUTOR_URL!,
});
let page = await eyeball.triggerEvents.list({
trigger: "slack.message_received",
limit: 50,
});
for (;;) {
for (const event of page.triggerEvents) {
console.log(event.deliveryStatus);
for (const target of event.deliveryTargets) {
console.log(target.endpointId, target.status);
}
}
if (page.nextCursor === undefined) break;
page = await eyeball.triggerEvents.list({
trigger: "slack.message_received",
limit: 50,
cursor: page.nextCursor,
});
}createTriggerEventArrivalId
Creates a metadata-history trgevt_* arrival ID; a seed makes tests deterministic.
createTriggerEventArrivalId(seed?: string | undefined): `trgevt_${string}`| Parameter | Type | Required | Description |
|---|---|---|---|
seed | string | undefined | No | — |
Returns: trgevt_${string}
isTriggerEventArrivalId
isTriggerEventArrivalId(value: string): boolean| Parameter | Type | Required | Description |
|---|---|---|---|
value | string | Yes | — |
Returns: boolean
Types
ListTriggerEventsOptions
Project-scoped filters and cursor controls for redacted trigger-event history.
This resource never inherits the client's default userId.
export interface ListTriggerEventsOptions {
cursor?: string;
limit?: number;
subscriptionId?: TriggerSubscriptionId;
trigger?: QualifiedTriggerName;
}| Property | Type | Required | Readonly | Description |
|---|---|---|---|---|
cursor | string | No | No | — |
limit | number | No | No | — |
subscriptionId | | No | No | — |
trigger | | No | No | — |
TriggerEventArrivalId
export type TriggerEventArrivalId = `trgevt_${string}`;TriggerEventDedupStatus
export type TriggerEventDedupStatus = "accepted" | "duplicate";TriggerEventDeliveryMode
export type TriggerEventDeliveryMode = "push" | "polling";TriggerEventDeliveryStatus
export type TriggerEventDeliveryStatus =
| "not_enqueued"
| "admission_failed"
| "selecting"
| "no_targets"
| "pending"
| "delivering"
| "succeeded"
| "failed"
| "partial";TriggerEventDeliveryTarget
export interface TriggerEventDeliveryTarget {
endpointId: string;
deliveryId: string;
status: WebhookDeliveryStatus;
}| Property | Type | Required | Readonly | Description |
|---|---|---|---|---|
deliveryId | string | Yes | No | — |
endpointId | string | Yes | No | — |
status | WebhookDeliveryStatus | Yes | No | — |
TriggerEventRecord
Metadata-only, project-authorized history for one normalized provider arrival.
export interface TriggerEventRecord {
arrivalId: TriggerEventArrivalId;
eventId: string;
subscriptionId: TriggerSubscriptionId;
trigger: QualifiedTriggerName;
deliveryMode: TriggerEventDeliveryMode;
receivedAt: string;
occurredAt: string;
dedupStatus: TriggerEventDedupStatus;
deliveryStatus: TriggerEventDeliveryStatus;
requestedWebhookEndpointIds: readonly string[];
deliveryTargets: readonly TriggerEventDeliveryTarget[];
expiresAt: string;
}| Property | Type | Required | Readonly | Description |
|---|---|---|---|---|
arrivalId | | Yes | No | — |
dedupStatus | TriggerEventDedupStatus | Yes | No | — |
deliveryMode | TriggerEventDeliveryMode | Yes | No | — |
deliveryStatus | TriggerEventDeliveryStatus | Yes | No | — |
deliveryTargets | readonly TriggerEventDeliveryTarget[] | Yes | No | — |
eventId | string | Yes | No | — |
expiresAt | string | Yes | No | — |
occurredAt | string | Yes | No | — |
receivedAt | string | Yes | No | — |
requestedWebhookEndpointIds | readonly string[] | Yes | No | — |
subscriptionId | | Yes | No | — |
trigger | | Yes | No | — |
TriggerEventPage
export interface TriggerEventPage {
triggerEvents: readonly TriggerEventRecord[];
nextCursor?: string;
}| Property | Type | Required | Readonly | Description |
|---|---|---|---|---|
nextCursor | string | No | No | — |
triggerEvents | readonly TriggerEventRecord[] | Yes | No | — |