Watcher API Webhook messages
Notamify NOTAM Watcher API sends JSON POST message to provided webhook_url . The NOTAM objct follows the same Notam DTO structure as in NOTAMs Active endpointand other notam endpoints, plus additional watcher metadata.
Messages are signed with webhook secret, read more: Webhook Security.
Message Types
Watcher can send two production webhook message types:
kind = "interpretation"Standard interpreted NOTAM delivery.kind = "lifecycle"Additional lifecycle delivery when a NOTAM previously delivered to this listener is later cancelled (NOTAMC) or replaced (NOTAMR).
Top-Level Fields
listener_idListener ID that received the message.kindMessage type. Values:interpretationlifecycle
event_idUnique event identifier that can be used for deduplication.notamThe NOTAM payload. This follows the same Notam DTO structure used by other Notamify NOTAM endpoints.changePresent only forkind = "lifecycle". Describes which previously delivered NOTAM changed. Fields:changed_notam_id: ID of the old NOTAM that was cancelled or replacednotam_type:CorR
contextOptional additive metadata for the resolved location.sent_atUTC timestamp when Watcher sent the webhook.
notam Object
notam ObjectThe notam object uses the normal Notamify Notam DTO shape. Common fields include:
idnotam_numbernotam_typelocationicao_codeqcodeclassificationstarts_atends_atissued_atis_estimatedis_permanentmessageicao_messageinterpretation
Notes:
For
NOTAMR,notamis the replacement NOTAM.For
NOTAMC,notamis the cancellation NOTAM.Lifecycle
C/Rdoes not containinterpretation.
context.location
context.locationcontext.location is optional metadata resolved from Notamify Data using the NOTAM icao_code when available, otherwise location.
Fields:
identicaoiata_codenameiso_countryiso_country_nameelevation_ftcoordinatesfir_icaos
Coordinates Meaning
context.location.coordinates are reference coordinates for the resolved location record.
For an airport location, they represent the airport reference point or airport center.
For an FIR location, they represent the geographic center of the FIR.
These coordinates are contextual only. They are not the NOTAM geometry.
If you need the actual NOTAM geometry, use:
notam.interpretation.map_elements
That is where obstacle points, polygons, lines, and altitude limits are represented.
Interpretation Message Example
Example production interpretation message:
Lifecycle Message Example
Example lifecycle message for a replacement (NOTAMR):
lifecycle message for a replacement (NOTAMR):Interpretation of this lifecycle message:
kind = "lifecycle"means this is not a normal interpretation delivery.notamis the new replacement NOTAM (A0052/26).change.changed_notam_idis the old NOTAM that was replaced.change.notam_type = "R"means replacement.
For cancellation messages, the structure is the same, but change.notam_type and notam.notam_type are C.
Important Notes
kindandevent_idare included in production interpretation and lifecycle webhook deliveries.Lifecycle messages are sent only when
lifecycle_enabled = true.Lifecycle routing is based on prior successful production webhook delivery of the original NOTAM.
Lifecycle webhook deliveries do not increment shipment credits.
filters.notam_type = ["R"]means the delivered NOTAM itself is a replacement NOTAM. It does not mean the old replaced NOTAM is sent as the mainnotamobject.
Example lifecycle message for a cancellation (NOTAMC):
lifecycle message for a cancellation (NOTAMC):Interpretation of this cancellation lifecycle message:
kind = "lifecycle"means this is not a normal interpretation delivery.notamis the cancellation NOTAM itself.change.changed_notam_idis the old NOTAM that was cancelled.change.notam_type = "C"means cancellation.
Important Notes
kindandevent_idare included in production interpretation and lifecycle webhook deliveries.Lifecycle messages are sent only when
lifecycle_enabled = true.Lifecycle routing is based on prior successful production webhook delivery of the original NOTAM.
Lifecycle webhook deliveries do not increment shipment credits.
filters.notam_type = ["R"]means the delivered NOTAM itself is a replacement NOTAM. It does not mean the old replaced NOTAM is sent as the mainnotamobject.
Last updated