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:

  1. kind = "interpretation" Standard interpreted NOTAM delivery.

  2. kind = "lifecycle" Additional lifecycle delivery when a NOTAM previously delivered to this listener is later cancelled (NOTAMC) or replaced (NOTAMR).

Top-Level Fields

  • listener_id Listener ID that received the message.

  • kind Message type. Values:

    • interpretation

    • lifecycle

  • event_id Unique event identifier that can be used for deduplication.

  • notam The NOTAM payload. This follows the same Notam DTO structure used by other Notamify NOTAM endpoints.

  • change Present only for kind = "lifecycle". Describes which previously delivered NOTAM changed. Fields:

    • changed_notam_id: ID of the old NOTAM that was cancelled or replaced

    • notam_type: C or R

  • context Optional additive metadata for the resolved location.

  • sent_at UTC timestamp when Watcher sent the webhook.

notam Object

The notam object uses the normal Notamify Notam DTO shape. Common fields include:

  • id

  • notam_number

  • notam_type

  • location

  • icao_code

  • qcode

  • classification

  • starts_at

  • ends_at

  • issued_at

  • is_estimated

  • is_permanent

  • message

  • icao_message

  • interpretation

Notes:

  • For NOTAMR, notam is the replacement NOTAM.

  • For NOTAMC, notam is the cancellation NOTAM.

  • Lifecycle C/R does not contain interpretation.

context.location

context.location is optional metadata resolved from Notamify Data using the NOTAM icao_code when available, otherwise location.

Fields:

  • ident

  • icao

  • iata_code

  • name

  • iso_country

  • iso_country_name

  • elevation_ft

  • coordinates

  • fir_icaos

chevron-rightCoordinates Meaninghashtag

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):

Interpretation of this lifecycle message:

  • kind = "lifecycle" means this is not a normal interpretation delivery.

  • notam is the new replacement NOTAM (A0052/26).

  • change.changed_notam_id is 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

  • kind and event_id are 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 main notam object.

Example lifecycle message for a cancellation (NOTAMC):

Interpretation of this cancellation lifecycle message:

  • kind = "lifecycle" means this is not a normal interpretation delivery.

  • notam is the cancellation NOTAM itself.

  • change.changed_notam_id is the old NOTAM that was cancelled.

  • change.notam_type = "C" means cancellation.

Important Notes

  • kind and event_id are 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 main notam object.

Last updated