Events
Events are the operational signals Synaptic publishes as they happen — aircraft movement, ground equipment sightings, jet bridge status, and more. You consume them by subscribing to webhooks. This page covers the event model and, if you are signed in, the live catalog available to your account.
Events are delivered as outbound POSTs to a URL you register. Listing events here does not subscribe you. Use Webhooks to add a delivery URL.
Events you can subscribe to
Signed-in users see every webhook event available to their account. These are the same events you can subscribe to from Webhooks.
The event model
Each delivery is a single JSON object. Event details live in payload (the EventPayload from the event producer). Use Summary for the event name; type is always "message". An optional Adaptive Card (Microsoft Teams format 1.5) is included in attachments for clients that render cards.
Timestamp fields such as EventDateTimeFirstSeen and EventDateTimeLastSeen are airport-local wall-clock times. They are stored without a timezone or offset. JSON serialization appends a Z suffix (for example "2026-05-21T10:00:00Z"), which looks like UTC but is not. Treat the clock time as local to the event's Station. Do not convert from UTC — that will shift the time by the airport's offset.
Outbound event body
{
"payload": {
"EventName": "AIRCRAFT.ARRIVED",
"AirlineCode": "AA",
"Gate": "B12",
"Station": "DFW",
"ArrivalFlight#": "AA1234",
"DepartureFlight#": "AA5678",
"TailNumber": "N12345",
"EventDateTimeFirstSeen": "2026-05-21T10:00:00Z",
"EventDateTimeLastSeen": "2026-05-21T10:15:00Z",
"MediaUrl": "https://example.com/video.mp4"
},
"Summary": "AIRCRAFT.ARRIVED",
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"contentUrl": null,
"content": { }
}
],
"webhookId": "a056V7R7NmNRjl70-123-456",
"webhookEventId": "550e8400-e29b-41d4-a716-446655440000",
"eventNotificationId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
}
Top-level fields
- Name
payload- Type
- object
- Description
The EventPayload as produced by the event pipeline. Additional keys may be present and are passed through unchanged.
- Name
Summary- Type
- string
- Description
Human-readable event name (matches
EventNamein the payload).
- Name
type- Type
- string
- Description
Always
"message"for outbound webhook deliveries.
- Name
attachments- Type
- array
- Description
Typically one Adaptive Card (
contentType:application/vnd.microsoft.card.adaptive).contentUrlis null; card JSON is incontent.
- Name
webhookId- Type
- string
- Description
The
WebhookIdfor this subscription (same value passed when subscribing).
- Name
webhookEventId- Type
- string
- Description
EventIdfrom the persistedWebhookEventrow for this firing.
- Name
eventNotificationId- Type
- string
- Description
UUID for this subscriber delivery. Created before the outbound POST and reused when the notification is stored.
EventPayload fields
These fields drive subscription filtering and the adaptive card. Synaptic may include other keys in payload; only the fields below are interpreted for access control and card rendering.
- Name
EventName- Type
- string
- Description
Event identifier (e.g.
AIRCRAFT.ARRIVED). Matches the top-levelSummaryfield.
- Name
AirlineCode- Type
- string
- Description
Matched against the subscriber's airline access. Shown on the card when present.
- Name
Gate- Type
- string
- Description
Matched against the subscriber's gate access. Shown on the card.
- Name
Station- Type
- string
- Description
Matched against the subscriber's location access. Shown on the card as "Station".
- Name
ArrivalFlight#- Type
- string
- Description
Shown on the card as "Arr Flt#". The property name includes
#.
- Name
DepartureFlight#- Type
- string
- Description
Shown on the card as "Dep Flt#".
- Name
TailNumber- Type
- string
- Description
Shown on the card.
- Name
EventDateTimeFirstSeen- Type
- string
- Description
ISO 8601 timestamp in airport-local time. The trailing
Zis a serialization artifact and does not mean UTC.
- Name
EventDateTimeLastSeen- Type
- string
- Description
ISO 8601 timestamp in airport-local time. The trailing
Zis a serialization artifact and does not mean UTC.
- Name
MediaUrl- Type
- string
- Description
When non-empty, the adaptive card includes a "View Media" action pointing to this URL.
Timestamp labels on the adaptive card:
- POBT events: "Scheduled Departure" / "POBT"
- Baggage events: "First Bag Seen" / "Last Bag Seen"
- All other events: "Time First Seen" / "Time Last Seen"
Event types
The names below are the common EventName values. Your live catalog may include additional events depending on station coverage and account access. Payload EventName values are typically uppercase with a dot separator (for example AIRCRAFT.ARRIVED).
- Name
aircraft.arrived- Type
- Description
Aircraft arrival seen.
- Name
aircraft.stationary- Type
- Description
Aircraft is stationary.
- Name
aircraft.departed- Type
- Description
Aircraft departure seen.
- Name
beltloaded.seen- Type
- Description
Belt loader last seen.
- Name
fuelhouse.seen- Type
- Description
Fuel house last seen.
- Name
cateringtruck.seen- Type
- Description
Catering truck last seen.
- Name
gpu.seen- Type
- Description
Ground Power Unit last seen.
- Name
pca.seen- Type
- Description
PCA last seen.
- Name
chocks.seen- Type
- Description
Chocks last seen.
- Name
jetbridge.connected- Type
- Description
Jet bridge was connected.
Example EventPayload
{
"EventName": "AIRCRAFT.ARRIVED",
"AirlineCode": "NK",
"Station": "FLL",
"Gate": "G13",
"TailNumber": "NK34443",
"ArrivalFlight#": "NK321",
"EventDateTimeFirstSeen": "2026-05-21T10:00:00Z",
"EventDateTimeLastSeen": "2026-05-21T10:15:00Z",
"MediaUrl": ""
}
Listing available events
Returns the webhook events your authenticated user can subscribe to. This is the same catalog rendered above when you are signed in. Provide optional offset and limit to page the results.
Request
GET /v2/webhooks?offset=0&limit=10
HTTP/1.1
Host: api.synapticaviation.io
Authorization: Bearer YOUR_JWT_TOKEN
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"data": [
{
"EventTypeId": "AIRCRAFT",
"WebhookId": "a056V7R7NmNRjl70-123-456",
"WebhookName": "Aircraft Arriving",
"WebhookUrlInfo": "Aircraft Arriving Webhook"
}
]
}
Use WebhookId when subscribing. After an event fires, look up the persisted record with Get webhook event by ID and the delivery with Get notification by ID.
