List Active Alerts

Read the alerts belonging to the authenticated user.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
🚧

Commercial Users

The List Active Alerts API cannot be used with commercial partner keys. It requires a personal Pro API key or a user's OAuth access token.

GET /partnerapi/alerts returns all non-expired alerts for the user identified by the API credential.

Authentication

Use either a personal Pro API key or an OAuth access token from Login with Seats.aero. Both require an active Pro subscription and use the Partner-Authorization header:

curl --request GET \
  --url https://seats.aero/partnerapi/alerts \
  --header 'Partner-Authorization: pro_YOUR_API_KEY'

For OAuth, use the existing openid scope and include Bearer in the same header:

curl --request GET \
  --url https://seats.aero/partnerapi/alerts \
  --header 'Partner-Authorization: Bearer seats:ota:YOUR_ACCESS_TOKEN'

Commercial partner keys do not identify a user and receive HTTP 403. A browser login alone does not authenticate this endpoint. The API credential determines the account even when a different browser session is present. Legacy award alerts without a user ID are included when their delivery email matches the authenticated account; alerts explicitly owned by another account are excluded.

Each request uses one call from the user's shared daily API quota, including requests made through OAuth apps. Standard Partner API rate-limit headers apply.

Response

The response is an object containing a lowercase data array. Alert fields use native Go capitalization, such as ID, CreatedAt, and OriginAirport, matching the Partner API availability and trip objects. It returns all matching alerts without pagination, ordered by CreatedAt descending, then ID and Type ascending. An account with no active alerts receives {"data":[]}.

TypeAlert
awardAward availability, one item per route and mileage program
united_upgradeUnited upgrade availability
cathayCathay calendar availability
seatSeat map availability
fareFare class availability

Active means the stored alert has not expired. Paused award alerts are included with Paused: true; they remain configured but do not currently send notifications. Expiration is maintained by the existing alert workers, so this read does not remove past-date alerts awaiting worker processing. Continuous award alerts remain visible until expired.

Each item includes its ID, type, creation time, airports, notification channel, date bounds, AnyDate, and Paused. Type-specific filters appear when set; unset optional fields are omitted. DateFrom and DateTo are inclusive departure dates in YYYY-MM-DD format. Both are empty strings when AnyDate is true. For a single date they are equal.

Award items sharing a GroupID were created together. Cabins uses economy, premium, business, or first; Delta Comfort+ seat alerts use comfort_plus. MinCabinPct is the required share of journey distance in the selected cabin; 100 allows no mixed cabin segments. MaxFees is in USD cents. Time filters use local hours and minutes with the keys startHour, startMinute, endHour, and endMinute.

Delivery email addresses, phone numbers, account records, and internal match history are excluded.

Errors

Errors use plain-text bodies, not JSON objects. Inspect the HTTP status and body together.

StatusBodyMeaning
401missing_partner_keyNo Partner API credential was supplied.
401bad_partner_keyThe API key is invalid or does not allow this route.
401bad_partner_tokenThe OAuth token is invalid, expired, or revoked, or its app is disabled.
401invalid_scopeThe OAuth token does not have the supported openid scope.
401user_subscription_expiredThe user no longer has an active Pro subscription.
403user_api_credentials_requiredAn authenticated partner key does not identify a user.
429user_rate_limit_exceededThe user's shared daily API quota has been exceeded.
500error_loading_alertsAn alert query failed; no partial list is returned.

The 403 and 500 bodies end with a newline.

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/plain