naftiko: 1.0.0-alpha2 info: label: Airflow API — Event Log description: 'Airflow API — Event Log. 2 operations. Lead operation: Airflow Get Event Logs. Self-contained Naftiko capability covering one Airflow business surface.' tags: - Airflow - Event Log created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AIRFLOW_API_KEY: AIRFLOW_API_KEY capability: consumes: - type: http namespace: airflow-event-log baseUri: '' description: Airflow API — Event Log business capability. Self-contained, no shared references. resources: - name: api-v2-eventLogs path: /api/v2/eventLogs operations: - name: geteventlogs method: GET description: Airflow Get Event Logs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer - name: offset in: query type: integer - name: order_by in: query type: array description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported attributes: `id, dttm, dag_id, task_id, run_id, event,' - name: dag_id in: query type: string - name: task_id in: query type: string - name: run_id in: query type: string - name: map_index in: query type: string - name: try_number in: query type: string - name: owner in: query type: string - name: event in: query type: string - name: excluded_events in: query type: string - name: included_events in: query type: string - name: before in: query type: string - name: after in: query type: string - name: dag_id_pattern in: query type: string description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic (e.g. `dag1 | dag2`). Regular expressions are **not** ' - name: task_id_pattern in: query type: string description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic (e.g. `dag1 | dag2`). Regular expressions are **not** ' - name: run_id_pattern in: query type: string description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic (e.g. `dag1 | dag2`). Regular expressions are **not** ' - name: owner_pattern in: query type: string description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic (e.g. `dag1 | dag2`). Regular expressions are **not** ' - name: event_pattern in: query type: string description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic (e.g. `dag1 | dag2`). Regular expressions are **not** ' - name: api-v2-eventLogs-event_log_id path: /api/v2/eventLogs/{event_log_id} operations: - name: geteventlog method: GET description: Airflow Get Event Log outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_log_id in: path type: integer required: true authentication: type: bearer token: '{{env.AIRFLOW_API_KEY}}' exposes: - type: rest namespace: airflow-event-log-rest port: 8080 description: REST adapter for Airflow API — Event Log. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/eventlogs name: api-v2-eventlogs description: REST surface for api-v2-eventLogs. operations: - method: GET name: geteventlogs description: Airflow Get Event Logs call: airflow-event-log.geteventlogs with: limit: rest.limit offset: rest.offset order_by: rest.order_by dag_id: rest.dag_id task_id: rest.task_id run_id: rest.run_id map_index: rest.map_index try_number: rest.try_number owner: rest.owner event: rest.event excluded_events: rest.excluded_events included_events: rest.included_events before: rest.before after: rest.after dag_id_pattern: rest.dag_id_pattern task_id_pattern: rest.task_id_pattern run_id_pattern: rest.run_id_pattern owner_pattern: rest.owner_pattern event_pattern: rest.event_pattern outputParameters: - type: object mapping: $. - path: /v1/api/v2/eventlogs/{event-log-id} name: api-v2-eventlogs-event-log-id description: REST surface for api-v2-eventLogs-event_log_id. operations: - method: GET name: geteventlog description: Airflow Get Event Log call: airflow-event-log.geteventlog with: event_log_id: rest.event_log_id outputParameters: - type: object mapping: $. - type: mcp namespace: airflow-event-log-mcp port: 9090 transport: http description: MCP adapter for Airflow API — Event Log. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: airflow-get-event-logs description: Airflow Get Event Logs hints: readOnly: true destructive: false idempotent: true call: airflow-event-log.geteventlogs with: limit: tools.limit offset: tools.offset order_by: tools.order_by dag_id: tools.dag_id task_id: tools.task_id run_id: tools.run_id map_index: tools.map_index try_number: tools.try_number owner: tools.owner event: tools.event excluded_events: tools.excluded_events included_events: tools.included_events before: tools.before after: tools.after dag_id_pattern: tools.dag_id_pattern task_id_pattern: tools.task_id_pattern run_id_pattern: tools.run_id_pattern owner_pattern: tools.owner_pattern event_pattern: tools.event_pattern outputParameters: - type: object mapping: $. - name: airflow-get-event-log description: Airflow Get Event Log hints: readOnly: true destructive: false idempotent: true call: airflow-event-log.geteventlog with: event_log_id: tools.event_log_id outputParameters: - type: object mapping: $.