Skip to main content

Integration

Integrating Flight Protection is a two-part exercise: sell the subscription, then register the flights you want covered. Selling works exactly like any other Sitata product; registration is the Flight-Protection-specific step.

1. Sell the Subscription

List the products assigned to your organization

GET /api/v2/products/

This returns the products available to you, including any flight-protect-net-* tiers. You can skip this step if you already know which universal_id you want to sell.

Quote

POST /api/v2/products/with_quotes

Provide the product_ids you wish to price along with the traveller/trip parameters. This returns the products with associated pricing. (You may also request a single quote with POST /api/v2/products/quote.) Quoting is identical to Embedded Insurance โ€” refer to that guide for the full request/response shape.

Purchase (capture)

POST /api/v2/products/quote/:quote_id/capture

Send the quote id and the finalized request_params (purchaser and beneficiary details) to record the sale. On success, a Subscription โ€” the annual Flight Protection policy โ€” is created and returned. Store the subscription id; you will attach trips to it next.

info

The subscription is the customer's annual policy. Each covered trip you register against it draws down one trip from the product's annual allowance.

2. Register Flights For Coverage

Flights are not attached directly to the subscription. Instead you register a Trip that contains the flight air segments, and flag the trip for Flight Protection. Sitata then binds coverage for those flights and begins monitoring them.

Create (or update) a trip and set register_for_flight_protect to true:

POST /api/v2/trips
{
"trip": {
"external_id": "YOUR-BOOKING-REF-123",
"register_for_flight_protect": true,
"start": "2026-08-08",
"finish": "2026-08-15",
"air_segments": [
{
"iata_code": "AC",
"flight_number": "42",
"origin": "YYZ",
"destination": "LHR",
"departure_datetime_utc": "2026-08-08T22:30:00Z",
"arrival_datetime_utc": "2026-08-09T10:05:00Z"
},
{
"iata_code": "AC",
"flight_number": "43",
"origin": "LHR",
"destination": "YYZ",
"departure_datetime_utc": "2026-08-15T12:00:00Z",
"arrival_datetime_utc": "2026-08-15T15:10:00Z"
}
]
}
}

Each air segment identifies a specific flight by carrier (iata_code), flight_number, origin/destination (IATA airport codes) and scheduled times. Sitata creates a tracking record for each segment and watches it for disruptions.

When registration succeeds:

  • The trip is stamped with the Flight Protection subscription and a registration timestamp.
  • A certificate is issued and a flight_protect.trip_registered event (1000) is delivered to your webhook.
  • If the subscription's annual trip allowance is already exhausted, registration is declined and a flight_protect.trip_limit_reached event (1001) is emitted instead.
tip

Stamp each trip with your own external_id. Every Flight Protection webhook echoes the identifiers you need to reconcile events against your own records without storing Sitata's ids.

warning

To protect against post-disruption registration, coverage only applies to disruptions that occur after a short grace period following registration. Register flights well ahead of departure. Trips can also be frozen from edits close to departure โ€” plan to have itineraries finalized before that window.

Look Up A Flight's Status (optional)

If you want to display or reconcile a flight's tracked status yourself:

POST /api/v2/org/:company_id/flights/registry
{ "carrier": "AC", "flight_number": "42", "year": 2026, "month": 8, "day": 8 }

This returns the flight Sitata is already tracking (a 404 if it is not tracked). To query the underlying flight-data provider for a schedule, use POST /api/v2/org/:company_id/flights/scheduled.

3. Manage The Subscription

Standard subscription management applies:

  • POST /api/v2/subscriptions/:id/close โ€” cancel the policy (a refund is processed if within the refund window).
  • POST /api/v2/subscriptions/:id/modify and POST /api/v2/subscriptions/:id/add_coupon โ€” adjust an existing policy.

Coverage, Thresholds & Payouts

Which disruptions are covered (cancellation, diversion, missed connection, baggage, lounge), the qualifying thresholds (for example a minimum delay duration or a cancellation cut-off relative to departure), the fixed payout amount per event, and any per-trip or annual payout caps are all defined by your product's configuration. These vary by product and partner agreement โ€” contact us for the terms attached to your Flight Protection products.

Continue to Notifications & Webhooks to receive the lifecycle events, or jump to Claims to see how payouts reach your customers.