{
  "openapi": "3.0.1",
  "info": {
    "title": "EASA Airworthiness Directive Delta",
    "description": "Watches the official EASA Safety Publications portal (AD, EAD, PAD, SIB) and reports only what changed for your fleet since the last run: a newly published directive, or a revision of one you already track. Charges only per delivered event. For airlines, MRO, CAMO, lessors and insurers.",
    "version": "0.1",
    "x-build-id": "zv3b8GofDyVQg2ovc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/titan_coder~easa-airworthiness-directive-delta/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-titan_coder-easa-airworthiness-directive-delta",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/titan_coder~easa-airworthiness-directive-delta/runs": {
      "post": {
        "operationId": "runs-sync-titan_coder-easa-airworthiness-directive-delta",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/titan_coder~easa-airworthiness-directive-delta/run-sync": {
      "post": {
        "operationId": "run-sync-titan_coder-easa-airworthiness-directive-delta",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "monitorId",
          "watches"
        ],
        "properties": {
          "monitorId": {
            "title": "Monitor ID",
            "pattern": "^[a-z0-9-]{1,40}$",
            "type": "string",
            "description": "Name of this monitor's durable history (a-z, 0-9, dash; up to 40 chars). Reuse the same value on every scheduled run so the actor remembers which EASA publications it has already reported to you."
          },
          "watches": {
            "title": "Fleet watch list",
            "minItems": 1,
            "maxItems": 30,
            "type": "array",
            "description": "1-30 watch-list entries. Each item is {\"watchId\": \"a320-fleet\", \"targetType\": ..., \"targetValue\": ..., \"adClasses\": [...]}. Target types: \"approval_holder\" — case-insensitive substring of the 'Approval Holder / Type Designation' column, which holds both the manufacturer (AIRBUS S.A.S., TEXTRON AVIATION INC.) and the type designations (A320, BD-500, CL-600), so one entry can watch a whole manufacturer or a single type; \"ad_number\" — one publication number and all of its revisions (2026-0144 also matches 2026-0144R1); \"ata_chapter\" — exact ATA chapter number (57, 92); \"subject_keyword\" — case-insensitive substring of the Subject column. Optional \"adClasses\" narrows the entry to given classes (AD, EAD, PAD, SIB, ADR, SD). One watchId is permanently bound to the target it was first used with.",
            "items": {
              "type": "object",
              "required": [
                "watchId",
                "targetType",
                "targetValue"
              ],
              "properties": {
                "watchId": {
                  "title": "Watch ID",
                  "type": "string",
                  "description": "Your own stable label for this watch: lowercase letters, digits and hyphens, up to 60 characters. Permanently bound to the target it is first used with.",
                  "pattern": "^[a-z0-9-]{1,60}$"
                },
                "targetType": {
                  "title": "Target type",
                  "type": "string",
                  "description": "What kind of fleet filter this watch applies.",
                  "enum": [
                    "approval_holder",
                    "ad_number",
                    "ata_chapter",
                    "subject_keyword"
                  ]
                },
                "targetValue": {
                  "title": "Target value",
                  "type": "string",
                  "description": "The value to match: manufacturer/type substring for approval_holder, a publication number (and its revisions) for ad_number, an ATA chapter number for ata_chapter, or a subject substring for subject_keyword. Substring targets (approval_holder, subject_keyword) must be at least 3 characters."
                },
                "adClasses": {
                  "title": "AD classes (optional)",
                  "type": "array",
                  "description": "Optional list narrowing the watch to given AD class codes (e.g. AD, EAD, PAD, SIB, ADR, SD).",
                  "items": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9-]{1,16}$"
                  }
                }
              }
            },
            "default": [
              {
                "watchId": "a320-fleet",
                "targetValue": "A320",
                "targetType": "approval_holder"
              }
            ]
          },
          "lookbackDays": {
            "title": "Look-back window (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "How far back the run looks at the EASA publication list, 1-365 days. 30 is the sensible default: EASA publishes roughly 35-50 items a month in total, so a 30-day window comfortably covers a daily or weekly schedule. A wider window costs nothing extra but must stay under the portal's 4000-record export limit.",
            "default": 30
          },
          "notifyOn": {
            "title": "Send webhook",
            "enum": [
              "new_alerts",
              "always",
              "never"
            ],
            "type": "string",
            "description": "new_alerts — post the webhook only when paid directive events were delivered; always — post it every run; never — do not call webhookUrl at all.",
            "default": "new_alerts"
          },
          "webhookUrl": {
            "title": "Webhook URL (HTTPS)",
            "type": "string",
            "description": "Optional. Receives a digest of delivered (paid) directive events as JSON. HTTPS only."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}