AeroDataBox Flight Alert API API
The Flight Alert API API from AeroDataBox — 6 operation(s) for flight alert api.
The Flight Alert API API from AeroDataBox — 6 operation(s) for flight alert api.
openapi: 3.0.4
info:
title: AeroDataBox API - Aviation and Flight Aircraft API Flight Alert API API
description: Affordable aviation & flight data API tailored for small and medium businesses, teams and individual developers.
termsOfService: https://aerodatabox.com/terms/
contact:
url: https://aerodatabox.com/contact/
version: 1.14.0.0
servers:
- url: https://prod.api.market/api/v1/aedbx/aerodatabox
security: {}
tags:
- name: Flight Alert API
paths:
/subscriptions/webhook/{subjectType}/{subjectId}:
parameters:
- description: API.market API Key
in: header
name: x-api-market-key
value: Please Login/Signup to get an API Key
required: true
schema:
type: string
post:
tags:
- Flight Alert API
summary: AeroDataBox Create Web-hook Subscription / TIER 4
description: "*This endpoitns is a part of Flight alert PUSH API currently powered by webhooks. \r\nIf you are running your own web service, you can subscribe to flights by number or airport code. \r\nAfter that, your HTTP endpoint will be called (notified) whenever the flight information gets \r\nupdated.*\r\n\r\nCreates a web-hook subscription on a subject (e.g., flight alerts by number or by airport code).\r\nReturns information about created subscription. Subscription ID contained in it\r\ncan be used to refresh or remove it.\r\n\r\nEvery time a subject gets updated, a HTTP request will be sent to\r\nthe URL specified in `url` parameter. Request will be of a POST type \r\nand contain JSON-formatted `FlightNotificationContract` object containing subscription\r\nand flights information in the body (see example response for status code 199\r\nof this endpoint documentation).\r\n\r\nAll flight alerts / notifications are delivered in best-effort manner. They might be missing\r\nor delayed. If there was an error delivering a notification for any reason, for example, your\r\nendpoint was not available, returned non-2xx status code, or did not respond within timeout period,\r\nthere will be 2 more retries after 5 and 15 minutes (**this behavior is changing, see below**).\r\n\r\nIf subscribed to a specific flight or to flights operated in a specific airport:\r\n* Ensure that the flight is within the live updates / ADS-B data coverage. There is no sense in subscribing to a flight which operates in airports having poor or no live updates or ADS-B coverage: there simply will be no updates. To check if an airport is tracked and on which level, use `/health/services/airports/{icao}/feeds` endpoint. You can also use `/health/services/feeds/{service}/airports` to get the list of covered airports. Read more about coverage here: https://www.aerodatabox.com/data-coverage.\r\n* Notifications will cover updates for flights commencing from 6 hours ago up to 72 hours in future.\r\n* Among these, notifications will contain only those flight items which were actually updated this time.\r\n\r\n** ! WARNING OF THE UPCOMING BREAKING CHANGES ! **\r\n\r\nWE ARE CHANGING HOW WEB-HOOK SUBSCRIPTION BILLING AND NOTIFICATION RETRY IS HANDLED. \r\n\r\nIf you're already using Flight Alert API you need to adjust your code to prevent service interruption.\r\n\r\n**CURRENT BEHAVIOR (BEING PHASED OUT):**\r\n\r\n* Web-hook subscriptions created using this endpoint have a life-time of 7 days. Expiration date-time is provided in the response to this endpoint. \r\n* After that expiration date the subscription will be removed automatically. If you want to prevent expiration and extend the subscription, use `PATCH /webhook/{subscriptionId}/refresh` endpoint to refresh the subscription. You may also remove the subscription manually using DELETE `webhook/{subscriptionId}`.\r\n* As long as a web-hook subscription is active, you will receive notifications if there are any.\r\n* You are billed for every call when you create or refresh a subscription as per Tier 4 API quota.\r\n* You are **not** billed for the amount of notifications generated or delivered to you.\r\n* You may **not** be refunded for unused time on your subscription if you remove it manually before expiration or if there were no notifications.\r\n* Each failed notification delivery attempt is retried 2 times by default, regardless of the reason of failure.\r\n\r\n**UPCOMING BEHAVIOR:**\r\n\r\n* Web-hook subscriptions no longer expire, unless you remove them manually.\r\n* This endpoint is moved to the Free Tier and both creating and refreshing subscriptions will be free of charge.\r\n* Every API consumer will now have a dedicated flight alert credit balance separate from the API quota. \r\n* Credits are deducted from your balance each time an alert notification is sent to your webhook. The cost is 1 credit per flight item in the notification. If a notification contains 1 flight, it costs 1 credit. If a notification contains 5 flights (common with airport subscriptions), it costs 5 credits.\r\n* Use caution when subscribing to an airport with a lot of traffic, as it may drain your balance quickly.\r\n* As soon as your balance reaches zero, all your web-hook subscriptions will pause and no notifications will be sent until you refill your balance.The balance is shared among all web-hook subscriptions created by you.\r\n* To refill the balance, refer to `POST /subscriptions/balance/refill` API endpoint.\r\n* To check the balance, refer to `GET /subscriptions/balance` endpoint.\r\n* `PATCH /webhook/{subscriptionId}/refresh` is now deprecated will be removed after the transition period. Pricing Tier 4 will be discontinued too.\r\n* Each failed notification delivery attempt is not retried by default, unless you explicitly set amount of retries when creating the subscription using `maxDeliveryRetries` parameter in the request body.\r\n* Each retry attempt costs the same amount of credits as the original notification delivery attempt.\r\n\r\n**WHEN THE CHANGE WILL HAPPEN?**\r\n\r\n* Transition period will end on **the 4th of April, 2026**. Both systems will co-exist during the transition period until then. After that date only the credit-based billing system will remain operational. \r\n\r\n**MIGRATION GUIDE / LEARN MORE**\r\n\r\nRead our guide at https://aerodatabox.com/flight-alert-api-2026/"
operationId: SubscribeWebhook
parameters:
- name: subjectType
in: path
description: Subject type
schema:
$ref: '#/components/schemas/SubscriptionSubjectType'
- name: subjectId
in: path
description: "Subject ID. If `subjectType` is: \r\n* `FlightByNumber`, then this field must be a flight number (with or without spaces, IATA or ICAO, any case formats are acceptable, e.g. KL1395, Klm 1395);\r\n* `FlightByAirportIcao`, then this field must be a 4-character ICAO-code of the airport where flights are operated (e.g.: EHAM, KLAX, UUEE, etc.);"
required: true
schema:
type: string
- name: useCredits
in: query
description: "THIS IS A TEMPORARY MIGRATION PARAMETER FOR EASIER TRANSITION. \r\nDefault value: false.\r\nSet to true to create a web-hook subscription under the new, credit-based billing model.In this case, the call will be free of charge despite Tier 4.\r\nAfter transition this parameter will be ignored as all subscriptions will be created as credit-based and you will be able to remove it."
schema:
type: boolean
default: false
requestBody:
description: Command containing parameters for web-hook subscription creation
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebHookSubscription'
responses:
'199':
description: Information
content:
application/json:
schema:
$ref: '#/components/schemas/FlightNotificationContract'
examples:
SubscribeWebhook199Example:
summary: Default SubscribeWebhook 199 response
x-microcks-default: true
value:
flights:
- example_value
subscription: example_value
balance: example_value
application/xml:
schema:
$ref: '#/components/schemas/FlightNotificationContract'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionContract'
examples:
SubscribeWebhook200Example:
summary: Default SubscribeWebhook 200 response
x-microcks-default: true
value:
id: abc123
isActive: true
billingType: example_value
activateBeforeUtc: '2025-03-15T14:30:00Z'
expiresOnUtc: '2025-03-15T14:30:00Z'
createdOnUtc: '2025-03-15T14:30:00Z'
subject: example_value
subscriber: example_value
notices:
- example_value
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionContract'
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
SubscribeWebhook400Example:
summary: Default SubscribeWebhook 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
SubscribeWebhook401Example:
summary: Default SubscribeWebhook 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'451':
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
SubscribeWebhook451Example:
summary: Default SubscribeWebhook 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
SubscribeWebhook500Example:
summary: Default SubscribeWebhook 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'503':
description: Service Unavailable
x-badges:
- name: TIER 4
position: before
color: '#8a8eb2'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/webhook/{subscriptionId}:
parameters:
- description: API.market API Key
in: header
name: x-api-market-key
value: Please Login/Signup to get an API Key
required: true
schema:
type: string
get:
tags:
- Flight Alert API
summary: AeroDataBox Get Web-hook Subscription / FREE TIER
description: "*This endpoint is a part of Flight alert PUSH API currently powered by webhooks. \r\nIf you are running your own web service, you can subscribe to flights by number or airport code. \r\nAfter that, your HTTP endpoint will be called (notified) whenever the flight information gets \r\nupdated.*\r\n\r\nGets information about an existing active web-hook subscription."
operationId: GetWebhook
parameters:
- name: subscriptionId
in: path
description: Subscription ID
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionContract'
examples:
GetWebhook200Example:
summary: Default GetWebhook 200 response
x-microcks-default: true
value:
id: abc123
isActive: true
billingType: example_value
activateBeforeUtc: '2025-03-15T14:30:00Z'
expiresOnUtc: '2025-03-15T14:30:00Z'
createdOnUtc: '2025-03-15T14:30:00Z'
subject: example_value
subscriber: example_value
notices:
- example_value
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionContract'
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetWebhook400Example:
summary: Default GetWebhook 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetWebhook401Example:
summary: Default GetWebhook 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'451':
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetWebhook451Example:
summary: Default GetWebhook 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetWebhook500Example:
summary: Default GetWebhook 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'503':
description: Service Unavailable
x-badges:
- name: FREE TIER
position: before
color: '#ccc'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
tags:
- Flight Alert API
summary: AeroDataBox Remove Web-hook Subscription / FREE TIER
description: "*This endpoitns is a part of Flight alert PUSH API currently powered by webhooks. \r\nIf you are running your own web service, you can subscribe to flights by number or airport code. \r\nAfter that, your HTTP endpoint will be called (notified) whenever the flight information gets \r\nupdated.*\r\n\r\nRemoves the subscription"
operationId: UnsubscribeWebhook
parameters:
- name: subscriptionId
in: path
description: Subscription ID
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
UnsubscribeWebhook400Example:
summary: Default UnsubscribeWebhook 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
UnsubscribeWebhook401Example:
summary: Default UnsubscribeWebhook 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'451':
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
UnsubscribeWebhook451Example:
summary: Default UnsubscribeWebhook 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
UnsubscribeWebhook500Example:
summary: Default UnsubscribeWebhook 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'503':
description: Service Unavailable
x-badges:
- name: FREE TIER
position: before
color: '#ccc'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/webhook:
parameters:
- description: API.market API Key
in: header
name: x-api-market-key
value: Please Login/Signup to get an API Key
required: true
schema:
type: string
get:
tags:
- Flight Alert API
summary: AeroDataBox List Web-hook Subscriptions / FREE TIER
description: "*This endpoitns is a part of Flight alert PUSH API currently powered by webhooks. \r\nIf you are running your own web service, you can subscribe to flights by number or airport code. \r\nAfter that, your HTTP endpoint will be called (notified) whenever the flight information gets \r\nupdated.*\r\n\r\nGet the list of existing active web-hook subscriptions"
operationId: GetWebhookList
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SubscriptionContract'
examples:
GetWebhookList200Example:
summary: Default GetWebhookList 200 response
x-microcks-default: true
value:
- example_value
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/SubscriptionContract'
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetWebhookList400Example:
summary: Default GetWebhookList 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetWebhookList401Example:
summary: Default GetWebhookList 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'451':
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetWebhookList451Example:
summary: Default GetWebhookList 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetWebhookList500Example:
summary: Default GetWebhookList 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'503':
description: Service Unavailable
x-badges:
- name: FREE TIER
position: before
color: '#ccc'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/webhook/{subscriptionId}/refresh:
parameters:
- description: API.market API Key
in: header
name: x-api-market-key
value: Please Login/Signup to get an API Key
required: true
schema:
type: string
patch:
tags:
- Flight Alert API
summary: AeroDataBox Refresh Web-hook Subscription (DEPRECATED) / TIER 4
description: " *This endpoitns is a part of Flight alert PUSH API currently powered by webhooks. \r\n If you are running your own web service, you can subscribe to flights by number or airport code. \r\n After that, your HTTP endpoint will be called (notified) whenever the flight information gets \r\n updated.*\r\n \r\n Refreshes an existing web-hook subscription\r\n \r\n If the subscription had an expiration date-time set when created, this endpoint \r\n will extend it by the same period of time as the one it was originally created with. \r\n E.g., if subscription was originally created for 7 days, this endpoint will\r\n add extra 7 days to the expiration date-time. Note, that web-hook subscriptions\r\n cannot be extended beyond the sliding window of 60 days from the current date-time. \r\n \r\n If the subscription had no expiration date-time set, nothing occurs.\r\n \r\n **! WARNING OF THE UPCOMING BREAKING CHANGES !**\r\n \r\n DUE TO TRANSITIONING TO A NEW CREDIT-BASED BILLING MODEL FOR WEB-HOOK SUBSCRIPTIONS, \r\n\tTHIS ENDPOINT WILL BE DEPRECATED AND REMOVED LATER ON.\r\n\r\n **MIGRATION GUIDE / LEARN MORE**\r\n \r\n Read our guide at https://aerodatabox.com/flight-alert-api-2026/"
operationId: RefreshWebhook
parameters:
- name: subscriptionId
in: path
description: Subscription ID
required: true
schema:
type: string
format: uuid
- name: useCredits
in: query
description: "THIS IS A TEMPORARY MIGRATION PARAMETER FOR EASIER TRANSITION. \r\nDefault value: false.\r\nSet to true to refresh an existing web-hook subscription under the new, credit-based billing model. In this case, the call will be free of charge despite Tier 4."
schema:
type: boolean
default: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionContract'
examples:
RefreshWebhook200Example:
summary: Default RefreshWebhook 200 response
x-microcks-default: true
value:
id: abc123
isActive: true
billingType: example_value
activateBeforeUtc: '2025-03-15T14:30:00Z'
expiresOnUtc: '2025-03-15T14:30:00Z'
createdOnUtc: '2025-03-15T14:30:00Z'
subject: example_value
subscriber: example_value
notices:
- example_value
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionContract'
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
RefreshWebhook400Example:
summary: Default RefreshWebhook 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
RefreshWebhook401Example:
summary: Default RefreshWebhook 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'451':
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
RefreshWebhook451Example:
summary: Default RefreshWebhook 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
RefreshWebhook500Example:
summary: Default RefreshWebhook 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'503':
description: Service Unavailable
deprecated: true
x-badges:
- name: TIER 4
position: before
color: '#8a8eb2'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/balance:
parameters:
- description: API.market API Key
in: header
name: x-api-market-key
value: Please Login/Signup to get an API Key
required: true
schema:
type: string
get:
tags:
- Flight Alert API
summary: AeroDataBox Get Web-hook Subscription Balance / FREE TIER
description: "The current web-hook subscription balance information.\r\nThis is separate from your API marketplace quota and is used solely for billing of web-hook subscriptions.\r\nFor more details about how flight alert API billing works, refer to our guide at https://aerodatabox.com/flight-alert-api-2026/"
operationId: GetBalance
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionBalanceContract'
examples:
GetBalance200Example:
summary: Default GetBalance 200 response
x-microcks-default: true
value:
creditsRemaining: 100
lastRefilledUtc: '2025-03-15T14:30:00Z'
lastDeductedUtc: '2025-03-15T14:30:00Z'
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionBalanceContract'
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetBalance400Example:
summary: Default GetBalance 400 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetBalance401Example:
summary: Default GetBalance 401 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'451':
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetBalance451Example:
summary: Default GetBalance 451 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContract'
examples:
GetBalance500Example:
summary: Default GetBalance 500 response
x-microcks-default: true
value:
message: example_value
application/xml:
schema:
$ref: '#/components/schemas/ErrorContract'
'503':
description: Service Unavailable
x-badges:
- name: FREE TIER
position: before
color: '#ccc'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/subscriptions/balance/refill:
parameters:
- description: API.market API Key
in: header
name: x-api-market-key
value: Please Login/Signup to get an API Key
required: true
schema:
type: string
post:
tags:
- Flight Alert API
summary: AeroDataBox Refill Web-hook Subscription Balance
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aerodatabox/refs/heads/main/openapi/aerodatabox-flight-alert-api-api-openapi.yml