blob: 246f75904ae04e0c04d39b9a38bc743c3137fe2d [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
openapi: 3.0.3
info:
contact:
email: dev@airflow.apache.org
name: Apache Software Foundation
url: https://airflow.apache.org
description: |
# Overview
To facilitate management, Apache Airflow supports a range of REST API endpoints across its
objects.
This section provides an overview of the API design, methods, and supported use cases.
Most of the endpoints accept `JSON` as input and return `JSON` responses.
This means that you must usually add the following headers to your request:
```
Content-type: application/json
Accept: application/json
```
## Resources
The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its
endpoint's corresponding resource.
The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.
Resource names are used as part of endpoint URLs, as well as in API parameters and responses.
## CRUD Operations
The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources.
You can review the standards for these operations and their standard parameters below.
Some endpoints have special behavior as exceptions.
### Create
To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata
in the request body.
The response returns a `201 Created` response code upon success with the resource's metadata, including
its internal `id`, in the response body.
### Read
The HTTP `GET` request can be used to read a resource or to list a number of resources.
A resource's `id` can be submitted in the request parameters to read a specific resource.
The response usually returns a `200 OK` response code upon success, with the resource's metadata in
the response body.
If a `GET` request does not include a specific resource `id`, it is treated as a list request.
The response usually returns a `200 OK` response code upon success, with an object containing a list
of resources' metadata in the response body.
When reading resources, some common query parameters are usually available. e.g.:
```
v1/connections?limit=25&offset=25
```
|Query Parameter|Type|Description|
|---------------|----|-----------|
|limit|integer|Maximum number of objects to fetch. Usually 25 by default|
|offset|integer|Offset after which to start returning objects. For use with limit query parameter.|
### Update
Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request,
with the fields to modify in the request body.
The response usually returns a `200 OK` response code upon success, with information about the modified
resource in the response body.
### Delete
Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request.
The response usually returns a `204 No Content` response code upon success.
## Conventions
- Resource names are plural and expressed in camelCase.
- Names are consistent between URL parameter name and field name.
- Field names are in snake_case.
```json
{
"name": "string",
"slots": 0,
"occupied_slots": 0,
"used_slots": 0,
"queued_slots": 0,
"open_slots": 0
}
```
### Update Mask
Update mask is available as a query parameter in patch endpoints. It is used to notify the
API which fields you want to update. Using `update_mask` makes it easier to update objects
by helping the server know which fields to update in an object instead of updating all fields.
The update request ignores any fields that aren't specified in the field mask, leaving them with
their current values.
Example:
```
resource = request.get('/resource/my-id').json()
resource['my_field'] = 'new-value'
request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource))
```
## Versioning and Endpoint Lifecycle
- API versioning is not synchronized to specific releases of the Apache Airflow.
- APIs are designed to be backward compatible.
- Any changes to the API will first go through a deprecation phase.
# Trying the API
You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/),
[Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test
the Apache Airflow API.
Note that you will need to pass credentials data.
For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used:
```bash
curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \
-H 'Content-Type: application/json' \
--user "username:password" \
-d '{
"is_paused": true
}'
```
Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/),
it is possible to import the API specifications directly:
1. Download the API specification by clicking the **Download** button at top of this document
2. Import the JSON specification in the graphical tool of your choice.
- In *Postman*, you can click the **import** button at the top
- With *Insomnia*, you can just drag-and-drop the file on the UI
Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on
the **Code** button.
## Enabling CORS
[Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
is a browser security feature that restricts HTTP requests that are
initiated from scripts running in the browser.
For details on enabling/configuring CORS, see
[Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).
# Authentication
To be able to meet the requirements of many organizations, Airflow supports many authentication methods,
and it is even possible to add your own method.
If you want to check which auth backend is currently set, you can use
`airflow config get-value api auth_backends` command as in the example below.
```bash
$ airflow config get-value api auth_backends
airflow.api.auth.backend.basic_auth
```
The default is to deny all requests.
For details on configuring the authentication, see
[API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).
# Errors
We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807)
also known as Problem Details for HTTP APIs. As with our normal API responses,
your client must be prepared to gracefully handle additional members of the response.
## Unauthenticated
This indicates that the request has not been applied because it lacks valid authentication
credentials for the target resource. Please check that you have valid credentials.
## PermissionDenied
This response means that the server understood the request but refuses to authorize
it because it lacks sufficient rights to the resource. It happens when you do not have the
necessary permission to execute the action you performed. You need to get the appropriate
permissions in other to resolve this error.
## BadRequest
This response means that the server cannot or will not process the request due to something
that is perceived to be a client error (e.g., malformed request syntax, invalid request message
framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.
## NotFound
This client error response indicates that the server cannot find the requested resource.
## MethodNotAllowed
Indicates that the request method is known by the server but is not supported by the target resource.
## NotAcceptable
The target resource does not have a current representation that would be acceptable to the user
agent, according to the proactive negotiation header fields received in the request, and the
server is unwilling to supply a default representation.
## AlreadyExists
The request could not be completed due to a conflict with the current state of the target
resource, e.g. the resource it tries to create already exists.
## Unknown
This means that the server encountered an unexpected condition that prevented it from
fulfilling the request.
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
title: Airflow API (Stable)
version: 1.0.0
externalDocs:
url: https://airflow.apache.org/docs/apache-airflow/stable/
servers:
- description: Apache Airflow Stable API.
url: /api/v1
tags:
- name: Config
- name: Connection
- name: DAG
- name: DAGRun
- name: EventLog
- name: ImportError
- name: Monitoring
- name: Pool
- name: Provider
- name: TaskInstance
- name: Variable
- name: XCom
- name: Plugin
- name: Role
- name: Permission
- name: User
paths:
/connections:
get:
operationId: get_connections
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectionCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: Create a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
/connections/{connection_id}:
delete:
operationId: delete_connection
parameters:
- description: The connection ID.
explode: false
in: path
name: connection_id
required: true
schema:
type: string
style: simple
responses:
"204":
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Delete a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
get:
operationId: get_connection
parameters:
- description: The connection ID.
explode: false
in: path
name: connection_id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
patch:
operationId: patch_connection
parameters:
- description: The connection ID.
explode: false
in: path
name: connection_id
required: true
schema:
type: string
style: simple
- 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
required: false
schema:
items:
type: string
type: array
style: form
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Update a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
/connections/test:
post:
description: |
Test a 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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Test a connection
tags:
- Connection
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_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:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
- description: |
List of tags to filter results.
*New in version 2.2.0*
explode: true
in: query
name: tags
required: false
schema:
items:
type: string
type: array
style: form
- description: |
Only filter active DAGs.
*New in version 2.1.1*
explode: true
in: query
name: only_active
required: false
schema:
default: true
type: boolean
style: form
- description: |
If set, only return DAGs with dag_ids matching this pattern.
explode: true
in: query
name: dag_id_pattern
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DAGCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
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:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- description: |
List of tags to filter results.
*New in version 2.2.0*
explode: true
in: query
name: tags
required: false
schema:
items:
type: string
type: array
style: form
- 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
required: false
schema:
items:
type: string
type: array
style: form
- description: |
Only filter active DAGs.
*New in version 2.1.1*
explode: true
in: query
name: only_active
required: false
schema:
default: true
type: boolean
style: form
- description: |
If set, only update DAGs with dag_ids matching this pattern.
explode: true
in: query
name: dag_id_pattern
required: true
schema:
type: string
style: form
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
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
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
responses:
"204":
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
"409":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: An existing resource conflicts with the request.
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:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DAG'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get basic information about a DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
patch:
operationId: patch_dag
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- 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
required: false
schema:
items:
type: string
type: array
style: form
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Update a DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
/dags/{dag_id}/clearTaskInstances:
post:
description: |
Clears a set of task instances associated with the DAG for a specified date range.
operationId: post_clear_task_instances
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ClearTaskInstance'
description: Parameters of action
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceReferenceCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Clear a set of task instances
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/updateTaskInstancesState:
post:
description: |
Updates the state for multiple task instances simultaneously.
operationId: post_set_task_instances_state
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Set a state 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:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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.
explode: true
in: query
name: execution_date_gte
required: false
schema:
format: date-time
type: string
style: form
- 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.
explode: true
in: query
name: execution_date_lte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
explode: true
in: query
name: start_date_gte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects less or equal the specified date.
This can be combined with start_date_gte parameter to receive only the selected period.
explode: true
in: query
name: start_date_lte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
explode: true
in: query
name: end_date_gte
required: false
schema:
format: date-time
type: string
style: form
- 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.
explode: true
in: query
name: end_date_lte
required: false
schema:
format: date-time
type: string
style: form
- description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: state
required: false
schema:
items:
type: string
type: array
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRunCollection'
description: List of DAG runs.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
summary: List DAG runs
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
post:
operationId: post_dag_run
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"409":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: An existing resource conflicts with the request.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Trigger a new DAG run
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: List DAG runs (batch)
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
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
responses:
"204":
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Delete a DAG run
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
get:
operationId: get_dag_run
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a DAG run
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
patch:
description: |
Modify a DAG run.
*New in version 2.2.0*
operationId: update_dag_run_state
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDagRunState'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Modify a DAG run
tags:
- DAGRun
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
/eventLogs:
get:
description: List log entries from event log.
operationId: get_event_logs
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/EventLogCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
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
parameters:
- description: The event log ID.
explode: false
in: path
name: event_log_id
required: true
schema:
type: integer
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/EventLog'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a log entry
tags:
- EventLog
x-openapi-router-controller: airflow.api_connexion.endpoints.event_log_endpoint
/importErrors:
get:
operationId: get_import_errors
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ImportErrorCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
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
parameters:
- description: The import error ID.
explode: false
in: path
name: import_error_id
required: true
schema:
type: integer
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ImportError'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get an import error
tags:
- ImportError
x-openapi-router-controller: airflow.api_connexion.endpoints.import_error_endpoint
/pools:
get:
operationId: get_pools
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/PoolCollection'
description: List of pools.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: Create a pool
tags:
- Pool
x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
/pools/{pool_name}:
delete:
operationId: delete_pool
parameters:
- description: The pool name.
explode: false
in: path
name: pool_name
required: true
schema:
type: string
style: simple
responses:
"204":
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Delete a pool
tags:
- Pool
x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
get:
operationId: get_pool
parameters:
- description: The pool name.
explode: false
in: path
name: pool_name
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a pool
tags:
- Pool
x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
patch:
operationId: patch_pool
parameters:
- description: The pool name.
explode: false
in: path
name: pool_name
required: true
schema:
type: string
style: simple
- 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
required: false
schema:
items:
type: string
type: array
style: form
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
"409":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: An existing resource conflicts with the request.
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: List providers
tags:
- Provider
x-openapi-router-controller: airflow.api_connexion.endpoints.provider_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:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
- 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.
explode: true
in: query
name: execution_date_gte
required: false
schema:
format: date-time
type: string
style: form
- 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.
explode: true
in: query
name: execution_date_lte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
explode: true
in: query
name: start_date_gte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects less or equal the specified date.
This can be combined with start_date_gte parameter to receive only the selected period.
explode: true
in: query
name: start_date_lte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
explode: true
in: query
name: end_date_gte
required: false
schema:
format: date-time
type: string
style: form
- 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.
explode: true
in: query
name: end_date_lte
required: false
schema:
format: date-time
type: string
style: form
- 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.
explode: true
in: query
name: duration_gte
required: false
schema:
type: number
style: form
- 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.
explode: true
in: query
name: duration_lte
required: false
schema:
type: number
style: form
- description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: state
required: false
schema:
items:
type: string
type: array
style: form
- description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: pool
required: false
schema:
items:
type: string
type: array
style: form
- description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: queue
required: false
schema:
items:
type: string
type: array
style: form
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: List task instances
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}:
get:
operationId: get_task_instance
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
- description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get 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}/{map_index}:
get:
description: |
Get details of a mapped task instance.
*New in version 2.3.0*
operationId: get_mapped_task_instance
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
- description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
- description: The map index.
explode: false
in: path
name: map_index
required: true
schema:
type: integer
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get 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}/listMapped:
get:
description: |
Get details of all mapped task instances.
*New in version 2.3.0*
operationId: get_mapped_task_instances
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
- description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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.
explode: true
in: query
name: execution_date_gte
required: false
schema:
format: date-time
type: string
style: form
- 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.
explode: true
in: query
name: execution_date_lte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
explode: true
in: query
name: start_date_gte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects less or equal the specified date.
This can be combined with start_date_gte parameter to receive only the selected period.
explode: true
in: query
name: start_date_lte
required: false
schema:
format: date-time
type: string
style: form
- description: |
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
explode: true
in: query
name: end_date_gte
required: false
schema:
format: date-time
type: string
style: form
- 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.
explode: true
in: query
name: end_date_lte
required: false
schema:
format: date-time
type: string
style: form
- 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.
explode: true
in: query
name: duration_gte
required: false
schema:
type: number
style: form
- 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.
explode: true
in: query
name: duration_lte
required: false
schema:
type: number
style: form
- description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: state
required: false
schema:
items:
type: string
type: array
style: form
- description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: pool
required: false
schema:
items:
type: string
type: array
style: form
- description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: queue
required: false
schema:
items:
type: string
type: array
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: List mapped task instances
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: List task instances (batch)
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
/variables:
get:
description: The collection does not contain data. To get data, you must get
a single entity.
operationId: get_variables
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/VariableCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: Create a variable
tags:
- Variable
x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
/variables/{variable_key}:
delete:
operationId: delete_variable
parameters:
- description: The variable Key.
explode: false
in: path
name: variable_key
required: true
schema:
type: string
style: simple
responses:
"204":
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
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
parameters:
- description: The variable Key.
explode: false
in: path
name: variable_key
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a variable
tags:
- Variable
x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
patch:
description: Update a variable by key.
operationId: patch_variable
parameters:
- description: The variable Key.
explode: false
in: path
name: variable_key
required: true
schema:
type: string
style: simple
- 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
required: false
schema:
items:
type: string
type: array
style: form
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Update a variable
tags:
- Variable
x-openapi-router-controller: airflow.api_connexion.endpoints.variable_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:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
- description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/XComCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: List XCom entries
tags:
- XCom
x-openapi-router-controller: airflow.api_connexion.endpoints.xcom_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}:
get:
operationId: get_xcom_entry
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
- description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
- description: The XCom key.
explode: false
in: path
name: xcom_key
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/XCom'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get an XCom entry
tags:
- XCom
x-openapi-router-controller: airflow.api_connexion.endpoints.xcom_endpoint
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links:
get:
description: |
List extra links for task instance.
operationId: get_extra_links
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
- description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ExtraLinkCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: List extra links
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.extra_link_endpoint
/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.
operationId: get_log
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
- description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
- description: The task try number.
explode: false
in: path
name: task_try_number
required: true
schema:
type: integer
style: simple
- description: |
A full content will be returned.
By default, only the first fragment will be returned.
explode: true
in: query
name: full_content
required: false
schema:
type: boolean
style: form
- description: |
A token that allows you to continue fetching logs.
If passed, it will specify the location from which the download should be continued.
explode: true
in: query
name: token
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200'
text/plain:
schema:
$ref: '#/components/schemas/inline_response_200'
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get logs
tags:
- TaskInstance
x-openapi-router-controller: airflow.api_connexion.endpoints.log_endpoint
/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:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DAGDetail'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a simplified representation of DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
/dags/{dag_id}/tasks:
get:
operationId: get_tasks
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TaskCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get tasks for DAG
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.task_endpoint
/dags/{dag_id}/tasks/{task_id}:
get:
operationId: get_task
parameters:
- description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
- description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get simplified representation of a task
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.task_endpoint
/dagSources/{file_token}:
get:
description: |
Get a source code using file token.
operationId: get_dag_source
parameters:
- 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.
explode: false
in: path
name: file_token
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_1'
plain/text:
schema:
$ref: '#/components/schemas/inline_response_200_1'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
"406":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified Accept header is not allowed.
summary: Get a source code
tags:
- DAG
x-openapi-router-controller: airflow.api_connexion.endpoints.dag_source_endpoint
/config:
get:
operationId: get_config
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: Get current configuration
tags:
- Config
x-openapi-router-controller: airflow.api_connexion.endpoints.config_endpoint
/health:
get:
description: |
Get the status of Airflow's metadatabase and scheduler. It includes info about
metadatabase and last heartbeat of scheduler.
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
/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
/plugins:
get:
description: |
Get a list of loaded plugins.
*New in version 2.1.0*
operationId: get_plugins
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/PluginCollection'
description: Success
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a list of loaded plugins
tags:
- Plugin
x-openapi-router-controller: airflow.api_connexion.endpoints.plugin_endpoint
/roles:
get:
description: |
Get a list of roles.
*New in version 2.1.0*
operationId: get_roles
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RoleCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: List roles
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.role_and_permission_endpoint
post:
description: |
Create a new role.
*New in version 2.1.0*
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: Create a role
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.role_and_permission_endpoint
/roles/{role_name}:
delete:
description: |
Delete a role.
*New in version 2.1.0*
operationId: delete_role
parameters:
- description: The role name
explode: false
in: path
name: role_name
required: true
schema:
type: string
style: simple
responses:
"204":
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Delete a role
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.role_and_permission_endpoint
get:
description: |
Get a role.
*New in version 2.1.0*
operationId: get_role
parameters:
- description: The role name
explode: false
in: path
name: role_name
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a role
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.role_and_permission_endpoint
patch:
description: |
Update a role.
*New in version 2.1.0*
operationId: patch_role
parameters:
- description: The role name
explode: false
in: path
name: role_name
required: true
schema:
type: string
style: simple
- 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
required: false
schema:
items:
type: string
type: array
style: form
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Update a role
tags:
- Role
x-openapi-router-controller: airflow.api_connexion.endpoints.role_and_permission_endpoint
/permissions:
get:
description: |
Get a list of permissions.
*New in version 2.1.0*
operationId: get_permissions
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: List permissions
tags:
- Permission
x-openapi-router-controller: airflow.api_connexion.endpoints.role_and_permission_endpoint
/users:
get:
description: |
Get a list of users.
*New in version 2.1.0*
operationId: get_users
parameters:
- description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
- description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
- 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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/UserCollection'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
summary: List users
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.user_endpoint
post:
description: |
Create a new user with unique username and email.
*New in version 2.2.0*
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":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"409":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: An existing resource conflicts with the request.
summary: Create a user
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.user_endpoint
/users/{username}:
delete:
description: |
Delete a user with a specific username.
*New in version 2.2.0*
operationId: delete_user
parameters:
- description: |
The username of the user.
*New in version 2.1.0*
explode: false
in: path
name: username
required: true
schema:
type: string
style: simple
responses:
"204":
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Delete a user
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.user_endpoint
get:
description: |
Get a user with a specific username.
*New in version 2.1.0*
operationId: get_user
parameters:
- description: |
The username of the user.
*New in version 2.1.0*
explode: false
in: path
name: username
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/UserCollectionItem'
description: Success.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Get a user
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.user_endpoint
patch:
description: |
Update fields for a user.
*New in version 2.2.0*
operationId: patch_user
parameters:
- description: |
The username of the user.
*New in version 2.1.0*
explode: false
in: path
name: username
required: true
schema:
type: string
style: simple
- 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
required: false
schema:
items:
type: string
type: array
style: form
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
description: Success.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
"401":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
"403":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
summary: Update a user
tags:
- User
x-openapi-router-controller: airflow.api_connexion.endpoints.user_endpoint
components:
callbacks: {}
examples: {}
headers: {}
links: {}
parameters:
PageOffset:
description: The number of items to skip before starting to collect the result
set.
explode: true
in: query
name: offset
required: false
schema:
minimum: 0
type: integer
style: form
PageLimit:
description: The numbers of items to return.
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: integer
style: form
Username:
description: |
The username of the user.
*New in version 2.1.0*
explode: false
in: path
name: username
required: true
schema:
type: string
style: simple
RoleName:
description: The role name
explode: false
in: path
name: role_name
required: true
schema:
type: string
style: simple
ConnectionID:
description: The connection ID.
explode: false
in: path
name: connection_id
required: true
schema:
type: string
style: simple
DAGID:
description: The DAG ID.
explode: false
in: path
name: dag_id
required: true
schema:
type: string
style: simple
TaskID:
description: The task ID.
explode: false
in: path
name: task_id
required: true
schema:
type: string
style: simple
MapIndex:
description: The map index.
explode: false
in: path
name: map_index
required: true
schema:
type: integer
style: simple
DAGRunID:
description: The DAG run ID.
explode: false
in: path
name: dag_run_id
required: true
schema:
type: string
style: simple
TaskTryNumber:
description: The task try number.
explode: false
in: path
name: task_try_number
required: true
schema:
type: integer
style: simple
EventLogID:
description: The event log ID.
explode: false
in: path
name: event_log_id
required: true
schema:
type: integer
style: simple
ImportErrorID:
description: The import error ID.
explode: false
in: path
name: import_error_id
required: true
schema:
type: integer
style: simple
PoolName:
description: The pool name.
explode: false
in: path
name: pool_name
required: true
schema:
type: string
style: simple
VariableKey:
description: The variable Key.
explode: false
in: path
name: variable_key
required: true
schema:
type: string
style: simple
FullContent:
description: |
A full content will be returned.
By default, only the first fragment will be returned.
explode: true
in: query
name: full_content
required: false
schema:
type: boolean
style: form
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.
explode: true
in: query
name: token
required: false
schema:
type: string
style: form
XComKey:
description: The XCom key.
explode: false
in: path
name: xcom_key
required: true
schema:
type: string
style: simple
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.
explode: true
in: query
name: execution_date_gte
required: false
schema:
format: date-time
type: string
style: form
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.
explode: true
in: query
name: execution_date_lte
required: false
schema:
format: date-time
type: string
style: form
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.
explode: true
in: query
name: start_date_gte
required: false
schema:
format: date-time
type: string
style: form
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.
explode: true
in: query
name: start_date_lte
required: false
schema:
format: date-time
type: string
style: form
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.
explode: true
in: query
name: end_date_gte
required: false
schema:
format: date-time
type: string
style: form
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.
explode: true
in: query
name: end_date_lte
required: false
schema:
format: date-time
type: string
style: form
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.
explode: true
in: query
name: duration_gte
required: false
schema:
type: number
style: form
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.
explode: true
in: query
name: duration_lte
required: false
schema:
type: number
style: form
FilterState:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: state
required: false
schema:
items:
type: string
type: array
style: form
FilterPool:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: pool
required: false
schema:
items:
type: string
type: array
style: form
FilterQueue:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
explode: true
in: query
name: queue
required: false
schema:
items:
type: string
type: array
style: form
FilterTags:
description: |
List of tags to filter results.
*New in version 2.2.0*
explode: true
in: query
name: tags
required: false
schema:
items:
type: string
type: array
style: form
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*
explode: true
in: query
name: order_by
required: false
schema:
type: string
style: form
OnlyActive:
description: |
Only filter active DAGs.
*New in version 2.1.1*
explode: true
in: query
name: only_active
required: false
schema:
default: true
type: boolean
style: form
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.
explode: false
in: path
name: file_token
required: true
schema:
type: string
style: simple
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
required: false
schema:
items:
type: string
type: array
style: form
requestBodies: {}
responses:
BadRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client specified an invalid argument.
Unauthenticated:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Request not authenticated due to missing, invalid, authentication
info.
PermissionDenied:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client does not have sufficient permission.
NotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: A specified resource is not found.
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.
AlreadyExists:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: An existing resource conflicts with the request.
Unknown:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unknown server error.
schemas:
UserCollectionItem:
description: |
A user object.
*New in version 2.1.0*
example:
login_count: 0
failed_login_count: 6
created_on: created_on
last_login: last_login
roles:
- name: name
- name: name
last_name: last_name
active: true
first_name: first_name
email: email
changed_on: changed_on
username: username
properties:
first_name:
description: |
The user's first name.
*Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added.
minLength: 1
type: string
last_name:
description: |
The user's last name.
*Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added.
minLength: 1
type: string
username:
description: |
The username.
*Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added.
minLength: 1
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
active:
description: Whether the user is active
nullable: true
readOnly: true
type: boolean
last_login:
description: The last user login
format: datetime
nullable: true
readOnly: true
type: string
login_count:
description: The login count
nullable: true
readOnly: true
type: integer
failed_login_count:
description: The number of times the login failed
nullable: true
readOnly: true
type: integer
roles:
description: |
User roles.
*Changed in version 2.2.0*: Field is no longer read-only.
items:
$ref: '#/components/schemas/UserCollectionItem_roles'
type: array
created_on:
description: The date user was created
format: datetime
nullable: true
readOnly: true
type: string
changed_on:
description: The date user was changed
format: datetime
nullable: true
readOnly: true
type: string
type: object
User:
allOf:
- $ref: '#/components/schemas/UserCollectionItem'
- $ref: '#/components/schemas/User_allOf'
description: |
A user object with sensitive data.
*New in version 2.1.0*
type: object
UserCollection:
allOf:
- $ref: '#/components/schemas/UserCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of users.
*New in version 2.1.0*
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:
connection_id:
description: The connection ID.
type: string
conn_type:
description: The connection type.
type: string
host:
description: Host of the connection.
nullable: true
type: string
login:
description: Login of the connection.
nullable: true
type: string
schema:
description: Schema of the connection.
nullable: true
type: string
port:
description: Port of the connection.
nullable: true
type: integer
type: object
ConnectionCollection:
allOf:
- $ref: '#/components/schemas/ConnectionCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of connections.
*Changed in version 2.1.0*: 'total_entries' field is added.
type: object
Connection:
allOf:
- $ref: '#/components/schemas/ConnectionCollectionItem'
- $ref: '#/components/schemas/Connection_allOf'
description: Full representation of the connection.
ConnectionTest:
description: |
Connection test results.
*New in version 2.2.0*
example:
message: message
status: true
properties:
status:
description: The status of the request.
type: boolean
message:
description: The success or failure message of the request.
type: string
type: object
DAG:
description: DAG
example:
description: description
owners:
- owners
- owners
fileloc: fileloc
has_task_concurrency_limits: true
root_dag_id: root_dag_id
last_pickled: 2000-01-23T04:56:07.000+00:00
has_import_errors: true
last_parsed_time: 2000-01-23T04:56:07.000+00:00
next_dagrun_create_after: 2000-01-23T04:56:07.000+00:00
dag_id: dag_id
scheduler_lock: true
default_view: default_view
next_dagrun_data_interval_end: 2000-01-23T04:56:07.000+00:00
next_dagrun_data_interval_start: 2000-01-23T04:56:07.000+00:00
is_active: true
last_expired: 2000-01-23T04:56:07.000+00:00
max_active_runs: 6
file_token: file_token
max_active_tasks: 0
pickle_id: pickle_id
tags:
- name: name
- name: name
timetable_description: timetable_description
is_paused: true
is_subdag: true
next_dagrun: 2000-01-23T04:56:07.000+00:00
properties:
dag_id:
description: The ID of the DAG.
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
is_paused:
description: Whether the DAG is paused.
nullable: 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_subdag:
description: Whether the DAG is SubDAG.
readOnly: true
type: boolean
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
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
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
pickle_id:
description: |
Foreign key to the latest pickle_id
*New in version 2.3.0*
nullable: true
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
fileloc:
description: The absolute path to the file.
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
owners:
items:
type: string
readOnly: true
type: array
description:
description: |
User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.
nullable: true
readOnly: true
type: string
schedule_interval:
$ref: '#/components/schemas/ScheduleInterval'
timetable_description:
description: |
Timetable/Schedule Interval description.
*New in version 2.3.0*
nullable: true
readOnly: true
type: string
tags:
description: List of tags.
items:
$ref: '#/components/schemas/Tag'
nullable: true
readOnly: true
type: array
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_active_runs:
description: |
Maximum number of active DAG runs for the DAG
*New in version 2.3.0*
nullable: true
readOnly: true
type: integer
has_task_concurrency_limits:
description: |
Whether the DAG has task concurrency limits
*New in version 2.3.0*
nullable: true
readOnly: true
type: boolean
has_import_errors:
description: |
Whether the DAG has import errors
*New in version 2.3.0*
nullable: true
readOnly: true
type: boolean
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_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
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_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
type: object
DAGCollection:
allOf:
- $ref: '#/components/schemas/DAGCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of DAGs.
*Changed in version 2.1.0*: 'total_entries' field is added.
type: object
DAGRun:
example:
end_date: 2000-01-23T04:56:07.000+00:00
execution_date: 2000-01-23T04:56:07.000+00:00
external_trigger: true
conf: '{}'
data_interval_start: 2000-01-23T04:56:07.000+00:00
run_type: backfill
data_interval_end: 2000-01-23T04:56:07.000+00:00
last_scheduling_decision: 2000-01-23T04:56:07.000+00:00
dag_run_id: dag_run_id
dag_id: dag_id
logical_date: 2000-01-23T04:56:07.000+00:00
start_date: 2000-01-23T04:56:07.000+00:00
properties:
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
dag_id:
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
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
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
end_date:
format: date-time
nullable: true
readOnly: true
type: string
data_interval_start:
format: date-time
nullable: true
readOnly: true
type: string
data_interval_end:
format: date-time
nullable: true
readOnly: true
type: string
last_scheduling_decision:
format: date-time
nullable: true
readOnly: true
type: string
run_type:
enum:
- backfill
- manual
- scheduled
readOnly: true
type: string
state:
$ref: '#/components/schemas/DagState'
external_trigger:
default: true
readOnly: true
type: boolean
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
type: object
UpdateDagRunState:
description: |
Modify the state of a DAG run.
*New in version 2.2.0*
example:
state: success
properties:
state:
description: The state to set this DagRun
enum:
- success
- failed
- queued
type: string
type: object
DAGRunCollection:
allOf:
- $ref: '#/components/schemas/DAGRunCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of DAG runs.
*Changed in version 2.1.0*: 'total_entries' field is added.
type: object
EventLog:
description: Log of user operations via CLI or Web UI.
example:
owner: owner
execution_date: 2000-01-23T04:56:07.000+00:00
extra: extra
event_log_id: 0
task_id: task_id
dag_id: dag_id
event: event
when: 2000-01-23T04:56:07.000+00:00
properties:
event_log_id:
description: The event log ID
readOnly: true
type: integer
when:
description: The time when these events happened.
format: date-time
readOnly: true
type: string
dag_id:
description: The DAG ID
nullable: true
readOnly: true
type: string
task_id:
description: The DAG ID
nullable: true
readOnly: true
type: string
event:
description: A key describing the type of event.
readOnly: true
type: string
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
owner:
description: Name of the user who triggered these events a.
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
type: object
EventLogCollection:
allOf:
- $ref: '#/components/schemas/EventLogCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of event logs.
*Changed in version 2.1.0*: 'total_entries' field is added.
type: object
ImportError:
example:
filename: filename
stack_trace: stack_trace
import_error_id: 0
timestamp: timestamp
properties:
import_error_id:
description: The import error ID.
readOnly: true
type: integer
timestamp:
description: The time when this error was created.
format: datetime
readOnly: true
type: string
filename:
description: The filename
readOnly: true
type: string
stack_trace:
description: The full stackstrace..
readOnly: true
type: string
type: object
ImportErrorCollection:
allOf:
- $ref: '#/components/schemas/ImportErrorCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of import errors.
*Changed in version 2.1.0*: 'total_entries' field is added.
type: object
HealthInfo:
description: Instance status information.
example:
scheduler:
latest_scheduler_heartbeat: latest_scheduler_heartbeat
metadatabase: {}
properties:
metadatabase:
$ref: '#/components/schemas/MetadatabaseStatus'
scheduler:
$ref: '#/components/schemas/SchedulerStatus'
type: object
MetadatabaseStatus:
description: The status of the metadatabase.
example: {}
properties:
status:
$ref: '#/components/schemas/HealthStatus'
type: object
SchedulerStatus:
description: The status and the latest scheduler heartbeat.
example:
latest_scheduler_heartbeat: latest_scheduler_heartbeat
properties:
status:
$ref: '#/components/schemas/HealthStatus'
latest_scheduler_heartbeat:
description: The time the scheduler last do a heartbeat.
format: datetime
nullable: true
readOnly: true
type: string
type: object
Pool:
description: The pool
example:
queued_slots: 5
open_slots: 5
slots: 0
name: name
description: description
used_slots: 1
occupied_slots: 6
properties:
name:
description: The name of pool.
type: string
slots:
description: |
The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots.
type: integer
occupied_slots:
description: The number of slots used by running/queued tasks at the moment.
readOnly: true
type: integer
used_slots:
description: The number of slots used by running tasks 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
open_slots:
description: The number of free slots at the moment.
readOnly: true
type: integer
description:
description: |
The description of the pool.
*New in version 2.3.0*
nullable: true
type: string
type: object
PoolCollection:
allOf:
- $ref: '#/components/schemas/PoolCollection_allOf'
- $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:
package_name:
description: The package name of the provider.
type: string
description:
description: The description 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
SLAMiss:
example:
notification_sent: true
email_sent: true
execution_date: execution_date
description: description
task_id: task_id
dag_id: dag_id
timestamp: timestamp
properties:
task_id:
description: The task ID.
readOnly: true
type: string
dag_id:
description: The DAG ID.
type: string
execution_date:
format: datetime
type: string
email_sent:
type: boolean
timestamp:
format: datetime
type: string
description:
nullable: true
type: string
notification_sent:
type: boolean
type: object
TaskInstance:
example:
end_date: end_date
unixname: unixname
rendered_fields: '{}'
execution_date: execution_date
pool_slots: 5
pool: pool
task_id: task_id
pid: 2
max_tries: 1
operator: operator
sla_miss:
notification_sent: true
email_sent: true
execution_date: execution_date
description: description
task_id: task_id
dag_id: dag_id
timestamp: timestamp
duration: 0.8008281904610115
hostname: hostname
executor_config: executor_config
dag_run_id: dag_run_id
try_number: 6
dag_id: dag_id
priority_weight: 5
queue: queue
start_date: start_date
queued_when: queued_when
properties:
task_id:
type: string
dag_id:
type: string
dag_run_id:
description: |
The DagRun ID for this task instance
*New in version 2.3.0*
type: string
execution_date:
format: datetime
type: string
start_date:
format: datetime
nullable: true
type: string
end_date:
format: datetime
nullable: true
type: string
duration:
nullable: true
type: number
state:
$ref: '#/components/schemas/TaskState'
try_number:
type: integer
max_tries:
type: integer
hostname:
type: string
unixname:
type: string
pool:
type: string
pool_slots:
type: integer
queue:
type: string
priority_weight:
type: integer
operator:
description: |
*Changed in version 2.1.1*: Field becomes nullable.
nullable: true
type: string
queued_when:
nullable: true
type: string
pid:
nullable: true
type: integer
executor_config:
type: string
sla_miss:
$ref: '#/components/schemas/SLAMiss'
rendered_fields:
description: |
JSON object describing rendered fields.
*New in version 2.3.0*
type: object
type: object
TaskInstanceCollection:
allOf:
- $ref: '#/components/schemas/TaskInstanceCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of task instances.
*Changed in version 2.1.0*: 'total_entries' field is added.
type: object
TaskInstanceReference:
example:
execution_date: execution_date
dag_run_id: dag_run_id
task_id: task_id
dag_id: dag_id
properties:
task_id:
description: The task ID.
readOnly: true
type: string
dag_id:
description: The DAG ID.
readOnly: true
type: string
execution_date:
format: datetime
readOnly: true
type: string
dag_run_id:
description: The DAG run ID.
readOnly: true
type: string
type: object
TaskInstanceReferenceCollection:
example:
task_instances:
- execution_date: execution_date
dag_run_id: dag_run_id
task_id: task_id
dag_id: dag_id
- execution_date: execution_date
dag_run_id: dag_run_id
task_id: task_id
dag_id: dag_id
properties:
task_instances:
items:
$ref: '#/components/schemas/TaskInstanceReference'
type: array
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:
key:
type: string
type: object
VariableCollection:
allOf:
- $ref: '#/components/schemas/VariableCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of variables.
*Changed in version 2.1.0*: 'total_entries' field is added.
type: object
Variable:
allOf:
- $ref: '#/components/schemas/VariableCollectionItem'
- $ref: '#/components/schemas/Variable_allOf'
description: Full representation of Variable
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:
key:
type: string
timestamp:
format: datetime
type: string
execution_date:
format: datetime
type: string
task_id:
type: string
dag_id:
type: string
type: object
XComCollection:
allOf:
- $ref: '#/components/schemas/XComCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
Collection of XCom entries.
*Changed in version 2.1.0*: 'total_entries' field is added.
type: object
XCom:
allOf:
- $ref: '#/components/schemas/XComCollectionItem'
- $ref: '#/components/schemas/XCom_allOf'
description: Full representations of XCom entry.
DAGDetail:
allOf:
- $ref: '#/components/schemas/DAG'
- $ref: '#/components/schemas/DAGDetail_allOf'
description: |
DAG details.
For details see:
[airflow.models.DAG](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/index.html#airflow.models.DAG)
ExtraLink:
description: Additional links containing additional information about the task.
example:
name: name
href: href
class_ref:
class_name: class_name
module_path: module_path
properties:
class_ref:
$ref: '#/components/schemas/ClassReference'
name:
readOnly: true
type: string
href:
readOnly: true
type: string
type: object
ExtraLinkCollection:
description: The collection of extra links.
example:
extra_links:
- name: name
href: href
class_ref:
class_name: class_name
module_path: module_path
- name: name
href: href
class_ref:
class_name: class_name
module_path: module_path
properties:
extra_links:
items:
$ref: '#/components/schemas/ExtraLink'
type: array
type: object
Task:
description: |
For details see:
[airflow.models.BaseOperator](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/index.html#airflow.models.BaseOperator)
example:
owner: owner
end_date: 2000-01-23T04:56:07.000+00:00
ui_fgcolor: ui_fgcolor
extra_links:
- class_ref:
class_name: class_name
module_path: module_path
- class_ref:
class_name: class_name
module_path: module_path
depends_on_past: true
ui_color: ui_color
pool_slots: 6.027456183070403
pool: pool
task_id: task_id
retry_exponential_backoff: true
downstream_task_ids:
- downstream_task_ids
- downstream_task_ids
sub_dag:
description: description
owners:
- owners
- owners
fileloc: fileloc
has_task_concurrency_limits: true
root_dag_id: root_dag_id
last_pickled: 2000-01-23T04:56:07.000+00:00
has_import_errors: true
last_parsed_time: 2000-01-23T04:56:07.000+00:00
next_dagrun_create_after: 2000-01-23T04:56:07.000+00:00
dag_id: dag_id
scheduler_lock: true
default_view: default_view
next_dagrun_data_interval_end: 2000-01-23T04:56:07.000+00:00
next_dagrun_data_interval_start: 2000-01-23T04:56:07.000+00:00
is_active: true
last_expired: 2000-01-23T04:56:07.000+00:00
max_active_runs: 6
file_token: file_token
max_active_tasks: 0
pickle_id: pickle_id
tags:
- name: name
- name: name
timetable_description: timetable_description
is_paused: true
is_subdag: true
next_dagrun: 2000-01-23T04:56:07.000+00:00
retries: 0.8008281904610115
template_fields:
- template_fields
- template_fields
retry_delay:
seconds: 5
__type: __type
days: 1
microseconds: 5
is_mapped: true
wait_for_downstream: true
priority_weight: 2.3021358869347655
class_ref:
class_name: class_name
module_path: module_path
execution_timeout:
seconds: 5
__type: __type
days: 1
microseconds: 5
queue: queue
start_date: 2000-01-23T04:56:07.000+00:00
properties:
class_ref:
$ref: '#/components/schemas/ClassReference'
task_id:
readOnly: true
type: string
owner:
readOnly: true
type: string
start_date:
format: date-time
readOnly: true
type: string
end_date:
format: date-time
nullable: true
readOnly: true
type: string
trigger_rule:
$ref: '#/components/schemas/TriggerRule'
extra_links:
items:
$ref: '#/components/schemas/Task_extra_links'
readOnly: true
type: array
depends_on_past:
readOnly: true
type: boolean
is_mapped:
readOnly: true
type: boolean
wait_for_downstream:
readOnly: true
type: boolean
retries:
readOnly: true
type: number
queue:
readOnly: true
type: string
pool:
readOnly: true
type: string
pool_slots:
readOnly: true
type: number
execution_timeout:
$ref: '#/components/schemas/TimeDelta'
retry_delay:
$ref: '#/components/schemas/TimeDelta'
retry_exponential_backoff:
readOnly: true
type: boolean
priority_weight:
readOnly: true
type: number
weight_rule:
$ref: '#/components/schemas/WeightRule'
ui_color:
description: Color in hexadecimal notation.
pattern: ^#[a-fA-F0-9]{3,6}$
type: string
ui_fgcolor:
description: Color in hexadecimal notation.
pattern: ^#[a-fA-F0-9]{3,6}$
type: string
template_fields:
items:
type: string
readOnly: true
type: array
sub_dag:
$ref: '#/components/schemas/DAG'
downstream_task_ids:
items:
type: string
readOnly: true
type: array
type: object
TaskCollection:
description: Collection of tasks.
example:
tasks:
- owner: owner
end_date: 2000-01-23T04:56:07.000+00:00
ui_fgcolor: ui_fgcolor
extra_links:
- class_ref:
class_name: class_name
module_path: module_path
- class_ref:
class_name: class_name
module_path: module_path
depends_on_past: true
ui_color: ui_color
pool_slots: 6.027456183070403
pool: pool
task_id: task_id
retry_exponential_backoff: true
downstream_task_ids:
- downstream_task_ids
- downstream_task_ids
sub_dag:
description: description
owners:
- owners
- owners
fileloc: fileloc
has_task_concurrency_limits: true
root_dag_id: root_dag_id
last_pickled: 2000-01-23T04:56:07.000+00:00
has_import_errors: true
last_parsed_time: 2000-01-23T04:56:07.000+00:00
next_dagrun_create_after: 2000-01-23T04:56:07.000+00:00
dag_id: dag_id
scheduler_lock: true
default_view: default_view
next_dagrun_data_interval_end: 2000-01-23T04:56:07.000+00:00
next_dagrun_data_interval_start: 2000-01-23T04:56:07.000+00:00
is_active: true
last_expired: 2000-01-23T04:56:07.000+00:00
max_active_runs: 6
file_token: file_token
max_active_tasks: 0
pickle_id: pickle_id
tags:
- name: name
- name: name
timetable_description: timetable_description
is_paused: true
is_subdag: true
next_dagrun: 2000-01-23T04:56:07.000+00:00
retries: 0.8008281904610115
template_fields:
- template_fields
- template_fields
retry_delay:
seconds: 5
__type: __type
days: 1
microseconds: 5
is_mapped: true
wait_for_downstream: true
priority_weight: 2.3021358869347655
class_ref:
class_name: class_name
module_path: module_path
execution_timeout:
seconds: 5
__type: __type
days: 1
microseconds: 5
queue: queue
start_date: 2000-01-23T04:56:07.000+00:00
- owner: owner
end_date: 2000-01-23T04:56:07.000+00:00
ui_fgcolor: ui_fgcolor
extra_links:
- class_ref:
class_name: class_name
module_path: module_path
- class_ref:
class_name: class_name
module_path: module_path
depends_on_past: true
ui_color: ui_color
pool_slots: 6.027456183070403
pool: pool
task_id: task_id
retry_exponential_backoff: true
downstream_task_ids:
- downstream_task_ids
- downstream_task_ids
sub_dag:
description: description
owners:
- owners
- owners
fileloc: fileloc
has_task_concurrency_limits: true
root_dag_id: root_dag_id
last_pickled: 2000-01-23T04:56:07.000+00:00
has_import_errors: true
last_parsed_time: 2000-01-23T04:56:07.000+00:00
next_dagrun_create_after: 2000-01-23T04:56:07.000+00:00
dag_id: dag_id
scheduler_lock: true
default_view: default_view
next_dagrun_data_interval_end: 2000-01-23T04:56:07.000+00:00
next_dagrun_data_interval_start: 2000-01-23T04:56:07.000+00:00
is_active: true
last_expired: 2000-01-23T04:56:07.000+00:00
max_active_runs: 6
file_token: file_token
max_active_tasks: 0
pickle_id: pickle_id
tags:
- name: name
- name: name
timetable_description: timetable_description
is_paused: true
is_subdag: true
next_dagrun: 2000-01-23T04:56:07.000+00:00
retries: 0.8008281904610115
template_fields:
- template_fields
- template_fields
retry_delay:
seconds: 5
__type: __type
days: 1
microseconds: 5
is_mapped: true
wait_for_downstream: true
priority_weight: 2.3021358869347655
class_ref:
class_name: class_name
module_path: module_path
execution_timeout:
seconds: 5
__type: __type
days: 1
microseconds: 5
queue: queue
start_date: 2000-01-23T04:56:07.000+00:00
properties:
tasks:
items:
$ref: '#/components/schemas/Task'
type: array
type: object
PluginCollectionItem:
description: |
A plugin Item.
*New in version 2.1.0*
properties:
number:
description: The plugin number
type: string
name:
description: The name of the plugin
type: string
hooks:
description: The plugin hooks
items:
nullable: true
type: string
type: array
executors:
description: The plugin executors
items:
nullable: true
type: string
type: array
macros:
description: The plugin macros
items:
nullable: true
type: object
type: array
flask_blueprints:
description: The flask blueprints
items:
nullable: true
type: object
type: array
appbuilder_views:
description: The appuilder views
items:
nullable: true
type: object
type: array
appbuilder_menu_items:
description: The Flask Appbuilder menu items
items:
nullable: true
type: object
type: array
global_operator_extra_links:
description: The global operator extra links
items:
nullable: true
type: object
type: array
operator_extra_links:
description: Operator extra links
items:
nullable: true
type: object
type: array
source:
description: The plugin source
nullable: true
type: string
type: object
PluginCollection:
allOf:
- $ref: '#/components/schemas/PluginCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
A collection of plugin.
*New in version 2.1.0*
type: object
Role:
description: |
a role item.
*New in version 2.1.0*
example:
name: name
actions:
- resource:
name: name
action:
name: name
- resource:
name: name
action:
name: name
properties:
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
actions:
items:
$ref: '#/components/schemas/ActionResource'
type: array
type: object
RoleCollection:
allOf:
- $ref: '#/components/schemas/RoleCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
A collection of roles.
*New in version 2.1.0*
type: object
Action:
description: |
An action Item.
*New in version 2.1.0*
example:
name: name
properties:
name:
description: The name of the permission "action"
nullable: false
type: string
type: object
ActionCollection:
allOf:
- $ref: '#/components/schemas/ActionCollection_allOf'
- $ref: '#/components/schemas/CollectionInfo'
description: |
A collection of actions.
*New in version 2.1.0*
type: object
Resource:
description: |
A resource on which permissions are granted.
*New in version 2.1.0*
example:
name: name
properties:
name:
description: The name of the resource
nullable: false
type: string
type: object
ActionResource:
description: |
The Action-Resource item.
*New in version 2.1.0*
example:
resource:
name: name
action:
name: name
properties:
action:
$ref: '#/components/schemas/Action'
resource:
$ref: '#/components/schemas/Resource'
type: object
ConfigOption:
description: The option of configuration.
example:
value: value
key: key
properties:
key:
readOnly: true
type: string
value:
readOnly: true
type: string
type: object
ConfigSection:
description: The section of configuration.
example:
name: name
options:
- value: value
key: key
- value: value
key: key
properties:
name:
readOnly: true
type: string
options:
items:
$ref: '#/components/schemas/ConfigOption'
type: array
type: object
Config:
description: The configuration.
example:
sections:
- name: name
options:
- value: value
key: key
- value: value
key: key
- name: name
options:
- value: value
key: key
- value: value
key: key
properties:
sections:
items:
$ref: '#/components/schemas/ConfigSection'
type: array
type: object
VersionInfo:
description: Version information.
example:
git_version: git_version
version: version
properties:
version:
description: The version of Airflow
type: string
git_version:
description: The git version (including git commit hash)
nullable: true
type: string
type: object
ClearTaskInstance:
example:
end_date: end_date
only_running: false
reset_dag_runs: true
include_parentdag: true
include_subdags: true
dry_run: true
only_failed: true
task_ids:
- task_ids
- task_ids
start_date: start_date
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
task_ids:
description: |
A list of task ids to clear.
*New in version 2.1.0*
items:
type: string
minItems: 1
type: array
start_date:
description: The minimum execution date to clear.
format: datetime
type: string
end_date:
description: The maximum execution date to clear.
format: datetime
type: string
only_failed:
default: true
description: Only clear failed tasks.
type: boolean
only_running:
default: false
description: Only clear running tasks.
type: boolean
include_subdags:
description: Clear tasks in subdags and clear external tasks indicated by
ExternalTaskMarker.
type: boolean
include_parentdag:
description: Clear tasks in the parent dag of the subdag.
type: boolean
reset_dag_runs:
description: Set state of DAG runs to RUNNING.
type: boolean
type: object
UpdateTaskInstancesState:
example:
include_future: true
include_past: true
execution_date: execution_date
dag_run_id: dag_run_id
include_upstream: true
new_state: success
dry_run: true
task_id: task_id
include_downstream: true
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 affected, but won't be modified in any way.
type: boolean
task_id:
description: The task ID.
type: string
execution_date:
description: The execution date. Either set this or dag_run_id but not both.
format: datetime
type: string
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
include_upstream:
description: If set to true, upstream tasks are also affected.
type: boolean
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
new_state:
description: Expected new state.
enum:
- success
- failed
type: string
type: object
ListDagRunsForm:
example:
start_date_gte: 2000-01-23T04:56:07.000+00:00
end_date_lte: 2000-01-23T04:56:07.000+00:00
execution_date_gte: 2000-01-23T04:56:07.000+00:00
page_limit: 1
execution_date_lte: 2000-01-23T04:56:07.000+00:00
order_by: order_by
page_offset: 0
end_date_gte: 2000-01-23T04:56:07.000+00:00
start_date_lte: 2000-01-23T04:56:07.000+00:00
dag_ids:
- dag_ids
- dag_ids
states:
- states
- states
properties:
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_offset:
description: The number of items to skip before starting to collect the
result set.
minimum: 0
type: integer
page_limit:
default: 100
description: The numbers of items to return.
minimum: 1
type: integer
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
states:
description: |-
Return objects with specific states.
The value can be repeated to retrieve multiple matching values (OR condition).
items:
type: string
type: array
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
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
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
type: object
ListTaskInstanceForm:
example:
start_date_gte: 2000-01-23T04:56:07.000+00:00
end_date_lte: 2000-01-23T04:56:07.000+00:00
execution_date_gte: 2000-01-23T04:56:07.000+00:00
duration_gte: 0.8008281904610115
execution_date_lte: 2000-01-23T04:56:07.000+00:00
pool:
- pool
- pool
duration_lte: 6.027456183070403
end_date_gte: 2000-01-23T04:56:07.000+00:00
state:
- null
- null
start_date_lte: 2000-01-23T04:56:07.000+00:00
dag_ids:
- dag_ids
- dag_ids
queue:
- queue
- queue
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
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
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
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
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
state:
description: The value can be repeated to retrieve multiple matching values
(OR condition).
items:
$ref: '#/components/schemas/TaskState'
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
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
readOnly: true
TimeDelta:
description: Time delta
example:
seconds: 5
__type: __type
days: 1
microseconds: 5
properties:
__type:
type: string
days:
type: integer
seconds:
type: integer
microseconds:
type: integer
required:
- __type
- days
- microseconds
- seconds
type: object
RelativeDelta:
description: Relative delta
properties:
__type:
type: string
years:
type: integer
months:
type: integer
days:
type: integer
leapdays:
type: integer
hours:
type: integer
minutes:
type: integer
seconds:
type: integer
microseconds:
type: integer
year:
type: integer
month:
type: integer
day:
type: integer
hour:
type: integer
minute:
type: integer
second:
type: integer
microsecond:
type: integer
required:
- __type
- day
- days
- hour
- hours
- leapdays
- microsecond
- microseconds
- minute
- minutes
- month
- months
- second
- seconds
- year
- years
type: object
CronExpression:
description: Cron expression
nullable: true
properties:
__type:
type: string
value:
type: string
required:
- __type
- value
type: object
Timezone:
type: string
Tag:
description: Tag
example:
name: name
properties:
name:
type: string
type: object
Color:
description: Color in hexadecimal notation.
pattern: ^#[a-fA-F0-9]{3,6}$
type: string
ClassReference:
description: Class reference
example:
class_name: class_name
module_path: module_path
properties:
module_path:
readOnly: true
type: string
class_name:
readOnly: true
type: string
type: object
Error:
description: |
[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.
properties:
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
title:
description: A short, human-readable summary of the problem type.
type: string
status:
description: The HTTP status code generated by the API server for this occurrence
of the problem.
type: number
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
required:
- status
- title
- type
type: object
CollectionInfo:
description: Metadata about collection.
properties:
total_entries:
description: Count of objects in the current result set.
type: integer
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' and 'sensing' is added as a possible value.
enum:
- success
- running
- failed
- upstream_failed
- skipped
- up_for_retry
- up_for_reschedule
- queued
- none
- scheduled
- deferred
- sensing
- removed
type: string
DagState:
description: |
DAG State.
*Changed in version 2.1.3*: 'queued' is added as a possible value.
enum:
- queued
- running
- success
- failed
type: string
TriggerRule:
description: |
Trigger rule.
*Changed in version 2.2.0*: 'none_failed_min_one_success' is added as a possible value.
enum:
- all_success
- all_failed
- all_done
- one_success
- one_failed
- none_failed
- none_skipped
- none_failed_or_skipped
- none_failed_min_one_success
- dummy
type: string
WeightRule:
description: Weight rule.
enum:
- downstream
- upstream
- absolute
type: string
HealthStatus:
description: Health status
enum:
- healthy
- unhealthy
type: string
inline_response_200:
example:
continuation_token: continuation_token
content: content
properties:
continuation_token:
type: string
content:
type: string
type: object
inline_response_200_1:
example:
content: content
properties:
content:
type: string
type: object
UserCollectionItem_roles:
example:
name: name
nullable: true
properties:
name:
type: string
type: object
User_allOf:
properties:
password:
type: string
writeOnly: true
type: object
UserCollection_allOf:
properties:
users:
items:
$ref: '#/components/schemas/UserCollectionItem'
type: array
type: object
ConnectionCollection_allOf:
properties:
connections:
items:
$ref: '#/components/schemas/ConnectionCollectionItem'
type: array
type: object
Connection_allOf:
properties:
password:
description: Password of the connection.
format: password
type: string
writeOnly: true
extra:
description: Other values that cannot be put into another field, e.g. RSA
keys.
nullable: true
type: string
type: object
DAGCollection_allOf:
properties:
dags:
items:
$ref: '#/components/schemas/DAG'
type: array
type: object
DAGRunCollection_allOf:
properties:
dag_runs:
items:
$ref: '#/components/schemas/DAGRun'
type: array
type: object
EventLogCollection_allOf:
properties:
event_logs:
items:
$ref: '#/components/schemas/EventLog'
type: array
type: object
ImportErrorCollection_allOf:
properties:
import_errors:
items:
$ref: '#/components/schemas/ImportError'
type: array
type: object
PoolCollection_allOf:
properties:
pools:
items:
$ref: '#/components/schemas/Pool'
type: array
type: object
TaskInstanceCollection_allOf:
properties:
task_instances:
items:
$ref: '#/components/schemas/TaskInstance'
type: array
type: object
VariableCollection_allOf:
properties:
variables:
items:
$ref: '#/components/schemas/VariableCollectionItem'
type: array
type: object
Variable_allOf:
properties:
value:
type: string
type: object
XComCollection_allOf:
properties:
xcom_entries:
items:
$ref: '#/components/schemas/XComCollectionItem'
type: array
type: object
XCom_allOf:
properties:
value:
description: The value
type: string
type: object
DAGDetail_allOf:
properties:
timezone:
type: string
catchup:
readOnly: true
type: boolean
orientation:
readOnly: true
type: string
concurrency:
readOnly: true
type: number
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
dag_run_timeout:
$ref: '#/components/schemas/TimeDelta'
doc_md:
nullable: true
readOnly: true
type: string
default_view:
readOnly: true
type: string
params:
description: |
User-specified DAG params.
*New in version 2.0.1*
readOnly: true
type: object
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
template_search_path:
description: |
The template search path.
*New in version 2.3.0*
items:
type: string
nullable: true
type: array
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
type: object
Task_extra_links:
example:
class_ref:
class_name: class_name
module_path: module_path
properties:
class_ref:
$ref: '#/components/schemas/ClassReference'
type: object
PluginCollection_allOf:
properties:
plugins:
items:
$ref: '#/components/schemas/PluginCollectionItem'
type: array
type: object
RoleCollection_allOf:
properties:
roles:
items:
$ref: '#/components/schemas/Role'
type: array
type: object
ActionCollection_allOf:
properties:
actions:
items:
$ref: '#/components/schemas/Action'
type: array
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