spec/v1.yaml (5,593 lines of code) (raw):
components:
callbacks: {}
examples: {}
headers: {}
links: {}
parameters:
After:
description: Timestamp to select event logs occurring after.
in: query
name: after
required: false
schema:
format: date-time
type: string
Before:
description: Timestamp to select event logs occurring before.
in: query
name: before
required: false
schema:
format: date-time
type: string
ConnectionID:
description: The connection ID.
in: path
name: connection_id
required: true
schema:
type: string
ContinuationToken:
description: 'A token that allows you to continue fetching logs.
If passed, it will specify the location from which the download should be
continued.
'
in: query
name: token
required: false
schema:
type: string
DAGID:
description: The DAG ID.
in: path
name: dag_id
required: true
schema:
type: string
DAGRunID:
description: The DAG run ID.
in: path
name: dag_run_id
required: true
schema:
type: string
DatasetURI:
description: The encoded Dataset URI
in: path
name: uri
required: true
schema:
format: path
type: string
Event:
description: The name of event log.
in: query
name: event
required: false
schema:
type: string
EventLogID:
description: The event log ID.
in: path
name: event_log_id
required: true
schema:
type: integer
FileToken:
description: 'The key containing the encrypted path to the file. Encryption
and decryption take place only on
the server. This prevents the client from reading an non-DAG file. This also
ensures API
extensibility, because the format of encrypted data may change.
'
in: path
name: file_token
required: true
schema:
type: string
FilterDAGID:
description: Returns objects matched by the DAG ID.
in: query
name: dag_id
required: false
schema:
type: string
FilterDatasetID:
description: The Dataset ID that updated the dataset.
in: query
name: dataset_id
schema:
type: integer
FilterDurationGTE:
description: 'Returns objects greater than or equal to the specified values.
This can be combined with duration_lte parameter to receive only the selected
period.
'
in: query
name: duration_gte
required: false
schema:
type: number
FilterDurationLTE:
description: 'Returns objects less than or equal to the specified values.
This can be combined with duration_gte parameter to receive only the selected
range.
'
in: query
name: duration_lte
required: false
schema:
type: number
FilterEndDateGTE:
description: 'Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected
period.
'
in: query
name: end_date_gte
required: false
schema:
format: date-time
type: string
FilterEndDateLTE:
description: 'Returns objects less than or equal to the specified date.
This can be combined with start_date_gte parameter to receive only the selected
period.
'
in: query
name: end_date_lte
required: false
schema:
format: date-time
type: string
FilterExecutionDateGTE:
description: 'Returns objects greater or equal to the specified date.
This can be combined with execution_date_lte parameter to receive only the
selected period.
'
in: query
name: execution_date_gte
required: false
schema:
format: date-time
type: string
FilterExecutionDateLTE:
description: 'Returns objects less than or equal to the specified date.
This can be combined with execution_date_gte parameter to receive only the
selected period.
'
in: query
name: execution_date_lte
required: false
schema:
format: date-time
type: string
FilterExecutor:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
in: query
name: executor
schema:
items:
type: string
type: array
FilterMapIndex:
description: Filter on map index for mapped task.
in: query
name: map_index
schema:
type: integer
FilterPool:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
in: query
name: pool
required: false
schema:
items:
type: string
type: array
FilterQueue:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
in: query
name: queue
schema:
items:
type: string
type: array
FilterRunID:
description: Returns objects matched by the Run ID.
in: query
name: run_id
required: false
schema:
type: string
FilterSourceDAGID:
description: The DAG ID that updated the dataset.
in: query
name: source_dag_id
schema:
type: string
FilterSourceMapIndex:
description: The map index that updated the dataset.
in: query
name: source_map_index
schema:
type: integer
FilterSourceRunID:
description: The DAG run ID that updated the dataset.
in: query
name: source_run_id
schema:
type: string
FilterSourceTaskID:
description: The task ID that updated the dataset.
in: query
name: source_task_id
schema:
type: string
FilterStartDateGTE:
description: 'Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected
period.
'
in: query
name: start_date_gte
required: false
schema:
format: date-time
type: string
FilterStartDateLTE:
description: 'Returns objects less or equal the specified date.
This can be combined with start_date_gte parameter to receive only the selected
period.
'
in: query
name: start_date_lte
required: false
schema:
format: date-time
type: string
FilterState:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
in: query
name: state
required: false
schema:
items:
type: string
type: array
FilterTags:
description: 'List of tags to filter results.
*New in version 2.2.0*
'
in: query
name: tags
schema:
items:
type: string
type: array
FilterTaskID:
description: Returns objects matched by the Task ID.
in: query
name: task_id
required: false
schema:
type: string
FilterTryNumber:
description: Filter on try_number for task instance.
in: query
name: try_number
schema:
type: integer
FilterUpdatedAtGTE:
description: 'Returns objects greater or equal the specified date.
This can be combined with updated_at_lte parameter to receive only the selected
period.
*New in version 2.6.0*
'
in: query
name: updated_at_gte
required: false
schema:
format: date-time
type: string
FilterUpdatedAtLTE:
description: 'Returns objects less or equal the specified date.
This can be combined with updated_at_gte parameter to receive only the selected
period.
*New in version 2.6.0*
'
in: query
name: updated_at_lte
required: false
schema:
format: date-time
type: string
FilterXcomKey:
description: Only filter the XCom records which have the provided key.
in: query
name: xcom_key
required: false
schema:
type: string
FullContent:
description: 'A full content will be returned.
By default, only the first fragment will be returned.
'
in: query
name: full_content
required: false
schema:
type: boolean
ImportErrorID:
description: The import error ID.
in: path
name: import_error_id
required: true
schema:
type: integer
MapIndex:
description: The map index.
in: path
name: map_index
required: true
schema:
type: integer
OnlyActive:
description: 'Only filter active DAGs.
*New in version 2.1.1*
'
in: query
name: only_active
required: false
schema:
default: true
type: boolean
OrderBy:
description: 'The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
*New in version 2.1.0*
'
in: query
name: order_by
required: false
schema:
type: string
Owner:
description: The owner's name of event log.
in: query
name: owner
required: false
schema:
type: string
PageLimit:
description: The numbers of items to return.
in: query
name: limit
required: false
schema:
default: 100
type: integer
PageOffset:
description: The number of items to skip before starting to collect the result
set.
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
Paused:
description: 'Only filter paused/unpaused DAGs. If absent or null, it returns
paused and unpaused DAGs.
*New in version 2.6.0*
'
in: query
name: paused
required: false
schema:
type: boolean
PoolName:
description: The pool name.
in: path
name: pool_name
required: true
schema:
type: string
ReturnFields:
description: 'List of field for return.
'
in: query
name: fields
schema:
items:
type: string
type: array
RoleName:
description: The role name
in: path
name: role_name
required: true
schema:
type: string
TaskID:
description: The task ID.
in: path
name: task_id
required: true
schema:
type: string
TaskTryNumber:
description: The task try number.
in: path
name: task_try_number
required: true
schema:
type: integer
UpdateMask:
description: 'The fields to update on the resource. If absent or empty, all
modifiable fields are updated.
A comma-separated list of fully qualified names of fields.
'
explode: false
in: query
name: update_mask
schema:
items:
type: string
type: array
style: form
Username:
description: 'The username of the user.
*New in version 2.1.0*
'
in: path
name: username
required: true
schema:
type: string
VariableKey:
description: The variable Key.
in: path
name: variable_key
required: true
schema:
format: path
type: string
XComKey:
description: The XCom key.
in: path
name: xcom_key
required: true
schema:
type: string
requestBodies: {}
responses:
AlreadyExists:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: An existing resource conflicts with the request.
BadRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
MethodNotAllowed:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request method is known by the server but is not supported by the
target resource.
NotAcceptable:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified Accept header is not allowed.
NotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
PermissionDenied:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
Unauthenticated:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
Unknown:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unknown server error.
schemas:
Action:
description: 'An action Item.
*New in version 2.1.0*
'
properties:
name:
description: The name of the permission "action"
nullable: false
type: string
type: object
ActionCollection:
allOf:
- properties:
actions:
items:
$ref: '#/components/schemas/Action'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'A collection of actions.
*New in version 2.1.0*
'
type: object
ActionResource:
description: 'The Action-Resource item.
*New in version 2.1.0*
'
properties:
action:
$ref: '#/components/schemas/Action'
description: The permission action
type: object
resource:
$ref: '#/components/schemas/Resource'
description: The permission resource
type: object
type: object
BasicDAGRun:
properties:
dag_id:
readOnly: true
type: string
data_interval_end:
format: date-time
nullable: true
readOnly: true
type: string
data_interval_start:
format: date-time
nullable: true
readOnly: true
type: string
end_date:
format: date-time
nullable: true
readOnly: true
type: string
logical_date:
description: 'The logical date (previously called execution date). This
is the time or interval covered by
this DAG run, according to the DAG definition.
The value of this field can be set only when creating the object. If you
try to modify the
field of an existing object, the request fails with an BAD_REQUEST error.
This together with DAG_ID are a unique key.
*New in version 2.2.0*
'
format: date-time
type: string
run_id:
description: 'Run ID.
'
type: string
start_date:
description: 'The start time. The time when DAG run was actually created.
*Changed in version 2.1.3*: Field becomes nullable.
'
format: date-time
nullable: true
readOnly: true
type: string
state:
$ref: '#/components/schemas/DagState'
type: object
ClassReference:
description: Class reference
properties:
class_name:
readOnly: true
type: string
module_path:
readOnly: true
type: string
type: object
ClearDagRun:
properties:
dry_run:
default: true
description: 'If set, don''t actually run this operation. The response will
contain a list of task instances
planned to be cleaned, but not modified in any way.
'
type: boolean
type: object
ClearTaskInstances:
properties:
dag_run_id:
description: The DagRun ID for this task instance
nullable: true
type: string
dry_run:
default: true
description: 'If set, don''t actually run this operation. The response will
contain a list of task instances
planned to be cleaned, but not modified in any way.
'
type: boolean
end_date:
description: The maximum execution date to clear.
format: datetime
type: string
include_downstream:
default: false
description: If set to true, downstream tasks are also affected.
type: boolean
include_future:
default: false
description: If set to True, also tasks from future DAG Runs are affected.
type: boolean
include_parentdag:
description: Clear tasks in the parent dag of the subdag.
type: boolean
include_past:
default: false
description: If set to True, also tasks from past DAG Runs are affected.
type: boolean
include_subdags:
description: Clear tasks in subdags and clear external tasks indicated by
ExternalTaskMarker.
type: boolean
include_upstream:
default: false
description: If set to true, upstream tasks are also affected.
type: boolean
only_failed:
default: true
description: Only clear failed tasks.
type: boolean
only_running:
default: false
description: Only clear running tasks.
type: boolean
reset_dag_runs:
description: Set state of DAG runs to RUNNING.
type: boolean
start_date:
description: The minimum execution date to clear.
format: datetime
type: string
task_ids:
description: 'A list of task ids to clear.
*New in version 2.1.0*
'
items:
type: string
minItems: 1
type: array
type: object
CollectionInfo:
description: Metadata about collection.
properties:
total_entries:
description: 'Count of total objects in the current result set before pagination
parameters
(limit, offset) are applied.
'
type: integer
type: object
Color:
description: Color in hexadecimal notation.
pattern: ^#[a-fA-F0-9]{3,6}$
type: string
Config:
description: The configuration.
properties:
sections:
items:
$ref: '#/components/schemas/ConfigSection'
type: array
type: object
ConfigOption:
description: The option of configuration.
properties:
key:
readOnly: true
type: string
value:
readOnly: true
type: string
type: object
ConfigSection:
description: The section of configuration.
properties:
name:
readOnly: true
type: string
options:
items:
$ref: '#/components/schemas/ConfigOption'
type: array
type: object
Connection:
allOf:
- $ref: '#/components/schemas/ConnectionCollectionItem'
- properties:
extra:
description: Other values that cannot be put into another field, e.g.
RSA keys.
nullable: true
type: string
password:
description: Password of the connection.
format: password
type: string
writeOnly: true
type: object
description: Full representation of the connection.
ConnectionCollection:
allOf:
- properties:
connections:
items:
$ref: '#/components/schemas/ConnectionCollectionItem'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of connections.
*Changed in version 2.1.0*: ''total_entries'' field is added.
'
type: object
ConnectionCollectionItem:
description: 'Connection collection item.
The password and extra fields are only available when retrieving a single
object due to the sensitivity of this data.
'
properties:
conn_type:
description: The connection type.
type: string
connection_id:
description: The connection ID.
type: string
description:
description: The description of the connection.
nullable: true
type: string
host:
description: Host of the connection.
nullable: true
type: string
login:
description: Login of the connection.
nullable: true
type: string
port:
description: Port of the connection.
nullable: true
type: integer
schema:
description: Schema of the connection.
nullable: true
type: string
type: object
ConnectionTest:
description: 'Connection test results.
*New in version 2.2.0*
'
properties:
message:
description: The success or failure message of the request.
type: string
status:
description: The status of the request.
type: boolean
type: object
CreateDatasetEvent:
properties:
dataset_uri:
description: The URI of the dataset
nullable: false
type: string
extra:
description: The dataset event extra
nullable: true
type: object
required:
- dataset_uri
type: object
CronExpression:
description: Cron expression
nullable: true
properties:
__type:
type: string
value:
type: string
required:
- __type
- value
type: object
DAG:
description: DAG
properties:
dag_display_name:
description: 'Human centric display text for the DAG.
*New in version 2.9.0*
'
readOnly: true
type: string
dag_id:
description: The ID of the DAG.
readOnly: true
type: string
default_view:
description: 'Default view of the DAG inside the webserver
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: string
description:
description: 'User-provided DAG description, which can consist of several
sentences or paragraphs that describe DAG contents.
'
nullable: true
readOnly: true
type: string
file_token:
description: 'The key containing the encrypted path to the file. Encryption
and decryption take place only on the server. This prevents the client
from reading an non-DAG file. This also ensures API extensibility, because
the format of encrypted data may change.
'
readOnly: true
type: string
fileloc:
description: The absolute path to the file.
readOnly: true
type: string
has_import_errors:
description: 'Whether the DAG has import errors
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: boolean
has_task_concurrency_limits:
description: 'Whether the DAG has task concurrency limits
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: boolean
is_active:
description: 'Whether the DAG is currently seen by the scheduler(s).
*New in version 2.1.1*
*Changed in version 2.2.0*: Field is read-only.
'
nullable: true
readOnly: true
type: boolean
is_paused:
description: Whether the DAG is paused.
nullable: true
type: boolean
is_subdag:
description: Whether the DAG is SubDAG.
readOnly: true
type: boolean
last_expired:
description: 'Time when the DAG last received a refresh signal
(e.g. the DAG''s "refresh" button was clicked in the web UI)
*New in version 2.3.0*
'
format: date-time
nullable: true
readOnly: true
type: string
last_parsed_time:
description: 'The last time the DAG was parsed.
*New in version 2.3.0*
'
format: date-time
nullable: true
readOnly: true
type: string
last_pickled:
description: 'The last time the DAG was pickled.
*New in version 2.3.0*
'
format: date-time
nullable: true
readOnly: true
type: string
max_active_runs:
description: 'Maximum number of active DAG runs for the DAG
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: integer
max_active_tasks:
description: 'Maximum number of active tasks that can be run on the DAG
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: integer
max_consecutive_failed_dag_runs:
description: '(experimental) The maximum number of consecutive DAG failures
before DAG is automatically paused.
*New in version 2.9.0*
'
nullable: true
readOnly: true
type: integer
next_dagrun:
description: 'The logical date of the next dag run.
*New in version 2.3.0*
'
format: date-time
nullable: true
readOnly: true
type: string
next_dagrun_create_after:
description: 'Earliest time at which this ``next_dagrun`` can be created.
*New in version 2.3.0*
'
format: date-time
nullable: true
readOnly: true
type: string
next_dagrun_data_interval_end:
description: 'The end of the interval of the next dag run.
*New in version 2.3.0*
'
format: date-time
nullable: true
readOnly: true
type: string
next_dagrun_data_interval_start:
description: 'The start of the interval of the next dag run.
*New in version 2.3.0*
'
format: date-time
nullable: true
readOnly: true
type: string
owners:
items:
type: string
readOnly: true
type: array
pickle_id:
description: 'Foreign key to the latest pickle_id
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: string
root_dag_id:
description: If the DAG is SubDAG then it is the top level DAG identifier.
Otherwise, null.
nullable: true
readOnly: true
type: string
schedule_interval:
$ref: '#/components/schemas/ScheduleInterval'
scheduler_lock:
description: 'Whether (one of) the scheduler is scheduling this DAG at the
moment
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: boolean
tags:
description: List of tags.
items:
$ref: '#/components/schemas/Tag'
nullable: true
readOnly: true
type: array
timetable_description:
description: 'Timetable/Schedule Interval description.
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: string
type: object
DAGCollection:
allOf:
- properties:
dags:
items:
$ref: '#/components/schemas/DAG'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of DAGs.
*Changed in version 2.1.0*: ''total_entries'' field is added.
'
type: object
DAGDetail:
allOf:
- $ref: '#/components/schemas/DAG'
- properties:
catchup:
nullable: true
readOnly: true
type: boolean
concurrency:
nullable: true
readOnly: true
type: number
dag_run_timeout:
$ref: '#/components/schemas/TimeDelta'
nullable: true
dataset_expression:
description: Nested dataset any/all conditions
nullable: true
type: object
default_view:
nullable: true
readOnly: true
type: string
doc_md:
nullable: true
readOnly: true
type: string
end_date:
description: 'The DAG''s end date.
*New in version 2.3.0*.
'
format: date-time
nullable: true
readOnly: true
type: string
is_paused_upon_creation:
description: 'Whether the DAG is paused upon creation.
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: boolean
last_parsed:
description: 'The last time the DAG was parsed.
*New in version 2.3.0*
'
format: date-time
nullable: true
readOnly: true
type: string
orientation:
nullable: true
readOnly: true
type: string
params:
description: 'User-specified DAG params.
*New in version 2.0.1*
'
readOnly: true
type: object
render_template_as_native_obj:
description: 'Whether to render templates as native Python objects.
*New in version 2.3.0*
'
nullable: true
readOnly: true
type: boolean
start_date:
description: 'The DAG''s start date.
*Changed in version 2.0.1*: Field becomes nullable.
'
format: date-time
nullable: true
readOnly: true
type: string
template_search_path:
description: 'The template search path.
*New in version 2.3.0*
'
items:
type: string
nullable: true
type: array
timezone:
$ref: '#/components/schemas/Timezone'
nullable: true
type: object
description: 'DAG details.
For details see:
[airflow.models.dag.DAG](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/dag/index.html#airflow.models.dag.DAG)
'
DAGRun:
properties:
conf:
description: 'JSON object describing additional configuration parameters.
The value of this field can be set only when creating the object. If you
try to modify the
field of an existing object, the request fails with an BAD_REQUEST error.
'
type: object
dag_id:
readOnly: true
type: string
dag_run_id:
description: 'Run ID.
The value of this field can be set only when creating the object. If you
try to modify the
field of an existing object, the request fails with an BAD_REQUEST error.
If not provided, a value will be generated based on execution_date.
If the specified dag_run_id is in use, the creation request fails with
an ALREADY_EXISTS error.
This together with DAG_ID are a unique key.
'
nullable: true
type: string
data_interval_end:
description: 'The end of the interval the DAG run covers.
'
format: date-time
nullable: true
type: string
data_interval_start:
description: 'The beginning of the interval the DAG run covers.
'
format: date-time
nullable: true
type: string
end_date:
format: date-time
nullable: true
readOnly: true
type: string
execution_date:
deprecated: true
description: 'The execution date. This is the same as logical_date, kept
for backwards compatibility.
If both this field and logical_date are provided but with different values,
the request
will fail with an BAD_REQUEST error.
*Changed in version 2.2.0*: Field becomes nullable.
*Deprecated since version 2.2.0*: Use ''logical_date'' instead.
'
format: date-time
nullable: true
type: string
external_trigger:
readOnly: true
type: boolean
last_scheduling_decision:
format: date-time
nullable: true
readOnly: true
type: string
logical_date:
description: 'The logical date (previously called execution date). This
is the time or interval covered by
this DAG run, according to the DAG definition.
The value of this field can be set only when creating the object. If you
try to modify the
field of an existing object, the request fails with an BAD_REQUEST error.
This together with DAG_ID are a unique key.
*New in version 2.2.0*
'
format: date-time
nullable: true
type: string
note:
description: 'Contains manually entered notes by the user about the DagRun.
*New in version 2.5.0*
'
nullable: true
type: string
run_type:
enum:
- backfill
- manual
- scheduled
- dataset_triggered
readOnly: true
type: string
start_date:
description: 'The start time. The time when DAG run was actually created.
*Changed in version 2.1.3*: Field becomes nullable.
'
format: date-time
nullable: true
readOnly: true
type: string
state:
$ref: '#/components/schemas/DagState'
type: object
DAGRunCollection:
allOf:
- properties:
dag_runs:
items:
$ref: '#/components/schemas/DAGRun'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of DAG runs.
*Changed in version 2.1.0*: ''total_entries'' field is added.
'
type: object
DagProcessorStatus:
description: 'The status and the latest dag processor heartbeat.
*New in version 2.6.3*
'
properties:
latest_dag_processor_heartbeat:
description: The time the dag processor last did a heartbeat.
format: datetime
nullable: true
readOnly: true
type: string
status:
$ref: '#/components/schemas/HealthStatus'
type: object
DagScheduleDatasetReference:
description: 'A datasets reference to a downstream DAG.
*New in version 2.4.0*
'
properties:
created_at:
description: The dataset reference creation time
nullable: false
type: string
dag_id:
description: The DAG ID that depends on the dataset.
nullable: true
type: string
updated_at:
description: The dataset reference update time
nullable: false
type: string
type: object
DagState:
description: 'DAG State.
*Changed in version 2.1.3*: ''queued'' is added as a possible value.
'
enum:
- queued
- running
- success
- failed
readOnly: true
type: string
DagStatsCollectionItem:
description: DagStats entry collection item.
properties:
dag_id:
description: The DAG ID.
type: string
stats:
items:
$ref: '#/components/schemas/DagStatsStateCollectionItem'
nullable: true
type: array
type: object
DagStatsCollectionSchema:
allOf:
- properties:
dags:
items:
$ref: '#/components/schemas/DagStatsCollectionItem'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of Dag statistics.
'
type: object
DagStatsStateCollectionItem:
description: DagStatsState entry collection item.
properties:
count:
description: The DAG state count.
type: integer
state:
description: The DAG state.
type: string
type: object
DagWarning:
properties:
dag_id:
description: The dag_id.
readOnly: true
type: string
message:
description: The message for the dag warning.
readOnly: true
type: string
timestamp:
description: The time when this warning was logged.
format: datetime
readOnly: true
type: string
warning_type:
description: The warning type for the dag warning.
readOnly: true
type: string
type: object
DagWarningCollection:
allOf:
- properties:
import_errors:
items:
$ref: '#/components/schemas/DagWarning'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of DAG warnings.
'
type: object
Dataset:
description: 'A dataset item.
*New in version 2.4.0*
'
properties:
consuming_dags:
items:
$ref: '#/components/schemas/DagScheduleDatasetReference'
type: array
created_at:
description: The dataset creation time
nullable: false
type: string
extra:
description: The dataset extra
nullable: true
type: object
id:
description: The dataset id
type: integer
producing_tasks:
items:
$ref: '#/components/schemas/TaskOutletDatasetReference'
type: array
updated_at:
description: The dataset update time
nullable: false
type: string
uri:
description: The dataset uri
nullable: false
type: string
type: object
DatasetCollection:
allOf:
- properties:
datasets:
items:
$ref: '#/components/schemas/Dataset'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'A collection of datasets.
*New in version 2.4.0*
'
type: object
DatasetEvent:
description: 'A dataset event.
*New in version 2.4.0*
'
properties:
created_dagruns:
items:
$ref: '#/components/schemas/BasicDAGRun'
type: array
dataset_id:
description: The dataset id
type: integer
dataset_uri:
description: The URI of the dataset
nullable: false
type: string
extra:
description: The dataset event extra
nullable: true
type: object
source_dag_id:
description: The DAG ID that updated the dataset.
nullable: true
type: string
source_map_index:
description: The task map index that updated the dataset.
nullable: true
type: integer
source_run_id:
description: The DAG run ID that updated the dataset.
nullable: true
type: string
source_task_id:
description: The task ID that updated the dataset.
nullable: true
type: string
timestamp:
description: The dataset event creation time
nullable: false
type: string
type: object
DatasetEventCollection:
allOf:
- properties:
dataset_events:
items:
$ref: '#/components/schemas/DatasetEvent'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'A collection of dataset events.
*New in version 2.4.0*
'
type: object
Error:
description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.
'
properties:
detail:
description: A human-readable explanation specific to this occurrence of
the problem.
type: string
instance:
description: 'A URI reference that identifies the specific occurrence of
the problem. It may or may
not yield further information if dereferenced.
'
type: string
status:
description: The HTTP status code generated by the API server for this occurrence
of the problem.
type: number
title:
description: A short, human-readable summary of the problem type.
type: string
type:
description: 'A URI reference [RFC3986] that identifies the problem type.
This specification
encourages that, when dereferenced, it provide human-readable documentation
for
the problem type.
'
type: string
required:
- type
- title
- status
type: object
EventLog:
description: Log of user operations via CLI or Web UI.
properties:
dag_id:
description: The DAG ID
nullable: true
readOnly: true
type: string
event:
description: A key describing the type of event.
readOnly: true
type: string
event_log_id:
description: The event log ID
readOnly: true
type: integer
execution_date:
description: 'When the event was dispatched for an object having execution_date,
the value of this field.
'
format: date-time
nullable: true
readOnly: true
type: string
extra:
description: 'Other information that was not included in the other fields,
e.g. the complete CLI command.
'
nullable: true
readOnly: true
type: string
map_index:
description: The Map Index
nullable: true
readOnly: true
type: integer
owner:
description: Name of the user who triggered these events a.
nullable: true
readOnly: true
type: string
run_id:
description: The DAG Run ID
nullable: true
readOnly: true
type: string
task_id:
description: The Task ID
nullable: true
readOnly: true
type: string
try_number:
description: The Try Number
nullable: true
readOnly: true
type: integer
when:
description: The time when these events happened.
format: date-time
readOnly: true
type: string
type: object
EventLogCollection:
allOf:
- properties:
event_logs:
items:
$ref: '#/components/schemas/EventLog'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of event logs.
*Changed in version 2.1.0*: ''total_entries'' field is added.
*Changed in version 2.10.0*: ''try_number'' and ''map_index'' fields are
added.
'
type: object
ExtraLink:
description: Additional links containing additional information about the task.
properties:
class_ref:
$ref: '#/components/schemas/ClassReference'
href:
readOnly: true
type: string
name:
readOnly: true
type: string
type: object
ExtraLinkCollection:
description: The collection of extra links.
properties:
extra_links:
items:
$ref: '#/components/schemas/ExtraLink'
type: array
type: object
HealthInfo:
description: Instance status information.
properties:
dag_processor:
$ref: '#/components/schemas/DagProcessorStatus'
metadatabase:
$ref: '#/components/schemas/MetadatabaseStatus'
scheduler:
$ref: '#/components/schemas/SchedulerStatus'
triggerer:
$ref: '#/components/schemas/TriggererStatus'
type: object
HealthStatus:
description: Health status
enum:
- healthy
- unhealthy
nullable: true
type: string
ImportError:
properties:
filename:
description: The filename
readOnly: true
type: string
import_error_id:
description: The import error ID.
readOnly: true
type: integer
stack_trace:
description: The full stackstrace.
readOnly: true
type: string
timestamp:
description: The time when this error was created.
format: datetime
readOnly: true
type: string
type: object
ImportErrorCollection:
allOf:
- properties:
import_errors:
items:
$ref: '#/components/schemas/ImportError'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of import errors.
*Changed in version 2.1.0*: ''total_entries'' field is added.
'
type: object
Job:
nullable: true
properties:
dag_id:
nullable: true
type: string
end_date:
format: datetime
nullable: true
type: string
executor_class:
nullable: true
type: string
hostname:
nullable: true
type: string
id:
type: integer
job_type:
nullable: true
type: string
latest_heartbeat:
format: datetime
nullable: true
type: string
start_date:
format: datetime
nullable: true
type: string
state:
nullable: true
type: string
unixname:
nullable: true
type: string
type: object
ListDagRunsForm:
properties:
dag_ids:
description: 'Return objects with specific DAG IDs.
The value can be repeated to retrieve multiple matching values (OR condition).'
items:
type: string
type: array
end_date_gte:
description: 'Returns objects greater or equal the specified date.
This can be combined with end_date_lte parameter to receive only the selected
period.
'
format: date-time
type: string
end_date_lte:
description: 'Returns objects less than or equal to the specified date.
This can be combined with end_date_gte parameter to receive only the selected
period.
'
format: date-time
type: string
execution_date_gte:
description: 'Returns objects greater or equal to the specified date.
This can be combined with execution_date_lte key to receive only the selected
period.
'
format: date-time
type: string
execution_date_lte:
description: 'Returns objects less than or equal to the specified date.
This can be combined with execution_date_gte key to receive only the selected
period.
'
format: date-time
type: string
order_by:
description: 'The name of the field to order the results by. Prefix a field
name
with `-` to reverse the sort order.
*New in version 2.1.0*
'
type: string
page_limit:
default: 100
description: The numbers of items to return.
minimum: 1
type: integer
page_offset:
description: The number of items to skip before starting to collect the
result set.
minimum: 0
type: integer
start_date_gte:
description: 'Returns objects greater or equal the specified date.
This can be combined with start_date_lte key to receive only the selected
period.
'
format: date-time
type: string
start_date_lte:
description: 'Returns objects less or equal the specified date.
This can be combined with start_date_gte parameter to receive only the
selected period
'
format: date-time
type: string
states:
description: 'Return objects with specific states.
The value can be repeated to retrieve multiple matching values (OR condition).'
items:
type: string
type: array
type: object
ListTaskInstanceForm:
properties:
dag_ids:
description: 'Return objects with specific DAG IDs.
The value can be repeated to retrieve multiple matching values (OR condition).'
items:
type: string
type: array
dag_run_ids:
description: 'Return objects with specific DAG Run IDs.
The value can be repeated to retrieve multiple matching values (OR condition).
*New in version 2.7.1*'
items:
type: string
type: array
duration_gte:
description: 'Returns objects greater than or equal to the specified values.
This can be combined with duration_lte parameter to receive only the selected
period.
'
type: number
duration_lte:
description: 'Returns objects less than or equal to the specified values.
This can be combined with duration_gte parameter to receive only the selected
range.
'
type: number
end_date_gte:
description: 'Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the
selected period.
'
format: date-time
type: string
end_date_lte:
description: 'Returns objects less than or equal to the specified date.
This can be combined with start_date_gte parameter to receive only the
selected period.
'
format: date-time
type: string
execution_date_gte:
description: 'Returns objects greater or equal to the specified date.
This can be combined with execution_date_lte parameter to receive only
the selected period.
'
format: date-time
type: string
execution_date_lte:
description: 'Returns objects less than or equal to the specified date.
This can be combined with execution_date_gte parameter to receive only
the selected period.
'
format: date-time
type: string
executor:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
items:
type: string
type: array
pool:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
items:
type: string
type: array
queue:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
items:
type: string
type: array
start_date_gte:
description: 'Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the
selected period.
'
format: date-time
type: string
start_date_lte:
description: 'Returns objects less or equal the specified date.
This can be combined with start_date_gte parameter to receive only the
selected period.
'
format: date-time
type: string
state:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
items:
$ref: '#/components/schemas/TaskState'
type: array
task_ids:
description: 'Return objects with specific task IDs.
The value can be repeated to retrieve multiple matching values (OR condition).
*New in version 2.7.1*'
items:
type: string
type: array
type: object
MetadatabaseStatus:
description: The status of the metadatabase.
properties:
status:
$ref: '#/components/schemas/HealthStatus'
type: object
PluginCollection:
allOf:
- properties:
plugins:
items:
$ref: '#/components/schemas/PluginCollectionItem'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'A collection of plugin.
*New in version 2.1.0*
'
type: object
PluginCollectionItem:
description: 'A plugin Item.
*New in version 2.1.0*
'
properties:
appbuilder_menu_items:
description: The Flask Appbuilder menu items
items:
nullable: true
type: object
type: array
appbuilder_views:
description: The appuilder views
items:
nullable: true
type: object
type: array
executors:
description: The plugin executors
items:
nullable: true
type: string
type: array
flask_blueprints:
description: The flask blueprints
items:
nullable: true
type: string
type: array
global_operator_extra_links:
description: The global operator extra links
items:
nullable: true
type: string
type: array
hooks:
description: The plugin hooks
items:
nullable: true
type: string
type: array
listeners:
description: The plugin listeners
items:
type: string
type: array
macros:
description: The plugin macros
items:
nullable: true
type: string
type: array
name:
description: The name of the plugin
type: string
operator_extra_links:
description: Operator extra links
items:
nullable: true
type: string
type: array
source:
description: The plugin source
nullable: true
type: string
ti_deps:
description: The plugin task instance dependencies
items:
type: string
type: array
timetables:
description: The plugin timetables
items:
type: string
type: array
type: object
Pool:
description: The pool
properties:
deferred_slots:
description: 'The number of slots used by deferred tasks at the moment.
Relevant if ''include_deferred'' is set to true.
*New in version 2.7.0*
'
readOnly: true
type: integer
description:
description: 'The description of the pool.
*New in version 2.3.0*
'
nullable: true
type: string
include_deferred:
description: 'If set to true, deferred tasks are considered when calculating
open pool slots.
*New in version 2.7.0*
'
type: boolean
name:
description: The name of pool.
type: string
occupied_slots:
description: The number of slots used by running/queued tasks at the moment.
May include deferred tasks if 'include_deferred' is set to true.
readOnly: true
type: integer
open_slots:
description: The number of free slots at the moment.
readOnly: true
type: integer
queued_slots:
description: The number of slots used by queued tasks at the moment.
readOnly: true
type: integer
running_slots:
description: The number of slots used by running tasks at the moment.
readOnly: true
type: integer
scheduled_slots:
description: The number of slots used by scheduled tasks at the moment.
readOnly: true
type: integer
slots:
description: 'The maximum number of slots that can be assigned to tasks.
One job may occupy one or more slots.
'
type: integer
type: object
PoolCollection:
allOf:
- properties:
pools:
items:
$ref: '#/components/schemas/Pool'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of pools.
*Changed in version 2.1.0*: ''total_entries'' field is added.
'
type: object
Provider:
description: 'The provider
*New in version 2.1.0*
'
properties:
description:
description: The description of the provider.
type: string
package_name:
description: The package name of the provider.
type: string
version:
description: The version of the provider.
type: string
type: object
ProviderCollection:
description: 'Collection of providers.
*New in version 2.1.0*
'
properties:
providers:
items:
$ref: '#/components/schemas/Provider'
type: array
type: object
QueuedEvent:
properties:
created_at:
description: The creation time of QueuedEvent
format: date-time
type: string
dag_id:
description: The DAG ID.
type: string
uri:
description: The datata uri.
type: string
type: object
QueuedEventCollection:
allOf:
- properties:
datasets:
items:
$ref: '#/components/schemas/QueuedEvent'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'A collection of Dataset Dag Run Queues.
*New in version 2.9.0*
'
type: object
RelativeDelta:
description: Relative delta
properties:
__type:
type: string
day:
type: integer
days:
type: integer
hour:
type: integer
hours:
type: integer
leapdays:
type: integer
microsecond:
type: integer
microseconds:
type: integer
minute:
type: integer
minutes:
type: integer
month:
type: integer
months:
type: integer
second:
type: integer
seconds:
type: integer
year:
type: integer
years:
type: integer
required:
- __type
- years
- months
- days
- leapdays
- hours
- minutes
- seconds
- microseconds
- year
- month
- day
- hour
- minute
- second
- microsecond
type: object
Resource:
description: 'A resource on which permissions are granted.
*New in version 2.1.0*
'
properties:
name:
description: The name of the resource
nullable: false
type: string
type: object
Role:
description: 'a role item.
*New in version 2.1.0*
'
properties:
actions:
items:
$ref: '#/components/schemas/ActionResource'
type: array
name:
description: 'The name of the role
*Changed in version 2.3.0*: A minimum character length requirement
(''minLength'') is added.
'
minLength: 1
type: string
type: object
RoleCollection:
allOf:
- properties:
roles:
items:
$ref: '#/components/schemas/Role'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'A collection of roles.
*New in version 2.1.0*
'
type: object
SLAMiss:
nullable: true
properties:
dag_id:
description: The DAG ID.
type: string
description:
nullable: true
type: string
email_sent:
type: boolean
execution_date:
format: datetime
type: string
notification_sent:
type: boolean
task_id:
description: The task ID.
readOnly: true
type: string
timestamp:
format: datetime
type: string
type: object
ScheduleInterval:
anyOf:
- $ref: '#/components/schemas/TimeDelta'
- $ref: '#/components/schemas/RelativeDelta'
- $ref: '#/components/schemas/CronExpression'
description: 'Schedule interval. Defines how often DAG runs, this object gets
added to your latest task instance''s
execution_date to figure out the next schedule.
'
discriminator:
propertyName: __type
nullable: true
readOnly: true
SchedulerStatus:
description: The status and the latest scheduler heartbeat.
properties:
latest_scheduler_heartbeat:
description: The time the scheduler last did a heartbeat.
format: datetime
nullable: true
readOnly: true
type: string
status:
$ref: '#/components/schemas/HealthStatus'
type: object
SetDagRunNote:
properties:
note:
description: Custom notes left by users for this Dag Run.
type: string
type: object
SetTaskInstanceNote:
properties:
note:
description: The custom note to set for this Task Instance.
type: string
required:
- note
type: object
Tag:
description: Tag
properties:
name:
type: string
type: object
Task:
description: 'For details see:
[airflow.models.baseoperator.BaseOperator](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)
'
properties:
class_ref:
$ref: '#/components/schemas/ClassReference'
depends_on_past:
readOnly: true
type: boolean
doc_md:
description: 'Task documentation in markdown.
*New in version 2.10.0*
'
nullable: true
readOnly: true
type: string
downstream_task_ids:
items:
type: string
readOnly: true
type: array
end_date:
format: date-time
nullable: true
readOnly: true
type: string
execution_timeout:
$ref: '#/components/schemas/TimeDelta'
executor:
nullable: true
readOnly: true
type: string
extra_links:
items:
properties:
class_ref:
$ref: '#/components/schemas/ClassReference'
type: object
readOnly: true
type: array
is_mapped:
readOnly: true
type: boolean
owner:
readOnly: true
type: string
pool:
readOnly: true
type: string
pool_slots:
readOnly: true
type: number
priority_weight:
readOnly: true
type: number
queue:
nullable: true
readOnly: true
type: string
retries:
readOnly: true
type: number
retry_delay:
$ref: '#/components/schemas/TimeDelta'
retry_exponential_backoff:
readOnly: true
type: boolean
start_date:
format: date-time
nullable: true
readOnly: true
type: string
sub_dag:
$ref: '#/components/schemas/DAG'
task_display_name:
readOnly: true
type: string
task_id:
readOnly: true
type: string
template_fields:
items:
type: string
readOnly: true
type: array
trigger_rule:
$ref: '#/components/schemas/TriggerRule'
ui_color:
$ref: '#/components/schemas/Color'
ui_fgcolor:
$ref: '#/components/schemas/Color'
wait_for_downstream:
readOnly: true
type: boolean
weight_rule:
$ref: '#/components/schemas/WeightRule'
type: object
TaskCollection:
description: Collection of tasks.
properties:
tasks:
items:
$ref: '#/components/schemas/Task'
type: array
type: object
TaskFailedDependency:
properties:
name:
type: string
reason:
type: string
type: object
TaskInstance:
properties:
dag_id:
type: string
dag_run_id:
description: 'The DagRun ID for this task instance
*New in version 2.3.0*
'
type: string
duration:
nullable: true
type: number
end_date:
format: datetime
nullable: true
type: string
execution_date:
format: datetime
type: string
executor:
description: 'Executor the task is configured to run on or None (which indicates
the default executor)
*New in version 2.10.0*
'
nullable: true
type: string
executor_config:
type: string
hostname:
type: string
map_index:
type: integer
max_tries:
type: integer
note:
description: 'Contains manually entered notes by the user about the TaskInstance.
*New in version 2.5.0*
'
nullable: true
type: string
operator:
description: '*Changed in version 2.1.1*: Field becomes nullable.
'
nullable: true
type: string
pid:
nullable: true
type: integer
pool:
type: string
pool_slots:
type: integer
priority_weight:
nullable: true
type: integer
queue:
nullable: true
type: string
queued_when:
description: 'The datetime that the task enter the state QUEUE, also known
as queue_at
'
nullable: true
type: string
rendered_fields:
description: 'JSON object describing rendered fields.
*New in version 2.3.0*
'
type: object
rendered_map_index:
description: 'Rendered name of an expanded task instance, if the task is
mapped.
*New in version 2.9.0*
'
nullable: true
type: string
sla_miss:
$ref: '#/components/schemas/SLAMiss'
start_date:
format: datetime
nullable: true
type: string
state:
$ref: '#/components/schemas/TaskState'
task_display_name:
description: 'Human centric display text for the task.
*New in version 2.9.0*
'
type: string
task_id:
type: string
trigger:
$ref: '#/components/schemas/Trigger'
triggerer_job:
$ref: '#/components/schemas/Job'
try_number:
type: integer
unixname:
type: string
type: object
TaskInstanceCollection:
allOf:
- properties:
task_instances:
items:
$ref: '#/components/schemas/TaskInstance'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of task instances.
*Changed in version 2.1.0*: ''total_entries'' field is added.
'
type: object
TaskInstanceDependencyCollection:
properties:
dependencies:
items:
$ref: '#/components/schemas/TaskFailedDependency'
type: array
type: object
TaskInstanceReference:
properties:
dag_id:
description: The DAG ID.
readOnly: true
type: string
dag_run_id:
description: The DAG run ID.
readOnly: true
type: string
execution_date:
format: datetime
readOnly: true
type: string
task_id:
description: The task ID.
readOnly: true
type: string
type: object
TaskInstanceReferenceCollection:
properties:
task_instances:
items:
$ref: '#/components/schemas/TaskInstanceReference'
type: array
type: object
TaskOutletDatasetReference:
description: 'A datasets reference to an upstream task.
*New in version 2.4.0*
'
properties:
created_at:
description: The dataset creation time
nullable: false
type: string
dag_id:
description: The DAG ID that updates the dataset.
nullable: true
type: string
task_id:
description: The task ID that updates the dataset.
nullable: true
type: string
updated_at:
description: The dataset update time
nullable: false
type: string
type: object
TaskState:
description: 'Task state.
*Changed in version 2.0.2*: ''removed'' is added as a possible value.
*Changed in version 2.2.0*: ''deferred'' is added as a possible value.
*Changed in version 2.4.0*: ''sensing'' state has been removed.
*Changed in version 2.4.2*: ''restarting'' is added as a possible value
*Changed in version 2.7.0*: Field becomes nullable and null primitive
is added as a possible value.
*Changed in version 2.7.0*: ''none'' state is deprecated in favor of null.
'
enum:
- null
- success
- running
- failed
- upstream_failed
- skipped
- up_for_retry
- up_for_reschedule
- queued
- none
- scheduled
- deferred
- removed
- restarting
nullable: true
type: string
TimeDelta:
description: Time delta
nullable: true
properties:
__type:
type: string
days:
type: integer
microseconds:
type: integer
seconds:
type: integer
required:
- __type
- days
- seconds
- microseconds
type: object
Timezone:
type: string
Trigger:
nullable: true
properties:
classpath:
type: string
created_date:
format: datetime
type: string
id:
type: integer
kwargs:
type: string
triggerer_id:
nullable: true
type: integer
type: object
TriggerRule:
description: 'Trigger rule.
*Changed in version 2.2.0*: ''none_failed_min_one_success'' is added as
a possible value. Deprecated ''dummy'' and ''always'' is added as a possible
value
*Changed in version 2.3.0*: ''all_skipped'' is added as a possible value.
*Changed in version 2.5.0*: ''one_done'' is added as a possible value.
*Changed in version 2.7.0*: ''all_done_setup_success'' is added as a possible
value.
'
enum:
- all_success
- all_failed
- all_done
- all_done_setup_success
- one_success
- one_failed
- one_done
- none_failed
- none_skipped
- none_failed_or_skipped
- none_failed_min_one_success
- dummy
- all_skipped
- always
type: string
TriggererStatus:
description: 'The status and the latest triggerer heartbeat.
*New in version 2.6.2*
'
properties:
latest_triggerer_heartbeat:
description: The time the triggerer last did a heartbeat.
format: datetime
nullable: true
readOnly: true
type: string
status:
$ref: '#/components/schemas/HealthStatus'
type: object
UpdateDagRunState:
description: 'Modify the state of a DAG run.
*New in version 2.2.0*
'
properties:
state:
description: The state to set this DagRun
enum:
- success
- failed
- queued
type: string
type: object
UpdateTaskInstance:
properties:
dry_run:
default: true
description: 'If set, don''t actually run this operation. The response will
contain the task instance
planned to be affected, but won''t be modified in any way.
'
type: boolean
new_state:
$ref: '#/components/schemas/UpdateTaskState'
type: object
UpdateTaskInstancesState:
properties:
dag_run_id:
description: 'The task instance''s DAG run ID. Either set this or execution_date
but not both.
*New in version 2.3.0*
'
type: string
dry_run:
default: true
description: 'If set, don''t actually run this operation. The response will
contain a list of task instances
planned to be affected, but won''t be modified in any way.
'
type: boolean
execution_date:
description: The execution date. Either set this or dag_run_id but not both.
format: datetime
type: string
include_downstream:
description: If set to true, downstream tasks are also affected.
type: boolean
include_future:
description: If set to True, also tasks from future DAG Runs are affected.
type: boolean
include_past:
description: If set to True, also tasks from past DAG Runs are affected.
type: boolean
include_upstream:
description: If set to true, upstream tasks are also affected.
type: boolean
new_state:
$ref: '#/components/schemas/UpdateTaskState'
task_id:
description: The task ID.
type: string
type: object
UpdateTaskState:
description: 'Expected new state. Only a subset of TaskState are available.
Other states are managed directly by the scheduler or the workers and cannot
be updated manually through the REST API.
'
enum:
- success
- failed
- skipped
type: string
User:
allOf:
- $ref: '#/components/schemas/UserCollectionItem'
- properties:
password:
type: string
writeOnly: true
type: object
description: 'A user object with sensitive data.
*New in version 2.1.0*
'
type: object
UserCollection:
allOf:
- properties:
users:
items:
$ref: '#/components/schemas/UserCollectionItem'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of users.
*New in version 2.1.0*
'
type: object
UserCollectionItem:
description: 'A user object.
*New in version 2.1.0*
'
properties:
active:
description: Whether the user is active
nullable: true
readOnly: true
type: boolean
changed_on:
description: The date user was changed
format: datetime
nullable: true
readOnly: true
type: string
created_on:
description: The date user was created
format: datetime
nullable: true
readOnly: true
type: string
email:
description: 'The user''s email.
*Changed in version 2.2.0*: A minimum character length requirement
(''minLength'') is added.
'
minLength: 1
type: string
failed_login_count:
description: The number of times the login failed
nullable: true
readOnly: true
type: integer
first_name:
description: 'The user''s first name.
*Changed in version 2.4.0*: The requirement for this to be non-empty
was removed.
'
type: string
last_login:
description: The last user login
format: datetime
nullable: true
readOnly: true
type: string
last_name:
description: 'The user''s last name.
*Changed in version 2.4.0*: The requirement for this to be non-empty
was removed.
'
type: string
login_count:
description: The login count
nullable: true
readOnly: true
type: integer
roles:
description: 'User roles.
*Changed in version 2.2.0*: Field is no longer read-only.
'
items:
nullable: true
properties:
name:
type: string
type: object
type: array
username:
description: 'The username.
*Changed in version 2.2.0*: A minimum character length requirement
(''minLength'') is added.
'
minLength: 1
type: string
type: object
Variable:
allOf:
- $ref: '#/components/schemas/VariableCollectionItem'
- properties:
value:
type: string
type: object
description: Full representation of Variable
VariableCollection:
allOf:
- properties:
variables:
items:
$ref: '#/components/schemas/VariableCollectionItem'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of variables.
*Changed in version 2.1.0*: ''total_entries'' field is added.
'
type: object
VariableCollectionItem:
description: 'XCom entry collection item.
The value field are only available when retrieving a single object due to
the sensitivity of this data.'
properties:
description:
description: 'The description of the variable.
*New in version 2.4.0*
'
nullable: true
type: string
key:
type: string
type: object
VersionInfo:
description: Version information.
properties:
git_version:
description: The git version (including git commit hash)
nullable: true
type: string
version:
description: The version of Airflow
type: string
type: object
WeightRule:
description: Weight rule.
enum:
- downstream
- upstream
- absolute
type: string
XCom:
allOf:
- $ref: '#/components/schemas/XComCollectionItem'
- properties:
value:
anyOf:
- type: string
- type: number
- type: integer
- type: boolean
- items: {}
type: array
- type: object
description: The value(s),
type: object
description: Full representations of XCom entry.
XComCollection:
allOf:
- properties:
xcom_entries:
items:
$ref: '#/components/schemas/XComCollectionItem'
type: array
type: object
- $ref: '#/components/schemas/CollectionInfo'
description: 'Collection of XCom entries.
*Changed in version 2.1.0*: ''total_entries'' field is added.
'
type: object
XComCollectionItem:
description: 'XCom entry collection item.
The value field is only available when reading a single object due to the
size of the value.
'
properties:
dag_id:
type: string
execution_date:
format: datetime
type: string
key:
type: string
map_index:
type: integer
task_id:
type: string
timestamp:
format: datetime
type: string
type: object
securitySchemes:
Basic:
scheme: basic
type: http
GoogleOpenId:
openIdConnectUrl: https://accounts.google.com/.well-known/openid-configuration
type: openIdConnect
Kerberos:
scheme: negotiate
type: http
externalDocs:
url: https://airflow.apache.org/docs/apache-airflow/stable/
info:
contact:
email: dev@airflow.apache.org
name: Apache Software Foundation
url: https://airflow.apache.org
description: "# Overview\n\nTo facilitate management, Apache Airflow supports a\
\ range of REST API endpoints across its\nobjects.\nThis section provides an overview\
\ of the API design, methods, and supported use cases.\n\nMost of the endpoints\
\ accept `JSON` as input and return `JSON` responses.\nThis means that you must\
\ usually add the following headers to your request:\n```\nContent-type: application/json\n\
Accept: application/json\n```\n\n## Resources\n\nThe term `resource` refers to\
\ a single type of object in the Airflow metadata. An API is broken up by its\n\
endpoint's corresponding resource.\nThe name of a resource is typically plural\
\ and expressed in camelCase. Example: `dagRuns`.\n\nResource names are used as\
\ part of endpoint URLs, as well as in API parameters and responses.\n\n## CRUD\
\ Operations\n\nThe platform supports **C**reate, **R**ead, **U**pdate, and **D**elete\
\ operations on most resources.\nYou can review the standards for these operations\
\ and their standard parameters below.\n\nSome endpoints have special behavior\
\ as exceptions.\n\n### Create\n\nTo create a resource, you typically submit an\
\ HTTP `POST` request with the resource's required metadata\nin the request body.\n\
The response returns a `201 Created` response code upon success with the resource's\
\ metadata, including\nits internal `id`, in the response body.\n\n### Read\n\n\
The HTTP `GET` request can be used to read a resource or to list a number of resources.\n\
\nA resource's `id` can be submitted in the request parameters to read a specific\
\ resource.\nThe response usually returns a `200 OK` response code upon success,\
\ with the resource's metadata in\nthe response body.\n\nIf a `GET` request does\
\ not include a specific resource `id`, it is treated as a list request.\nThe\
\ response usually returns a `200 OK` response code upon success, with an object\
\ containing a list\nof resources' metadata in the response body.\n\nWhen reading\
\ resources, some common query parameters are usually available. e.g.:\n```\n\
v1/connections?limit=25&offset=25\n```\n\n|Query Parameter|Type|Description|\n\
|---------------|----|-----------|\n|limit|integer|Maximum number of objects to\
\ fetch. Usually 25 by default|\n|offset|integer|Offset after which to start returning\
\ objects. For use with limit query parameter.|\n\n### Update\n\nUpdating a resource\
\ requires the resource `id`, and is typically done using an HTTP `PATCH` request,\n\
with the fields to modify in the request body.\nThe response usually returns a\
\ `200 OK` response code upon success, with information about the modified\nresource\
\ in the response body.\n\n### Delete\n\nDeleting a resource requires the resource\
\ `id` and is typically executed via an HTTP `DELETE` request.\nThe response usually\
\ returns a `204 No Content` response code upon success.\n\n## Conventions\n\n\
- Resource names are plural and expressed in camelCase.\n- Names are consistent\
\ between URL parameter name and field name.\n\n- Field names are in snake_case.\n\
```json\n{\n \"description\": \"string\",\n \"name\": \"string\",\n \"\
occupied_slots\": 0,\n \"open_slots\": 0\n \"queued_slots\": 0,\n \"\
running_slots\": 0,\n \"scheduled_slots\": 0,\n \"slots\": 0,\n}\n```\n\n\
### Update Mask\n\nUpdate mask is available as a query parameter in patch endpoints.\
\ It is used to notify the\nAPI which fields you want to update. Using `update_mask`\
\ makes it easier to update objects\nby helping the server know which fields to\
\ update in an object instead of updating all fields.\nThe update request ignores\
\ any fields that aren't specified in the field mask, leaving them with\ntheir\
\ current values.\n\nExample:\n```\n resource = request.get('/resource/my-id').json()\n\
\ resource['my_field'] = 'new-value'\n request.patch('/resource/my-id?update_mask=my_field',\
\ data=json.dumps(resource))\n```\n\n## Versioning and Endpoint Lifecycle\n\n\
- API versioning is not synchronized to specific releases of the Apache Airflow.\n\
- APIs are designed to be backward compatible.\n- Any changes to the API will\
\ first go through a deprecation phase.\n\n# Trying the API\n\nYou can use a third\
\ party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/),\n\
[Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/)\
\ to test\nthe Apache Airflow API.\n\nNote that you will need to pass credentials\
\ data.\n\nFor e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/),\
\ when basic authorization is used:\n```bash\ncurl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused'\
\ \\\n-H 'Content-Type: application/json' \\\n--user \"username:password\" \\\n\
-d '{\n \"is_paused\": true\n}'\n```\n\nUsing a graphical tool such as [Postman](https://www.postman.com/)\
\ or [Insomnia](https://insomnia.rest/),\nit is possible to import the API specifications\
\ directly:\n\n1. Download the API specification by clicking the **Download**\
\ button at the top of this document\n2. Import the JSON specification in the\
\ graphical tool of your choice.\n - In *Postman*, you can click the **import**\
\ button at the top\n - With *Insomnia*, you can just drag-and-drop the file\
\ on the UI\n\nNote that with *Postman*, you can also generate code snippets by\
\ selecting a request and clicking on\nthe **Code** button.\n\n## Enabling CORS\n\
\n[Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)\n\
is a browser security feature that restricts HTTP requests that are\ninitiated\
\ from scripts running in the browser.\n\nFor details on enabling/configuring\
\ CORS, see\n[Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).\n\
\n# Authentication\n\nTo be able to meet the requirements of many organizations,\
\ Airflow supports many authentication methods,\nand it is even possible to add\
\ your own method.\n\nIf you want to check which auth backend is currently set,\
\ you can use\n`airflow config get-value api auth_backends` command as in the\
\ example below.\n```bash\n$ airflow config get-value api auth_backends\nairflow.api.auth.backend.basic_auth\n\
```\nThe default is to deny all requests.\n\nFor details on configuring the authentication,\
\ see\n[API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).\n\
\n# Errors\n\nWe follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807)\n\
also known as Problem Details for HTTP APIs. As with our normal API responses,\n\
your client must be prepared to gracefully handle additional members of the response.\n\
\n## Unauthenticated\n\nThis indicates that the request has not been applied because\
\ it lacks valid authentication\ncredentials for the target resource. Please check\
\ that you have valid credentials.\n\n## PermissionDenied\n\nThis response means\
\ that the server understood the request but refuses to authorize\nit because\
\ it lacks sufficient rights to the resource. It happens when you do not have\
\ the\nnecessary permission to execute the action you performed. You need to get\
\ the appropriate\npermissions in other to resolve this error.\n\n## BadRequest\n\
\nThis response means that the server cannot or will not process the request due\
\ to something\nthat is perceived to be a client error (e.g., malformed request\
\ syntax, invalid request message\nframing, or deceptive request routing). To\
\ resolve this, please ensure that your syntax is correct.\n\n## NotFound\n\n\
This client error response indicates that the server cannot find the requested\
\ resource.\n\n## MethodNotAllowed\n\nIndicates that the request method is known\
\ by the server but is not supported by the target resource.\n\n## NotAcceptable\n\
\nThe target resource does not have a current representation that would be acceptable\
\ to the user\nagent, according to the proactive negotiation header fields received\
\ in the request, and the\nserver is unwilling to supply a default representation.\n\
\n## AlreadyExists\n\nThe request could not be completed due to a conflict with\
\ the current state of the target\nresource, e.g. the resource it tries to create\
\ already exists.\n\n## Unknown\n\nThis means that the server encountered an unexpected\
\ condition that prevented it from\nfulfilling the request.\n"
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
title: Airflow API (Stable)
version: 2.10.0
openapi: 3.0.3
paths:
/config:
get:
operationId: get_config
parameters:
- description: If given, only return config of this section.
in: query
name: section
required: false
schema:
type: string
responses:
'200':
content:
application/json:
example:
sections:
- name: core
options:
- key: dags_folder
value: /home/user/my-dags-folder
- name: smtp
options:
- key: smtp_host
value: localhost
- key: smtp_mail_from
value: airflow@example.com
schema:
$ref: '#/components/schemas/Config'
text/plain:
example: '[core]
dags_folder = /home/user/my-dags-folder
[smtp]
smtp_host = localhost
smtp_mail_from = airflow@example.com
'
schema:
type: string
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get current configuration
tags:
- Config
x-openapi-router-controller: airflow.api_connexion.endpoints.config_endpoint
/config/section/{section}/option/{option}:
get:
operationId: get_value
parameters:
- in: path
name: section
required: true
schema:
type: string
- in: path
name: option
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
sections:
- name: core
options:
- key: dags_folder
value: /home/user/my-dags-folder
schema:
$ref: '#/components/schemas/Config'
text/plain:
example: '[core]
dags_folder = /home/user/my-dags-folder
'
schema:
type: string
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a option from configuration
tags:
- Config
x-openapi-router-controller: airflow.api_connexion.endpoints.config_endpoint
/connections:
get:
operationId: get_connections
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectionCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List connections
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
post:
operationId: post_connection
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: Create a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
/connections/test:
post:
description: 'Test a connection.
For security reasons, the test connection functionality is disabled by default
across Airflow UI, API and CLI.
For more information on capabilities of users, see the documentation:
https://airflow.apache.org/docs/apache-airflow/stable/security/security_model.html#capabilities-of-authenticated-ui-users.
It is strongly advised to not enable the feature until you make sure that
only
highly trusted UI/API users have "edit connection" permissions.
Set the "test_connection" flag to "Enabled" in the "core" section of Airflow
configuration (airflow.cfg) to enable testing of collections.
It can also be controlled by the environment variable `AIRFLOW__CORE__TEST_CONNECTION`.
*New in version 2.2.0*
'
operationId: test_connection
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectionTest'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Test a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
/connections/{connection_id}:
delete:
operationId: delete_connection
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
get:
operationId: get_connection
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
parameters:
- $ref: '#/components/parameters/ConnectionID'
patch:
operationId: patch_connection
parameters:
- $ref: '#/components/parameters/UpdateMask'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
/dagSources/{file_token}:
get:
description: 'Get a source code using file token.
'
operationId: get_dag_source
responses:
'200':
content:
application/json:
schema:
properties:
content:
type: string
type: object
plain/text:
schema:
type: string
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
'406':
$ref: '#/components/responses/NotAcceptable'
summary: Get a source code
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_source_endpoint
parameters:
- $ref: '#/components/parameters/FileToken'
/dagStats:
get:
operationId: get_dag_stats
parameters:
- description: 'One or more DAG IDs separated by commas to filter relevant Dags.
'
in: query
name: dag_ids
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DagStatsCollectionSchema'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List Dag statistics
tags:
- DagStats
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_stats_endpoint
/dagWarnings:
get:
operationId: get_dag_warnings
parameters:
- description: If set, only return DAG warnings with this dag_id.
in: query
name: dag_id
required: false
schema:
type: string
- description: If set, only return DAG warnings with this type.
in: query
name: warning_type
required: false
schema:
type: string
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DagWarningCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List dag warnings
tags:
- DagWarning
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_warning_endpoint
/dags:
get:
description: 'List DAGs in the database.
`dag_id_pattern` can be set to match dags of a specific pattern
'
operationId: get_dags
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
- $ref: '#/components/parameters/FilterTags'
- $ref: '#/components/parameters/OnlyActive'
- $ref: '#/components/parameters/Paused'
- $ref: '#/components/parameters/ReturnFields'
- description: 'If set, only return DAGs with dag_ids matching this pattern.
'
in: query
name: dag_id_pattern
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
summary: List DAGs
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
patch:
description: 'Update DAGs of a given dag_id_pattern using UpdateMask.
This endpoint allows specifying `~` as the dag_id_pattern to update all DAGs.
*New in version 2.3.0*
'
operationId: patch_dags
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/FilterTags'
- $ref: '#/components/parameters/UpdateMask'
- $ref: '#/components/parameters/OnlyActive'
- description: 'If set, only update DAGs with dag_ids matching this pattern.
'
in: query
name: dag_id_pattern
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
is_paused: true
schema:
$ref: '#/components/schemas/DAG'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update DAGs
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
/dags/{dag_id}:
delete:
description: 'Deletes all metadata related to the DAG, including finished DAG
Runs and Tasks.
Logs are not deleted. This action cannot be undone.
*New in version 2.2.0*
'
operationId: delete_dag
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/AlreadyExists'
summary: Delete a DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
get:
description: 'Presents only information available in database (DAGModel).
If you need detailed information, consider using GET /dags/{dag_id}/details.
'
operationId: get_dag
parameters:
- $ref: '#/components/parameters/ReturnFields'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAG'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get basic information about a DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
patch:
operationId: patch_dag
parameters:
- $ref: '#/components/parameters/UpdateMask'
requestBody:
content:
application/json:
example:
is_paused: true
schema:
$ref: '#/components/schemas/DAG'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAG'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update a DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
/dags/{dag_id}/clearTaskInstances:
parameters:
- $ref: '#/components/parameters/DAGID'
post:
description: 'Clears a set of task instances associated with the DAG for a specified
date range.
'
operationId: post_clear_task_instances
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ClearTaskInstances'
description: Parameters of action
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceReferenceCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Clear a set of task instances
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns:
get:
description: 'This endpoint allows specifying `~` as the dag_id to retrieve
DAG runs for all DAGs.
'
operationId: get_dag_runs
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/FilterExecutionDateGTE'
- $ref: '#/components/parameters/FilterExecutionDateLTE'
- $ref: '#/components/parameters/FilterStartDateGTE'
- $ref: '#/components/parameters/FilterStartDateLTE'
- $ref: '#/components/parameters/FilterEndDateGTE'
- $ref: '#/components/parameters/FilterEndDateLTE'
- $ref: '#/components/parameters/FilterUpdatedAtGTE'
- $ref: '#/components/parameters/FilterUpdatedAtLTE'
- $ref: '#/components/parameters/FilterState'
- $ref: '#/components/parameters/OrderBy'
- $ref: '#/components/parameters/ReturnFields'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRunCollection'
description: List of DAG runs.
'401':
$ref: '#/components/responses/Unauthenticated'
summary: List DAG runs
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
post:
description: 'This will initiate a dagrun. If DAG is paused then dagrun state
will remain queued, and the task won''t run.
'
operationId: post_dag_run
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/AlreadyExists'
summary: Trigger a new DAG run.
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}:
delete:
operationId: delete_dag_run
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete a DAG run
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
get:
operationId: get_dag_run
parameters:
- $ref: '#/components/parameters/ReturnFields'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a DAG run
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
patch:
description: 'Modify a DAG run.
*New in version 2.2.0*
'
operationId: update_dag_run_state
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDagRunState'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Modify a DAG run
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/clear:
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
post:
description: 'Clear a DAG run.
*New in version 2.4.0*
'
operationId: clear_dag_run
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ClearDagRun'
required: true
responses:
'200':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/DAGRun'
- $ref: '#/components/schemas/TaskInstanceCollection'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Clear a DAG run
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/setNote:
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
patch:
description: 'Update the manual user note of a DagRun.
*New in version 2.5.0*
'
operationId: set_dag_run_note
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetDagRunNote'
description: Parameters of set DagRun note.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update the DagRun note.
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances:
get:
description: 'This endpoint allows specifying `~` as the dag_id, dag_run_id
to retrieve DAG runs for all DAGs and DAG runs.
'
operationId: get_task_instances
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List task instances
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/FilterExecutionDateGTE'
- $ref: '#/components/parameters/FilterExecutionDateLTE'
- $ref: '#/components/parameters/FilterStartDateGTE'
- $ref: '#/components/parameters/FilterStartDateLTE'
- $ref: '#/components/parameters/FilterEndDateGTE'
- $ref: '#/components/parameters/FilterEndDateLTE'
- $ref: '#/components/parameters/FilterUpdatedAtGTE'
- $ref: '#/components/parameters/FilterUpdatedAtLTE'
- $ref: '#/components/parameters/FilterDurationGTE'
- $ref: '#/components/parameters/FilterDurationLTE'
- $ref: '#/components/parameters/FilterState'
- $ref: '#/components/parameters/FilterPool'
- $ref: '#/components/parameters/FilterQueue'
- $ref: '#/components/parameters/FilterExecutor'
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}:
get:
operationId: get_task_instance
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a task instance
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
patch:
description: 'Updates the state for single task instance.
*New in version 2.5.0*
'
operationId: patch_task_instance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTaskInstance'
description: Parameters of action
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceReference'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Updates the state of a task instance
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/dependencies:
get:
description: 'Get task dependencies blocking task from getting scheduled.
*New in version 2.10.0*
'
operationId: get_task_instance_dependencies
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceDependencyCollection'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get task dependencies blocking task from getting scheduled.
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links:
get:
description: 'List extra links for task instance.
'
operationId: get_extra_links
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ExtraLinkCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: List extra links
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.extra_link_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped:
get:
description: 'Get details of all mapped task instances.
*New in version 2.3.0*
'
operationId: get_mapped_task_instances
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/FilterExecutionDateGTE'
- $ref: '#/components/parameters/FilterExecutionDateLTE'
- $ref: '#/components/parameters/FilterStartDateGTE'
- $ref: '#/components/parameters/FilterStartDateLTE'
- $ref: '#/components/parameters/FilterEndDateGTE'
- $ref: '#/components/parameters/FilterEndDateLTE'
- $ref: '#/components/parameters/FilterUpdatedAtGTE'
- $ref: '#/components/parameters/FilterUpdatedAtLTE'
- $ref: '#/components/parameters/FilterDurationGTE'
- $ref: '#/components/parameters/FilterDurationLTE'
- $ref: '#/components/parameters/FilterState'
- $ref: '#/components/parameters/FilterPool'
- $ref: '#/components/parameters/FilterQueue'
- $ref: '#/components/parameters/FilterExecutor'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: List mapped task instances
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number}:
get:
description: "Get logs for a specific task instance and its try number.\nTo\
\ get log from specific character position, following way of using\nURLSafeSerializer\
\ can be used.\n\nExample:\n```\nfrom itsdangerous.url_safe import URLSafeSerializer\n\
\nrequest_url = f\"api/v1/dags/{DAG_ID}/dagRuns/{RUN_ID}/taskInstances/{TASK_ID}/logs/1\"\
\nkey = app.config[\"SECRET_KEY\"]\nserializer = URLSafeSerializer(key)\n\
token = serializer.dumps({\"log_pos\": 10000})\n\nresponse = self.client.get(\n\
\ request_url,\n query_string={\"token\": token},\n headers={\"Accept\"\
: \"text/plain\"},\n environ_overrides={\"REMOTE_USER\": \"test\"},\n)\n\
continuation_token = response.json[\"continuation_token\"]\n metadata =\
\ URLSafeSerializer(key).loads(continuation_token)\n log_pos = metadata[\"\
log_pos\"]\n end_of_log = metadata[\"end_of_log\"]\n```\nIf log_pos is\
\ passed as 10000 like the above example, it renders the logs starting\nfrom\
\ char position 10000 to last (not the end as the logs may be tailing behind\
\ in\nrunning state). This way pagination can be done with metadata as part\
\ of the token.\n"
operationId: get_log
responses:
'200':
content:
application/json:
schema:
properties:
content:
type: string
continuation_token:
type: string
type: object
text/plain:
schema:
type: string
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get logs
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.log_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/TaskTryNumber'
- $ref: '#/components/parameters/FullContent'
- $ref: '#/components/parameters/FilterMapIndex'
- $ref: '#/components/parameters/ContinuationToken'
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/setNote:
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
patch:
description: 'Update the manual user note of a non-mapped Task Instance.
*New in version 2.5.0*
'
operationId: set_task_instance_note
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetTaskInstanceNote'
description: Parameters of set Task Instance note.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update the TaskInstance note.
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries:
get:
description: 'Get details of all task instance tries.
*New in version 2.10.0*
'
operationId: get_task_instance_tries
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: List task instance tries
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries/{task_try_number}:
get:
description: 'Get details of a task instance try.
*New in version 2.10.0*
'
operationId: get_task_instance_try_details
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/TaskTryNumber'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: get taskinstance try
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries:
get:
description: This endpoint allows specifying `~` as the dag_id, dag_run_id,
task_id to retrieve XCOM entries for for all DAGs, DAG runs and task instances.
XCom values won't be returned as they can be large. Use this endpoint to get
a list of XCom entries and then fetch individual entry to get value.
operationId: get_xcom_entries
parameters:
- $ref: '#/components/parameters/FilterMapIndex'
- $ref: '#/components/parameters/FilterXcomKey'
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/XComCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List XCom entries
tags:
- XCom
x-openapi-router-controller: airflow.api_connexion.endpoints.xcom_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}:
get:
operationId: get_xcom_entry
parameters:
- $ref: '#/components/parameters/FilterMapIndex'
- description: 'Whether to deserialize an XCom value when using a custom XCom
backend.
The XCom API endpoint calls `orm_deserialize_value` by default since an
XCom may contain value
that is potentially expensive to deserialize in the web server. Setting
this to true overrides
the consideration, and calls `deserialize_value` instead.
This parameter is not meaningful when using the default XCom backend.
*New in version 2.4.0*
'
in: query
name: deserialize
required: false
schema:
default: false
type: boolean
- description: 'Whether to convert the XCom value to be a string. XCom values
can be of Any data type.
If set to true (default) the Any value will be returned as string, e.g.
a Python representation
of a dict. If set to false it will return the raw data as dict, list, string
or whatever was stored.
*New in version 2.10.0*
'
in: query
name: stringify
required: false
schema:
default: true
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/XCom'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get an XCom entry
tags:
- XCom
x-openapi-router-controller: airflow.api_connexion.endpoints.xcom_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/XComKey'
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}:
get:
description: 'Get details of a mapped task instance.
*New in version 2.3.0*
'
operationId: get_mapped_task_instance
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a mapped task instance
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/MapIndex'
patch:
description: 'Updates the state for single mapped task instance.
*New in version 2.5.0*
'
operationId: patch_mapped_task_instance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTaskInstance'
description: Parameters of action
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceReference'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Updates the state of a mapped task instance
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/dependencies:
get:
description: 'Get task dependencies blocking task from getting scheduled.
*New in version 2.10.0*
'
operationId: get_mapped_task_instance_dependencies
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceDependencyCollection'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get task dependencies blocking task from getting scheduled.
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/MapIndex'
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/setNote:
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/MapIndex'
patch:
description: 'Update the manual user note of a mapped Task Instance.
*New in version 2.5.0*
'
operationId: set_mapped_task_instance_note
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetTaskInstanceNote'
description: Parameters of set Task Instance note.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update the TaskInstance note.
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries:
get:
description: 'Get details of all task instance tries.
*New in version 2.10.0*
'
operationId: get_mapped_task_instance_tries
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/MapIndex'
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: List mapped task instance tries
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries/{task_try_number}:
get:
description: 'Get details of a mapped task instance try.
*New in version 2.10.0*
'
operationId: get_mapped_task_instance_try_details
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
- $ref: '#/components/parameters/TaskID'
- $ref: '#/components/parameters/MapIndex'
- $ref: '#/components/parameters/TaskTryNumber'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: get mapped taskinstance try
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents:
get:
description: 'Get datasets for a dag run.
*New in version 2.4.0*
'
operationId: get_upstream_dataset_events
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetEventCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get dataset events for a DAG run
tags:
- DAGRun
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DAGRunID'
/dags/{dag_id}/datasets/queuedEvent:
delete:
description: 'Delete queued Dataset events for a DAG.
*New in version 2.9.0*
'
operationId: delete_dag_dataset_queued_events
parameters:
- $ref: '#/components/parameters/Before'
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete queued Dataset events for a DAG.
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
get:
description: 'Get queued Dataset events for a DAG.
*New in version 2.9.0*
'
operationId: get_dag_dataset_queued_events
parameters:
- $ref: '#/components/parameters/Before'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/QueuedEventCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get queued Dataset events for a DAG.
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
/dags/{dag_id}/datasets/queuedEvent/{uri}:
delete:
description: 'Delete a queued Dataset event for a DAG.
*New in version 2.9.0*
'
operationId: delete_dag_dataset_queued_event
parameters:
- $ref: '#/components/parameters/Before'
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete a queued Dataset event for a DAG.
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
get:
description: 'Get a queued Dataset event for a DAG.
*New in version 2.9.0*
'
operationId: get_dag_dataset_queued_event
parameters:
- $ref: '#/components/parameters/Before'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/QueuedEvent'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a queued Dataset event for a DAG
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/DatasetURI'
/dags/{dag_id}/details:
get:
description: 'The response contains many DAG attributes, so the response can
be large. If possible, consider using GET /dags/{dag_id}.
'
operationId: get_dag_details
parameters:
- $ref: '#/components/parameters/ReturnFields'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGDetail'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a simplified representation of DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
/dags/{dag_id}/tasks:
get:
operationId: get_tasks
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get tasks for DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.task_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/OrderBy'
/dags/{dag_id}/tasks/{task_id}:
get:
operationId: get_task
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get simplified representation of a task
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.task_endpoint
parameters:
- $ref: '#/components/parameters/DAGID'
- $ref: '#/components/parameters/TaskID'
/dags/{dag_id}/updateTaskInstancesState:
parameters:
- $ref: '#/components/parameters/DAGID'
post:
description: 'Updates the state for multiple task instances simultaneously.
'
operationId: post_set_task_instances_state
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTaskInstancesState'
description: Parameters of action
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceReferenceCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Set a state of task instances
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/~/dagRuns/list:
post:
description: 'This endpoint is a POST to allow filtering across a large number
of DAG IDs, where as a GET it would run in to maximum HTTP request URL length
limit.
'
operationId: get_dag_runs_batch
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListDagRunsForm'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRunCollection'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List DAG runs (batch)
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
/dags/~/dagRuns/~/taskInstances/list:
post:
description: 'List task instances from all DAGs and DAG runs.
This endpoint is a POST to allow filtering across a large number of DAG IDs,
where as a GET it would run in to maximum HTTP request URL length limits.
'
operationId: get_task_instances_batch
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListTaskInstanceForm'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: List task instances (batch)
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/datasets:
get:
operationId: get_datasets
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
- description: 'If set, only return datasets with uris matching this pattern.
'
in: query
name: uri_pattern
required: false
schema:
type: string
- description: 'One or more DAG IDs separated by commas to filter datasets by
associated DAGs either consuming or producing.
*New in version 2.9.0*
'
in: query
name: dag_ids
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List datasets
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
/datasets/events:
get:
description: Get dataset events
operationId: get_dataset_events
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
- $ref: '#/components/parameters/FilterDatasetID'
- $ref: '#/components/parameters/FilterSourceDAGID'
- $ref: '#/components/parameters/FilterSourceTaskID'
- $ref: '#/components/parameters/FilterSourceRunID'
- $ref: '#/components/parameters/FilterSourceMapIndex'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetEventCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get dataset events
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
post:
description: Create dataset event
operationId: create_dataset_event
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDatasetEvent'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetEvent'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Create dataset event
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
/datasets/queuedEvent/{uri}:
delete:
description: 'Delete queued Dataset events for a Dataset.
*New in version 2.9.0*
'
operationId: delete_dataset_queued_events
parameters:
- $ref: '#/components/parameters/Before'
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete queued Dataset events for a Dataset.
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
get:
description: 'Get queued Dataset events for a Dataset
*New in version 2.9.0*
'
operationId: get_dataset_queued_events
parameters:
- $ref: '#/components/parameters/Before'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/QueuedEventCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get queued Dataset events for a Dataset.
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
parameters:
- $ref: '#/components/parameters/DatasetURI'
/datasets/{uri}:
get:
description: Get a dataset by uri.
operationId: get_dataset
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Dataset'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a dataset
tags:
- Dataset
x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
parameters:
- $ref: '#/components/parameters/DatasetURI'
/eventLogs:
get:
description: List log entries from event log.
operationId: get_event_logs
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
- $ref: '#/components/parameters/FilterDAGID'
- $ref: '#/components/parameters/FilterTaskID'
- $ref: '#/components/parameters/FilterRunID'
- $ref: '#/components/parameters/FilterMapIndex'
- $ref: '#/components/parameters/FilterTryNumber'
- $ref: '#/components/parameters/Event'
- $ref: '#/components/parameters/Owner'
- $ref: '#/components/parameters/Before'
- $ref: '#/components/parameters/After'
- description: 'One or more event names separated by commas. If set, only return
event logs with events matching this pattern.
*New in version 2.9.0*
'
in: query
name: included_events
required: false
schema:
type: string
- description: 'One or more event names separated by commas. If set, only return
event logs with events that do not match this pattern.
*New in version 2.9.0*
'
in: query
name: excluded_events
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EventLogCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List log entries
tags:
- EventLog
x-openapi-router-controller: airflow.api_connexion.endpoints.event_log_endpoint
/eventLogs/{event_log_id}:
get:
operationId: get_event_log
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EventLog'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a log entry
tags:
- EventLog
x-openapi-router-controller: airflow.api_connexion.endpoints.event_log_endpoint
parameters:
- $ref: '#/components/parameters/EventLogID'
/health:
get:
description: 'Get the status of Airflow''s metadatabase, triggerer and scheduler.
It includes info about
metadatabase and last heartbeat of scheduler and triggerer.
'
operationId: get_health
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/HealthInfo'
description: Success.
summary: Get instance status
tags:
- Monitoring
x-openapi-router-controller: airflow.api_connexion.endpoints.health_endpoint
/importErrors:
get:
operationId: get_import_errors
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ImportErrorCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List import errors
tags:
- ImportError
x-openapi-router-controller: airflow.api_connexion.endpoints.import_error_endpoint
/importErrors/{import_error_id}:
get:
operationId: get_import_error
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ImportError'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get an import error
tags:
- ImportError
x-openapi-router-controller: airflow.api_connexion.endpoints.import_error_endpoint
parameters:
- $ref: '#/components/parameters/ImportErrorID'
/parseDagFile/{file_token}:
parameters:
- $ref: '#/components/parameters/FileToken'
put:
description: 'Request re-parsing of existing DAG files using a file token.
'
operationId: reparse_dag_file
responses:
'201':
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Request re-parsing of a DAG file
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_parsing
/permissions:
get:
deprecated: true
description: 'Get a list of permissions.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: get_permissions
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List permissions
tags:
- Permission
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
/plugins:
get:
description: 'Get a list of loaded plugins.
*New in version 2.1.0*
'
operationId: get_plugins
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PluginCollection'
description: Success
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a list of loaded plugins
tags:
- Plugin
x-openapi-router-controller: airflow.api_connexion.endpoints.plugin_endpoint
/pools:
get:
operationId: get_pools
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PoolCollection'
description: List of pools.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List pools
tags:
- Pool
x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
post:
operationId: post_pool
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: Create a pool
tags:
- Pool
x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
/pools/{pool_name}:
delete:
operationId: delete_pool
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete a pool
tags:
- Pool
x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
get:
operationId: get_pool
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a pool
tags:
- Pool
x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
parameters:
- $ref: '#/components/parameters/PoolName'
patch:
operationId: patch_pool
parameters:
- $ref: '#/components/parameters/UpdateMask'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/AlreadyExists'
summary: Update a pool
tags:
- Pool
x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
/providers:
get:
description: 'Get a list of providers.
*New in version 2.1.0*
'
operationId: get_providers
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ProviderCollection'
- $ref: '#/components/schemas/CollectionInfo'
description: List of providers.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List providers
tags:
- Provider
x-openapi-router-controller: airflow.api_connexion.endpoints.provider_endpoint
/roles:
get:
deprecated: true
description: 'Get a list of roles.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: get_roles
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RoleCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List roles
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
post:
deprecated: true
description: 'Create a new role.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: post_role
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: Create a role
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
/roles/{role_name}:
delete:
deprecated: true
description: 'Delete a role.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: delete_role
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete a role
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
get:
deprecated: true
description: 'Get a role.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: get_role
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a role
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
parameters:
- $ref: '#/components/parameters/RoleName'
patch:
deprecated: true
description: 'Update a role.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: patch_role
parameters:
- $ref: '#/components/parameters/UpdateMask'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update a role
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
/users:
get:
deprecated: true
description: 'Get a list of users.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: get_users
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List users
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
post:
deprecated: true
description: 'Create a new user with unique username and email.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: post_user
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'409':
$ref: '#/components/responses/AlreadyExists'
summary: Create a user
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
/users/{username}:
delete:
deprecated: true
description: 'Delete a user with a specific username.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: delete_user
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete a user
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
get:
deprecated: true
description: 'Get a user with a specific username.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: get_user
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserCollectionItem'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a user
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
parameters:
- $ref: '#/components/parameters/Username'
patch:
deprecated: true
description: 'Update fields for a user.
*This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for
this operation instead.*
'
operationId: patch_user
parameters:
- $ref: '#/components/parameters/UpdateMask'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserCollectionItem'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update a user
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
/variables:
get:
description: The collection does not contain data. To get data, you must get
a single entity.
operationId: get_variables
parameters:
- $ref: '#/components/parameters/PageLimit'
- $ref: '#/components/parameters/PageOffset'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/VariableCollection'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: List variables
tags:
- Variable
x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
post:
operationId: post_variables
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
summary: Create a variable
tags:
- Variable
x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
/variables/{variable_key}:
delete:
operationId: delete_variable
responses:
'204':
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Delete a variable
tags:
- Variable
x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
get:
description: Get a variable by key.
operationId: get_variable
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
description: Success.
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Get a variable
tags:
- Variable
x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
parameters:
- $ref: '#/components/parameters/VariableKey'
patch:
description: Update a variable by key.
operationId: patch_variable
parameters:
- $ref: '#/components/parameters/UpdateMask'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
description: Success.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/PermissionDenied'
'404':
$ref: '#/components/responses/NotFound'
summary: Update a variable
tags:
- Variable
x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
/version:
get:
operationId: get_version
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/VersionInfo'
description: Success.
summary: Get version information
tags:
- Monitoring
x-openapi-router-controller: airflow.api_connexion.endpoints.version_endpoint
security:
- Basic: []
- GoogleOpenID: []
- Kerberos: []
servers:
- description: Apache Airflow Stable API.
url: /api/v1
tags:
- name: Config
- name: Connection
- name: DAG
- name: DAGRun
- name: DagWarning
- name: Dataset
- name: EventLog
- name: ImportError
- name: Monitoring
- name: Permission
- name: Plugin
- name: Pool
- name: Provider
- name: Role
- name: TaskInstance
- name: User
- name: Variable
- name: XCom