Apache Airflow · Capability
Airflow API — XCom
Airflow API — XCom. 5 operations. Lead operation: Airflow Get Xcom Entries. Self-contained Naftiko capability covering one Airflow business surface.
What You Can Do
GET
Getxcomentries
— Airflow Get Xcom Entries
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries
POST
Createxcomentry
— Airflow Create Xcom Entry
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries
GET
Getxcomentry
— Airflow Get Xcom Entry
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries/{xcom-key}
PATCH
Updatexcomentry
— Airflow Update Xcom Entry
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries/{xcom-key}
DELETE
Deletexcomentry
— Airflow Delete Xcom Entry
/v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries/{xcom-key}
MCP Tools
airflow-get-xcom-entries
Airflow Get Xcom Entries
read-only
idempotent
airflow-create-xcom-entry
Airflow Create Xcom Entry
airflow-get-xcom-entry
Airflow Get Xcom Entry
read-only
idempotent
airflow-update-xcom-entry
Airflow Update Xcom Entry
idempotent
airflow-delete-xcom-entry
Airflow Delete Xcom Entry
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Airflow API — XCom
description: 'Airflow API — XCom. 5 operations. Lead operation: Airflow Get Xcom Entries. Self-contained Naftiko capability
covering one Airflow business surface.'
tags:
- Airflow
- XCom
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
AIRFLOW_API_KEY: AIRFLOW_API_KEY
capability:
consumes:
- type: http
namespace: airflow-xcom
baseUri: ''
description: Airflow API — XCom business capability. Self-contained, no shared references.
resources:
- name: api-v2-dags-dag_id-dagRuns-dag_run_id-taskInstances-task_id-xcomEntries
path: /api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries
operations:
- name: getxcomentries
method: GET
description: Airflow Get Xcom Entries
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: dag_id
in: path
type: string
required: true
- name: dag_run_id
in: path
type: string
required: true
- name: task_id
in: path
type: string
required: true
- name: xcom_key
in: query
type: string
- name: map_index
in: query
type: string
- name: limit
in: query
type: integer
- name: offset
in: query
type: integer
- name: xcom_key_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: dag_display_name_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: 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: map_index_filter
in: query
type: string
- name: logical_date_gte
in: query
type: string
- name: logical_date_gt
in: query
type: string
- name: logical_date_lte
in: query
type: string
- name: logical_date_lt
in: query
type: string
- name: run_after_gte
in: query
type: string
- name: run_after_gt
in: query
type: string
- name: run_after_lte
in: query
type: string
- name: run_after_lt
in: query
type: string
- name: createxcomentry
method: POST
description: Airflow Create Xcom Entry
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: dag_id
in: path
type: string
required: true
- name: task_id
in: path
type: string
required: true
- name: dag_run_id
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: api-v2-dags-dag_id-dagRuns-dag_run_id-taskInstances-task_id-xcomEntries-xcom_key
path: /api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}
operations:
- name: getxcomentry
method: GET
description: Airflow Get Xcom Entry
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: dag_id
in: path
type: string
required: true
- name: task_id
in: path
type: string
required: true
- name: dag_run_id
in: path
type: string
required: true
- name: xcom_key
in: path
type: string
required: true
- name: map_index
in: query
type: integer
- name: deserialize
in: query
type: boolean
- name: stringify
in: query
type: boolean
- name: updatexcomentry
method: PATCH
description: Airflow Update Xcom Entry
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: dag_id
in: path
type: string
required: true
- name: task_id
in: path
type: string
required: true
- name: dag_run_id
in: path
type: string
required: true
- name: xcom_key
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletexcomentry
method: DELETE
description: Airflow Delete Xcom Entry
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: dag_id
in: path
type: string
required: true
- name: task_id
in: path
type: string
required: true
- name: dag_run_id
in: path
type: string
required: true
- name: xcom_key
in: path
type: string
required: true
- name: map_index
in: query
type: integer
authentication:
type: bearer
token: '{{env.AIRFLOW_API_KEY}}'
exposes:
- type: rest
namespace: airflow-xcom-rest
port: 8080
description: REST adapter for Airflow API — XCom. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries
name: api-v2-dags-dag-id-dagruns-dag-run-id-taskinstances-task-id-xcomentries
description: REST surface for api-v2-dags-dag_id-dagRuns-dag_run_id-taskInstances-task_id-xcomEntries.
operations:
- method: GET
name: getxcomentries
description: Airflow Get Xcom Entries
call: airflow-xcom.getxcomentries
with:
dag_id: rest.dag_id
dag_run_id: rest.dag_run_id
task_id: rest.task_id
xcom_key: rest.xcom_key
map_index: rest.map_index
limit: rest.limit
offset: rest.offset
xcom_key_pattern: rest.xcom_key_pattern
dag_display_name_pattern: rest.dag_display_name_pattern
run_id_pattern: rest.run_id_pattern
task_id_pattern: rest.task_id_pattern
map_index_filter: rest.map_index_filter
logical_date_gte: rest.logical_date_gte
logical_date_gt: rest.logical_date_gt
logical_date_lte: rest.logical_date_lte
logical_date_lt: rest.logical_date_lt
run_after_gte: rest.run_after_gte
run_after_gt: rest.run_after_gt
run_after_lte: rest.run_after_lte
run_after_lt: rest.run_after_lt
outputParameters:
- type: object
mapping: $.
- method: POST
name: createxcomentry
description: Airflow Create Xcom Entry
call: airflow-xcom.createxcomentry
with:
dag_id: rest.dag_id
task_id: rest.task_id
dag_run_id: rest.dag_run_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/dags/{dag-id}/dagruns/{dag-run-id}/taskinstances/{task-id}/xcomentries/{xcom-key}
name: api-v2-dags-dag-id-dagruns-dag-run-id-taskinstances-task-id-xcomentries-xcom-key
description: REST surface for api-v2-dags-dag_id-dagRuns-dag_run_id-taskInstances-task_id-xcomEntries-xcom_key.
operations:
- method: GET
name: getxcomentry
description: Airflow Get Xcom Entry
call: airflow-xcom.getxcomentry
with:
dag_id: rest.dag_id
task_id: rest.task_id
dag_run_id: rest.dag_run_id
xcom_key: rest.xcom_key
map_index: rest.map_index
deserialize: rest.deserialize
stringify: rest.stringify
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatexcomentry
description: Airflow Update Xcom Entry
call: airflow-xcom.updatexcomentry
with:
dag_id: rest.dag_id
task_id: rest.task_id
dag_run_id: rest.dag_run_id
xcom_key: rest.xcom_key
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletexcomentry
description: Airflow Delete Xcom Entry
call: airflow-xcom.deletexcomentry
with:
dag_id: rest.dag_id
task_id: rest.task_id
dag_run_id: rest.dag_run_id
xcom_key: rest.xcom_key
map_index: rest.map_index
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: airflow-xcom-mcp
port: 9090
transport: http
description: MCP adapter for Airflow API — XCom. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: airflow-get-xcom-entries
description: Airflow Get Xcom Entries
hints:
readOnly: true
destructive: false
idempotent: true
call: airflow-xcom.getxcomentries
with:
dag_id: tools.dag_id
dag_run_id: tools.dag_run_id
task_id: tools.task_id
xcom_key: tools.xcom_key
map_index: tools.map_index
limit: tools.limit
offset: tools.offset
xcom_key_pattern: tools.xcom_key_pattern
dag_display_name_pattern: tools.dag_display_name_pattern
run_id_pattern: tools.run_id_pattern
task_id_pattern: tools.task_id_pattern
map_index_filter: tools.map_index_filter
logical_date_gte: tools.logical_date_gte
logical_date_gt: tools.logical_date_gt
logical_date_lte: tools.logical_date_lte
logical_date_lt: tools.logical_date_lt
run_after_gte: tools.run_after_gte
run_after_gt: tools.run_after_gt
run_after_lte: tools.run_after_lte
run_after_lt: tools.run_after_lt
outputParameters:
- type: object
mapping: $.
- name: airflow-create-xcom-entry
description: Airflow Create Xcom Entry
hints:
readOnly: false
destructive: false
idempotent: false
call: airflow-xcom.createxcomentry
with:
dag_id: tools.dag_id
task_id: tools.task_id
dag_run_id: tools.dag_run_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: airflow-get-xcom-entry
description: Airflow Get Xcom Entry
hints:
readOnly: true
destructive: false
idempotent: true
call: airflow-xcom.getxcomentry
with:
dag_id: tools.dag_id
task_id: tools.task_id
dag_run_id: tools.dag_run_id
xcom_key: tools.xcom_key
map_index: tools.map_index
deserialize: tools.deserialize
stringify: tools.stringify
outputParameters:
- type: object
mapping: $.
- name: airflow-update-xcom-entry
description: Airflow Update Xcom Entry
hints:
readOnly: false
destructive: false
idempotent: true
call: airflow-xcom.updatexcomentry
with:
dag_id: tools.dag_id
task_id: tools.task_id
dag_run_id: tools.dag_run_id
xcom_key: tools.xcom_key
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: airflow-delete-xcom-entry
description: Airflow Delete Xcom Entry
hints:
readOnly: false
destructive: true
idempotent: true
call: airflow-xcom.deletexcomentry
with:
dag_id: tools.dag_id
task_id: tools.task_id
dag_run_id: tools.dag_run_id
xcom_key: tools.xcom_key
map_index: tools.map_index
outputParameters:
- type: object
mapping: $.