NOTAM Watcher API

The Notamify Watcher Service allows automatic retrieval of new interpretations in Notamify based on configurable filters. The service supports listener management via webhooks, enabling applications to subscribe to NOTAM updates by airport code, category, subcategory, or specific NOTAM identifiers.

The Watcher service charges credits based on the number of NOTAM deliveries sent to registered listeners:

  • 1 credit = 30 shipments

  • Each shipment increments a counter for the user.

  • When the counter reaches 30, the service deducts 1 credit and resets the counter.

  • If the user has no credits remaining, further shipments are blocked until credits are topped up.

List listeners

get

Returns all registered listeners for the authenticated account.

Authorizations
Responses
200

List of listeners

application/json
get
/listeners
GET /listeners HTTP/1.1
Host: watcher.notamify.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "listeners": [
    {
      "id": "text",
      "webhook_url": "https://example.com",
      "email": "name@gmail.com",
      "filters": {
        "notam_id": [
          "text"
        ],
        "notam_icao": [
          "text"
        ],
        "category": [
          "all"
        ],
        "subcategory": [
          "RUNWAY_OPERATIONS"
        ],
        "affected_element": {
          "effect": "CLOSED",
          "type": "AERODROME"
        }
      },
      "created_at": "2025-10-24T17:12:38.919Z",
      "updated_at": "2025-10-24T17:12:38.919Z"
    }
  ]
}

Create listener

post

Registers a webhook URL and filters. Filters use OR semantics within a field and AND semantics across fields. For example, category=['AERODROME','AIRSPACE'] means either category matches; combining with notam_icao=['EPWA'] requires both field conditions to match. Using category=['all'] matches any category.

Authorizations
Body
webhook_urlstring · uriOptional

Destination HTTPS/HTTP endpoint for notifications. Required when email is omitted.

emailstring · emailOptional

Optional email recipient for Postmark delivery. Required when webhook_url is omitted.

Responses
201

Listener created

application/json
post
/listeners
POST /listeners HTTP/1.1
Host: watcher.notamify.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 236

{
  "webhook_url": "https://example.com/notam-webhook",
  "filters": {
    "notam_icao": [
      "EPWA",
      "EGLL"
    ],
    "category": [
      "AERODROME"
    ],
    "subcategory": [
      "RUNWAY_OPERATIONS"
    ],
    "affected_element": {
      "effect": "CLOSED",
      "type": "RUNWAY"
    }
  },
  "email": "pilot@example.com"
}
{
  "id": "text",
  "webhook_url": "https://example.com",
  "email": "name@gmail.com",
  "filters": {
    "notam_id": [
      "text"
    ],
    "notam_icao": [
      "text"
    ],
    "category": [
      "all"
    ],
    "subcategory": [
      "RUNWAY_OPERATIONS"
    ],
    "affected_element": {
      "effect": "CLOSED",
      "type": "AERODROME"
    }
  },
  "created_at": "2025-10-24T17:12:38.919Z",
  "updated_at": "2025-10-24T17:12:38.919Z"
}

Update listener

put

Updates webhook URL and/or filters using the same semantics as creation.

Authorizations
Path parameters
idstringRequired

Listener ID

Body
webhook_urlstring · uriOptional

Destination HTTPS/HTTP endpoint for notifications. Required when email is omitted.

emailstring · emailOptional

Optional email recipient for Postmark delivery. Required when webhook_url is omitted.

Responses
200

Listener updated

application/json
put
/listeners/{id}
PUT /listeners/{id} HTTP/1.1
Host: watcher.notamify.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 229

{
  "webhook_url": "https://example.com",
  "email": "name@gmail.com",
  "filters": {
    "notam_id": [
      "text"
    ],
    "notam_icao": [
      "text"
    ],
    "category": [
      "all"
    ],
    "subcategory": [
      "RUNWAY_OPERATIONS"
    ],
    "affected_element": {
      "effect": "CLOSED",
      "type": "AERODROME"
    }
  }
}
{
  "id": "text",
  "webhook_url": "https://example.com",
  "email": "name@gmail.com",
  "filters": {
    "notam_id": [
      "text"
    ],
    "notam_icao": [
      "text"
    ],
    "category": [
      "all"
    ],
    "subcategory": [
      "RUNWAY_OPERATIONS"
    ],
    "affected_element": {
      "effect": "CLOSED",
      "type": "AERODROME"
    }
  },
  "created_at": "2025-10-24T17:12:38.919Z",
  "updated_at": "2025-10-24T17:12:38.919Z"
}

Delete listener

delete
Authorizations
Path parameters
idstringRequired

Listener ID

Responses
204

Deleted

No content

delete
/listeners/{id}
DELETE /listeners/{id} HTTP/1.1
Host: watcher.notamify.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Last updated