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 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.

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 EventName in 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). contentUrl is null; card JSON is in content.

  • Name
    webhookId
    Type
    string
    Description

    The WebhookId for this subscription (same value passed when subscribing).

  • Name
    webhookEventId
    Type
    string
    Description

    EventId from the persisted WebhookEvent row 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-level Summary field.

  • 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 Z is a serialization artifact and does not mean UTC.

  • Name
    EventDateTimeLastSeen
    Type
    string
    Description

    ISO 8601 timestamp in airport-local time. The trailing Z is 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": ""
}

GET/v2/webhooks

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.