# Events API



<EndpointIndex
  names={[
  	'fetchEvent',
  	'fetchEventsForARequest',
  	'fetchMultipleEvents',
  	'fetchScheduledPolicyEvents',
  	'fetchScheduledTenantEvents',
  	'scheduleTenantEvents',
  	'resumeFailedScheduledEvent',
  	'fetchFailedScheduledPolicyEvents',
  	'fetchFailedScheduledTenantEvents',
  	'fetchFailedScheduledEventsByFailedJobState',
  	'fetchFailedScheduledEvents',
  	'deleteFailedScheduledEvent',
  ]}
  titles={{
  	fetchEvent: 'Fetch an Event',
  	fetchEventsForARequest: 'Fetch Events for an API Request',
  	fetchMultipleEvents: 'Fetch Multiple Events',
  	fetchScheduledPolicyEvents: 'Fetch Scheduled Policy Events',
  	fetchScheduledTenantEvents: 'Fetch Scheduled Tenant Events',
  	scheduleTenantEvents: 'Schedule Custom Tenant Events',
  	resumeFailedScheduledEvent: 'Resume Failed Scheduled Event',
  	fetchFailedScheduledPolicyEvents: 'Fetch Failed Scheduled Policy Events',
  	fetchFailedScheduledTenantEvents: 'Fetch Failed Scheduled Tenant Events',
  	fetchFailedScheduledEventsByFailedJobState:
  		'Fetch Failed Scheduled Events By Failed Job State',
  	fetchFailedScheduledEvents: 'Fetch Failed Scheduled Events',
  	deleteFailedScheduledEvent: 'Delete Failed Scheduled Event',
  }}
/>

Fetch [#fetch]

Fetch an Event [#fetch-an-event]

<ApiEndpoint name="fetchEvent" title="Fetch an Event" />

Fetch Events for an API Request [#fetch-events-for-an-api-request]

<ApiEndpoint name="fetchEventsForARequest" title="Fetch Events for an API Request" />

Fetch Multiple Events [#fetch-multiple-events]

<ApiEndpoint name="fetchMultipleEvents" title="Fetch Multiple Events" />

<ApiSchema name="EventStreamResponse" />

<ApiSchema name="EventResponse" />

Fetch Scheduled Policy Events [#fetch-scheduled-policy-events]

<ApiEndpoint name="fetchScheduledPolicyEvents" title="Fetch Scheduled Policy Events" />

<ApiSchema name="ScheduledPolicyEvent" />

Fetch Scheduled Tenant Events [#fetch-scheduled-tenant-events]

<ApiEndpoint name="fetchScheduledTenantEvents" title="Fetch Scheduled Tenant Events" />

<ApiSchema name="ScheduledTenantEvent" />

Schedule Custom Tenant Events [#schedule-custom-tenant-events]

<ApiEndpoint name="scheduleTenantEvents" title="Schedule Custom Tenant Events" />

<ApiSchema name="ScheduleTenantEventsRequest" />

<ApiSchema name="ScheduleTenantEventRequest" />

Resume Failed Scheduled Event [#resume-failed-scheduled-event]

<ApiEndpoint name="resumeFailedScheduledEvent" title="Resume Failed Scheduled Event" />

Fetch Failed Scheduled Policy Events [#fetch-failed-scheduled-policy-events]

<ApiEndpoint name="fetchFailedScheduledPolicyEvents" title="Fetch Failed Scheduled Policy Events" />

Fetch Failed Scheduled Tenant Events [#fetch-failed-scheduled-tenant-events]

<ApiEndpoint name="fetchFailedScheduledTenantEvents" title="Fetch Failed Scheduled Tenant Events" />

Fetch Failed Scheduled Events By Failed Job State [#fetch-failed-scheduled-events-by-failed-job-state]

<ApiEndpoint name="fetchFailedScheduledEventsByFailedJobState" title="Fetch Failed Scheduled Events By Failed Job State" />

Fetch Failed Scheduled Events [#fetch-failed-scheduled-events]

<ApiEndpoint name="fetchFailedScheduledEvents" title="Fetch Failed Scheduled Events" />

Delete Failed Scheduled Event [#delete-failed-scheduled-event]

<ApiEndpoint name="deleteFailedScheduledEvent" title="Delete Failed Scheduled Event" />

<ApiSchema name="FailedJobRequest" />

<ApiSchema name="FailedJobDetails" />

<Callout>
  Custom events generated from plugin code will be added to the event stream even if the operation associated with that plugin call has failed.
</Callout>

<Callout>
  For events generated from API calls, The `timestamp` and ordering of events in the event stream are dependent on  the *completion time* of the call. It is possible for events from an API call made before another to come after those events from the subsequent API call, if the first call takes longer than the second call to complete.
</Callout>

See Also [#see-also]

* [Events Configuration Guide](/configuration/general-topics/events)
* [Event Definitions](/configuration/general-topics/event-definitions)


## API Reference

GET /event/{tenantLocator}/events/{locator} — fetchEvent
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 EventResponse — OK

GET /event/{tenantLocator}/events/request/{locator} — fetchEventsForARequest
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 EventResponse[] — OK

GET /event/{tenantLocator}/events/list — fetchMultipleEvents
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  startTimestamp (datetime, query)
  endTimestamp (datetime, query)
  type (string, query)
  pageSize (integer, query)
  pagingToken (string, query)
Responses:
  200 EventStreamResponse — OK

GET /event/{tenantLocator}/events/schedules/policy/{policyLocator} — fetchScheduledPolicyEvents
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  policyLocator (ulid, path, required)
Responses:
  200 ScheduledPolicyEvent[] — OK

GET /event/{tenantLocator}/events/schedules/tenant — fetchScheduledTenantEvents
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
Responses:
  200 ScheduledTenantEvent[] — OK

POST /config/{tenantLocator}/tenantEvents — scheduleTenantEvents
Permissions: tenant-events
Parameters:
  tenantLocator (uuid, path, required)
Request body (ScheduleTenantEventsRequest):
Responses:
  200 — OK

POST /event/{tenantLocator}/events/schedules/failed/resume — resumeFailedScheduledEvent
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (FailedJobRequest):
Responses:
  204 — No Content

GET /event/{tenantLocator}/events/schedules/policy/{policyLocator}/failed/list — fetchFailedScheduledPolicyEvents
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  policyLocator (ulid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 FailedJobDetails[] — OK

GET /event/{tenantLocator}/events/schedules/tenant/failed/list — fetchFailedScheduledTenantEvents
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 FailedJobDetails[] — OK

GET /event/{tenantLocator}/events/schedules/failed/{failedJobState}/list — fetchFailedScheduledEventsByFailedJobState
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  failedJobState (Enum queued | quit, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 FailedJobDetails[] — OK

GET /event/{tenantLocator}/events/schedules/failed/list — fetchFailedScheduledEvents
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 FailedJobDetails[] — OK

DELETE /event/{tenantLocator}/events/schedules/failed — deleteFailedScheduledEvent
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (FailedJobRequest):
Responses:
  204 — No Content

EventStreamResponse
Properties:
  pagingToken (string, required)
  events (EventResponse[], required)

EventResponse
Properties:
  locator (ulid, required)
  requestId (ulid, required) — Identifier of the transaction request that triggered the event
  userLocator (uuid, required)
  timestamp (datetime, required)
  type (string, required)
  data (map<string, object>, required)

ScheduledPolicyEvent
Properties:
  policyLocator (ulid, required)
  transactionLocator (ulid, required)
  customEventId (string, required)
  nextEventTime (datetime)
  triggerState (Enum NONE | NORMAL | PAUSED | COMPLETE | ERROR | BLOCKED, required)

ScheduledTenantEvent
Properties:
  scheduledEventId (string, required)
  customEventId (string, required)
  nextEventTime (datetime)
  triggerState (Enum NONE | NORMAL | PAUSED | COMPLETE | ERROR | BLOCKED, required)

ScheduleTenantEventsRequest
Properties:
  requests (ScheduleTenantEventRequest[], required)

ScheduleTenantEventRequest
Properties:
  scheduleId (string, required)
  eventTypeId (string, required)
  eventTime (datetime, required)
  data (map<string, object>, required)

FailedJobRequest
Properties:
  triggerGroup (string, required)
  triggerName (string, required)

FailedJobDetails
Properties:
  failedJobState (Enum queued | quit, required)
  triggerGroup (string, required)
  triggerName (string, required)
  createdAt (datetime, required)
  updatedAt (datetime, required)
  failureCount (integer, required)
  stackTrace (string, required)