@itentialopensource/adapter-apache_airflow
Version:
This adapter integrates with system described as: Apache Airflow
5,961 lines • 188 kB
YAML
openapi: 3.0.0
info:
title: Airflow API (Stable)
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.
# Summary of Changes
| Airflow version | Description |
|-|-|
| v2.0 | Initial release |
| v2.0.2 | Added /plugins endpoint |
| v2.1 | New providers endpoint |
# 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_backend` command as in the example below.
```bash
$ airflow config get-value api auth_backend
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.
contact:
name: Apache Software Foundation
url: https://airflow.apache.org
email: dev@airflow.apache.org
version: '1.0.0'
servers:
- url: /api/v1
description: Apache Airflow Stable API.
variables: {}
paths:
/config:
get:
tags:
- Config
summary: get_config
description: Get current configuration
operationId: get_config
parameters: []
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Config'
- description: The configuration.
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
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
text/plain:
schema:
type: string
example: >
[core]
dags_folder = /home/user/my-dags-folder
[smtp]
smtp_host = localhost
smtp_mail_from = airflow@example.com
example: >
[core]
dags_folder = /home/user/my-dags-folder
[smtp]
smtp_host = localhost
smtp_mail_from = airflow@example.com
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/connections:
get:
tags:
- Connection
summary: get_connections
description: List connections
operationId: get_connections
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ConnectionCollection'
- description: Collection of connections.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
post:
tags:
- Connection
summary: post_connection
description: Create a connection
operationId: post_connection
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Connection'
- description: Full representation of the connection.
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/connections/{connection_id}:
get:
tags:
- Connection
summary: get_connection
description: Get a connection
operationId: get_connection
parameters:
- name: connection_id
in: path
description: The connection ID.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Connection'
- description: Full representation of the connection.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
patch:
tags:
- Connection
summary: patch_connection
description: Update a connection
operationId: patch_connection
parameters:
- name: connection_id
in: path
description: The connection ID.
required: true
style: simple
schema:
type: string
- name: update_mask
in: query
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.
style: form
explode: true
schema:
type: array
items:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Connection'
- description: Full representation of the connection.
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
delete:
tags:
- Connection
summary: delete_connection
description: Delete a connection
operationId: delete_connection
parameters:
- name: connection_id
in: path
description: The connection ID.
required: true
style: simple
schema:
type: string
responses:
'204':
description: Success.
headers: {}
content: {}
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/connections/test:
post:
tags:
- Connection
summary: test_connection
description: Test a connection
operationId: test_connection
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ConnectionTest'
- description: Connection test results.
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags:
get:
tags:
- DAG
summary: get_dags
description: List DAGs
operationId: get_dags
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
- name: tags
in: query
description: List of tags to filter results
style: form
explode: true
schema:
type: array
items:
type: string
- name: only_active
in: query
description: Only return active DAGs.
style: form
explode: true
schema:
type: boolean
default: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DAGCollection'
- description: Collection of DAGs.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}:
get:
tags:
- DAG
summary: get_dag
description: >
Presents only information available in database (DAGModel).
If you need detailed information, consider using GET /dags/{dag_id}/details.
operationId: get_dag
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DAG'
- description: DAG
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
patch:
tags:
- DAG
summary: patch_dag
description: Update a DAG
operationId: patch_dag
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: update_mask
in: query
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.
style: form
explode: true
schema:
type: array
items:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DAG'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DAG'
- description: DAG
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
delete:
tags:
- DAG
summary: delete_dag
description: >
Deletes all metadata related to the DAG, including finished DAG Runs and Tasks. Logs are not deleted. This action cannot be undone.
operationId: delete_dag
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
responses:
'204':
description: Success.
headers: {}
content: {}
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'409':
description: An existing resource conflicts with the request.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/clearTaskInstances:
post:
tags:
- DAG
summary: post_clear_task_instances
description: >
Clears a set of task instances associated with the DAG for a specified date range.
operationId: post_clear_task_instances
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
requestBody:
description: Parameters of action
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ClearTaskInstance'
- description: Parameters of action
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceReferenceCollection'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/updateTaskInstancesState:
post:
tags:
- DAG
summary: post_set_task_instances_state
description: >
Updates the state for multiple task instances simultaneously.
operationId: post_set_task_instances_state
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
requestBody:
description: Parameters of action
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UpdateTaskInstancesState'
- description: Parameters of action
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstanceReferenceCollection'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/details:
get:
tags:
- DAG
summary: get_dag_details
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:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DAGDetail'
- 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]
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/tasks:
get:
tags:
- DAG
summary: get_tasks
description: Get tasks for DAG
operationId: get_tasks
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/TaskCollection'
- description: Collection of tasks.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/tasks/{task_id}:
get:
tags:
- DAG
summary: get_task
description: Get simplified representation of a task
operationId: get_task
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: task_id
in: path
description: The task ID.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Task'
- description: >-
For details see:
(airflow.models.BaseOperator)[https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/index.html#airflow.models.BaseOperator]
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dagSources/{file_token}:
get:
tags:
- DAG
summary: get_dag_source
description: >
Get a source code using file token.
operationId: get_dag_source
parameters:
- name: file_token
in: path
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.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DagSourcesResponse'
plain/text:
schema: {}
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'406':
description: A specified Accept header is not allowed.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/dagRuns:
get:
tags:
- DAGRun
summary: get_dag_runs
description: >
This endpoint allows specifying `~` as the dag_id to retrieve DAG runs for all DAGs.
operationId: get_dag_runs
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: execution_date_gte
in: query
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.
style: form
explode: true
schema:
type: string
format: date-time
- name: execution_date_lte
in: query
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.
style: form
explode: true
schema:
type: string
format: date-time
- name: start_date_gte
in: query
description: >-
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
style: form
explode: true
schema:
type: string
format: date-time
- name: start_date_lte
in: query
description: >-
Returns objects less or equal the specified date.
This can be combined with start_date_gte parameter to receive only the selected period.
style: form
explode: true
schema:
type: string
format: date-time
- name: end_date_gte
in: query
description: >-
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
style: form
explode: true
schema:
type: string
format: date-time
- name: end_date_lte
in: query
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.
style: form
explode: true
schema:
type: string
format: date-time
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: List of DAG runs.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DAGRunCollection'
- description: Collection of DAG runs.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
post:
tags:
- DAGRun
summary: post_dag_run
description: Trigger a new DAG run
operationId: post_dag_run
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'409':
description: An existing resource conflicts with the request.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/~/dagRuns/list:
post:
tags:
- DAGRun
summary: get_dag_runs_batch
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
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ListDagRunsForm'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DAGRunCollection'
- description: Collection of DAG runs.
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/dagRuns/{dag_run_id}:
get:
tags:
- DAGRun
summary: get_dag_run
description: Get a DAG run
operationId: get_dag_run
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
delete:
tags:
- DAGRun
summary: delete_dag_run
description: Delete a DAG run
operationId: delete_dag_run
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
responses:
'204':
description: Success.
headers: {}
content: {}
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
patch:
tags:
- UpdateDagRunState
summary: update_dag_run_state
description: Modify a DAG run
operationId: update_dag_run_state
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDagRunState'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DAGRun'
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/eventLogs:
get:
tags:
- EventLog
summary: get_event_logs
description: List log entries from event log.
operationId: get_event_logs
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/EventLogCollection'
- description: Collection of event logs.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/eventLogs/{event_log_id}:
get:
tags:
- EventLog
summary: get_event_log
description: Get a log entry
operationId: get_event_log
parameters:
- name: event_log_id
in: path
description: The event log ID.
required: true
style: simple
schema:
type: integer
format: int32
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/EventLog'
- description: Log of user operations via CLI or Web UI.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/importErrors:
get:
tags:
- ImportError
summary: get_import_errors
description: List import errors
operationId: get_import_errors
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ImportErrorCollection'
- description: Collection of import errors.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/importErrors/{import_error_id}:
get:
tags:
- ImportError
summary: get_import_error
description: Get an import error
operationId: get_import_error
parameters:
- name: import_error_id
in: path
description: The import error ID.
required: true
style: simple
schema:
type: integer
format: int32
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ImportError'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/health:
get:
tags:
- Monitoring
summary: get_health
description: >
Get the status of Airflow's metadatabase and scheduler. It includes info about
metadatabase and last heartbeat of scheduler.
operationId: get_health
parameters: []
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/HealthInfo'
- description: Instance status information.
deprecated: false
/version:
get:
tags:
- Monitoring
summary: get_version
description: Get version information
operationId: get_version
parameters: []
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/VersionInfo'
- description: Version information.
deprecated: false
/pools:
get:
tags:
- Pool
summary: get_pools
description: List pools
operationId: get_pools
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: List of pools.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PoolCollection'
- description: Collection of pools.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
post:
tags:
- Pool
summary: post_pool
description: Create a pool
operationId: post_pool
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Pool'
- description: The pool
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/pools/{pool_name}:
get:
tags:
- Pool
summary: get_pool
description: Get a pool
operationId: get_pool
parameters:
- name: pool_name
in: path
description: The pool name.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Pool'
- description: The pool
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
patch:
tags:
- Pool
summary: patch_pool
description: Update a pool
operationId: patch_pool
parameters:
- name: pool_name
in: path
description: The pool name.
required: true
style: simple
schema:
type: string
- name: update_mask
in: query
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.
style: form
explode: true
schema:
type: array
items:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Pool'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Pool'
- description: The pool
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'409':
description: An existing resource conflicts with the request.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
delete:
tags:
- Pool
summary: delete_pool
description: Delete a pool
operationId: delete_pool
parameters:
- name: pool_name
in: path
description: The pool name.
required: true
style: simple
schema:
type: string
responses:
'204':
description: Success.
headers: {}
content: {}
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/providers:
get:
tags:
- Provider
summary: get_providers
description: List providers
operationId: get_providers
parameters: []
responses:
'200':
description: List of providers.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProvidersResponse'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances:
get:
tags:
- TaskInstance
summary: get_task_instances
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:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
- name: execution_date_gte
in: query
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.
style: form
explode: true
schema:
type: string
format: date-time
- name: execution_date_lte
in: query
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.
style: form
explode: true
schema:
type: string
format: date-time
- name: start_date_gte
in: query
description: >-
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
style: form
explode: true
schema:
type: string
format: date-time
- name: start_date_lte
in: query
description: >-
Returns objects less or equal the specified date.
This can be combined with start_date_gte parameter to receive only the selected period.
style: form
explode: true
schema:
type: string
format: date-time
- name: end_date_gte
in: query
description: >-
Returns objects greater or equal the specified date.
This can be combined with start_date_lte parameter to receive only the selected period.
style: form
explode: true
schema:
type: string
format: date-time
- name: end_date_lte
in: query
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.
style: form
explode: true
schema:
type: string
format: date-time
- name: duration_gte
in: query
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.
style: form
explode: true
schema:
type: number
format: double
- name: duration_lte
in: query
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.
style: form
explode: true
schema:
type: number
format: double
- name: state
in: query
description: The value can be repeated to retrieve multiple matching values (OR condition).
style: form
explode: true
schema:
type: array
items:
type: string
- name: pool
in: query
description: The value can be repeated to retrieve multiple matching values (OR condition).
style: form
explode: true
schema:
type: array
items:
type: string
- name: queue
in: query
description: The value can be repeated to retrieve multiple matching values (OR condition).
style: form
explode: true
schema:
type: array
items:
type: string
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/TaskInstanceCollection'
- description: Collection of task instances.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}:
get:
tags:
- TaskInstance
summary: get_task_instance
description: Get a task instance
operationId: get_task_instance
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
- name: task_id
in: path
description: The task ID.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/TaskInstance'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/~/dagRuns/~/taskInstances/list:
post:
tags:
- TaskInstance
summary: get_task_instances_batch
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
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ListTaskInstanceForm'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/TaskInstanceCollection'
- description: Collection of task instances.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links:
get:
tags:
- TaskInstance
summary: get_extra_links
description: >
List extra links for task instance.
operationId: get_extra_links
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
- name: task_id
in: path
description: The task ID.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ExtraLinkCollection'
- description: The collection of extra links.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number}:
get:
tags:
- TaskInstance
summary: get_log
description: Get logs for a specific task instance and its try number.
operationId: get_log
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
- name: task_id
in: path
description: The task ID.
required: true
style: simple
schema:
type: string
- name: task_try_number
in: path
description: The task try number.
required: true
style: simple
schema:
type: integer
format: int32
- name: full_content
in: query
description: >-
A full content will be returned.
By default, only the first fragment will be returned.
style: form
explode: true
schema:
type: boolean
- name: token
in: query
description: >-
A token that allows you to continue fetching logs.
If passed, it will specify the location from which the download should be continued.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DagsDagRunsTaskInstancesTaskIdLogsTaskTryNumberResponse'
text/plain:
schema:
type: string
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/variables:
get:
tags:
- Variable
summary: get_variables
description: The collection does not contain data. To get data, you must get a single entity.
operationId: get_variables
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/VariableCollection'
- description: Collection of variables.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
post:
tags:
- Variable
summary: post_variables
description: Create a variable
operationId: post_variables
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Variable'
- description: Full representation of Variable
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/variables/{variable_key}:
get:
tags:
- Variable
summary: get_variable
description: Get a variable by key.
operationId: get_variable
parameters:
- name: variable_key
in: path
description: The variable Key.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Variable'
- description: Full representation of Variable
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
patch:
tags:
- Variable
summary: patch_variable
description: Update a variable by key.
operationId: patch_variable
parameters:
- name: variable_key
in: path
description: The variable Key.
required: true
style: simple
schema:
type: string
- name: update_mask
in: query
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.
style: form
explode: true
schema:
type: array
items:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Variable'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Variable'
- description: Full representation of Variable
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
delete:
tags:
- Variable
summary: delete_variable
description: Delete a variable
operationId: delete_variable
parameters:
- name: variable_key
in: path
description: The variable Key.
required: true
style: simple
schema:
type: string
responses:
'204':
description: Success.
headers: {}
content: {}
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries:
get:
tags:
- XCom
summary: get_xcom_entries
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:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
- name: task_id
in: path
description: The task ID.
required: true
style: simple
schema:
type: string
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/XComCollection'
- description: Collection of XCom entries.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}:
get:
tags:
- XCom
summary: get_xcom_entry
description: Get an XCom entry
operationId: get_xcom_entry
parameters:
- name: dag_id
in: path
description: The DAG ID.
required: true
style: simple
schema:
type: string
- name: dag_run_id
in: path
description: The DAG run ID.
required: true
style: simple
schema:
type: string
- name: task_id
in: path
description: The task ID.
required: true
style: simple
schema:
type: string
- name: xcom_key
in: path
description: The XCom key.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/XCom'
- description: Full representations of XCom entry.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/plugins:
get:
tags:
- Plugin
summary: get_plugins
description: Get a list of loaded plugins
operationId: get_plugins
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PluginCollection'
- description: Plugin Collection
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/roles:
get:
tags:
- Role
summary: get_roles
description: List roles
operationId: get_roles
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/RoleCollection'
- description: Role Collections
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
post:
tags:
- Role
summary: post_role
description: Create a role
operationId: post_role
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Role'
- description: Role item
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/roles/{role_name}:
get:
tags:
- Role
summary: get_role
description: Get a role
operationId: get_role
parameters:
- name: role_name
in: path
description: The role name
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Role'
- description: Role item
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
patch:
tags:
- Role
summary: patch_role
description: Update a role
operationId: patch_role
parameters:
- name: role_name
in: path
description: The role name
required: true
style: simple
schema:
type: string
- name: update_mask
in: query
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.
style: form
explode: true
schema:
type: array
items:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Role'
- description: Role item
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
delete:
tags:
- Role
summary: delete_role
description: Delete a role
operationId: delete_role
parameters:
- name: role_name
in: path
description: The role name
required: true
style: simple
schema:
type: string
responses:
'204':
description: Success.
headers: {}
content: {}
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/permissions:
get:
tags:
- Permission
summary: get_permissions
description: List permissions
operationId: get_permissions
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ActionCollection'
- description: Action Collection
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/users:
get:
tags:
- User
summary: get_users
description: List users
operationId: get_users
parameters:
- name: limit
in: query
description: The numbers of items to return.
style: form
explode: true
schema:
type: integer
format: int32
default: 100
- name: offset
in: query
description: The number of items to skip before starting to collect the result set.
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: order_by
in: query
description: >-
The name of the field to order the results by.
Prefix a field name with `-` to reverse the sort order.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UserCollection'
- description: Collection of users.
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
post:
tags:
- User
summary: post_user
description: Create a user
operationId: post_user
parameters: []
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/User'
- description: A user object with sensitive data
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'409':
description: An existing resource conflicts with the request.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
/users/{username}:
get:
tags:
- User
summary: get_user
description: Get a user
operationId: get_user
parameters:
- name: username
in: path
description: The username of the user
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UserCollectionItem'
- description: A user object
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
patch:
tags:
- User
summary: patch_user
description: Update a user
operationId: patch_user
parameters:
- name: username
in: path
description: The username of the user
required: true
style: simple
schema:
type: string
- name: update_mask
in: query
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.
style: form
explode: true
schema:
type: array
items:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
'200':
description: Success.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Role'
- description: Role item
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
delete:
tags:
- User
summary: delete_user
description: Delete a user
operationId: delete_user
parameters:
- name: username
in: path
description: The username of the user
required: true
style: simple
schema:
type: string
responses:
'204':
description: Success.
headers: {}
content: {}
'400':
description: Client specified an invalid argument.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'401':
description: Request not authenticated due to missing, invalid, authentication info.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'403':
description: Client does not have sufficient permission.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
'404':
description: A specified resource is not found.
headers: {}
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Error'
- description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
deprecated: false
components:
schemas:
UserCollectionItem:
title: UserCollectionItem
type: object
properties:
first_name:
minLength: 1
type: string
description: The user firstname
last_name:
minLength: 1
type: string
description: The user lastname
username:
minLength: 1
type: string
description: The username
email:
minLength: 1
type: string
description: The user's email
active:
type: boolean
description: Whether the user is active
nullable: true
last_login:
type: string
description: The last user login
nullable: true
login_count:
type: integer
description: The login count
format: int32
nullable: true
failed_login_count:
type: integer
description: The number of times the login failed
format: int32
nullable: true
roles:
type: array
items:
$ref: '#/components/schemas/Role2'
description: User roles
created_on:
type: string
description: The date user was created
nullable: true
changed_on:
type: string
description: The date user was changed
nullable: true
description: A user object
User:
title: User
type: object
properties:
first_name:
minLength: 1
type: string
description: The user firstname
last_name:
minLength: 1
type: string
description: The user lastname
username:
minLength: 1
type: string
description: The username
email:
minLength: 1
type: string
description: The user's email
active:
type: boolean
description: Whether the user is active
nullable: true
last_login:
type: string
description: The last user login
nullable: true
login_count:
type: integer
description: The login count
format: int32
nullable: true
failed_login_count:
type: integer
description: The number of times the login failed
format: int32
nullable: true
roles:
type: array
items:
$ref: '#/components/schemas/Role2'
description: User roles
created_on:
type: string
description: The date user was created
nullable: true
changed_on:
type: string
description: The date user was changed
nullable: true
password:
type: string
description: A user object with sensitive data
UserCollection:
title: UserCollection
type: object
properties:
users:
type: array
items:
$ref: '#/components/schemas/UserCollectionItem'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of users.
ConnectionCollectionItem:
title: ConnectionCollectionItem
type: object
properties:
connection_id:
type: string
description: The connection ID.
conn_type:
type: string
description: The connection type.
host:
type: string
description: Host of the connection.
nullable: true
login:
type: string
description: Login of the connection.
nullable: true
schema:
type: string
description: Schema of the connection.
nullable: true
port:
type: integer
description: Port of the connection.
format: int32
nullable: true
description: >-
Connection collection item.
The password and extra fields are only available when retrieving a single object due to the sensitivity of this data.
ConnectionCollection:
title: ConnectionCollection
type: object
properties:
connections:
type: array
items:
$ref: '#/components/schemas/ConnectionCollectionItem'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of connections.
Connection:
title: Connection
type: object
properties:
connection_id:
type: string
description: The connection ID.
conn_type:
type: string
description: The connection type.
host:
type: string
description: Host of the connection.
nullable: true
login:
type: string
description: Login of the connection.
nullable: true
schema:
type: string
description: Schema of the connection.
nullable: true
port:
type: integer
description: Port of the connection.
format: int32
nullable: true
password:
type: string
description: Password of the connection.
extra:
type: string
description: Other values that cannot be put into another field, e.g. RSA keys.
nullable: true
description: Full representation of the connection.
ConnectionTest:
title: ConnectionTest
type: object
properties:
status:
type: boolean
description: The status of the request.
message:
type: string
description: The success or failure message of the request.
description: Connection test results.
DAG:
title: DAG
type: object
properties:
dag_id:
type: string
description: The ID of the DAG.
root_dag_id:
type: string
description: If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.
nullable: true
is_paused:
type: boolean
description: Whether the DAG is paused.
nullable: true
is_active:
type: boolean
description: Whether the DAG is currently seen by the scheduler(s).
nullable: true
is_subdag:
type: boolean
description: Whether the DAG is SubDAG.
fileloc:
type: string
description: The absolute path to the file.
file_token:
type: string
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.
owners:
type: array
items:
type: string
description: ''
description:
type: string
description: User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.
nullable: true
schedule_interval:
oneOf:
- $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.
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: List of tags.
nullable: true
description: DAG
DAGCollection:
title: DAGCollection
type: object
properties:
dags:
type: array
items:
$ref: '#/components/schemas/DAG'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of DAGs.
DAGRun:
title: DAGRun
required:
- dag_id
type: object
properties:
dag_run_id:
type: string
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
dag_id:
type: string
logical_date:
type: string
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.
format: date-time
nullable: true
execution_date:
type: string
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.
format: date-time
nullable: true
deprecated: true
start_date:
type: string
description: The start time. The time when DAG run was actually created.
format: date-time
nullable: true
end_date:
type: string
format: date-time
nullable: true
state:
allOf:
- $ref: '#/components/schemas/DagState'
- description: DAG State.
example: queued
external_trigger:
type: boolean
default: true
conf:
type: object
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.
UpdateDagRunState:
title: UpdateDagRunState
type: object
properties:
state:
allOf:
- $ref: '#/components/schemas/State'
- description: The state to set this DagRun
example: success
DAGRunCollection:
title: DAGRunCollection
type: object
properties:
dag_runs:
type: array
items:
$ref: '#/components/schemas/DAGRun'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of DAG runs.
EventLog:
title: EventLog
type: object
properties:
event_log_id:
type: integer
description: The event log ID
format: int32
when:
type: string
description: The time when these events happened.
format: date-time
dag_id:
type: string
description: The DAG ID
nullable: true
task_id:
type: string
description: The DAG ID
nullable: true
event:
type: string
description: A key describing the type of event.
execution_date:
type: string
description: When the event was dispatched for an object having execution_date, the value of this field.
format: date-time
nullable: true
owner:
type: string
description: Name of the user who triggered these events a.
extra:
type: string
description: Other information that was not included in the other fields, e.g. the complete CLI command.
nullable: true
description: Log of user operations via CLI or Web UI.
EventLogCollection:
title: EventLogCollection
type: object
properties:
event_logs:
type: array
items:
$ref: '#/components/schemas/EventLog'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of event logs.
ImportError:
title: ImportError
type: object
properties:
import_error_id:
type: integer
description: The import error ID.
format: int32
timestamp:
type: string
description: The time when this error was created.
filename:
type: string
description: The filename
stack_trace:
type: string
description: The full stackstrace..
ImportErrorCollection:
title: ImportErrorCollection
type: object
properties:
import_errors:
type: array
items:
$ref: '#/components/schemas/ImportError'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of import errors.
HealthInfo:
title: HealthInfo
type: object
properties:
metadatabase:
allOf:
- $ref: '#/components/schemas/MetadatabaseStatus'
- description: The status of the metadatabase.
scheduler:
allOf:
- $ref: '#/components/schemas/SchedulerStatus'
- description: The status and the latest scheduler heartbeat.
description: Instance status information.
MetadatabaseStatus:
title: MetadatabaseStatus
type: object
properties:
status:
allOf:
- $ref: '#/components/schemas/HealthStatus'
- description: Health status
example: healthy
description: The status of the metadatabase.
SchedulerStatus:
title: SchedulerStatus
type: object
properties:
status:
allOf:
- $ref: '#/components/schemas/HealthStatus'
- description: Health status
example: healthy
latest_scheduler_heartbeat:
type: string
description: The time the scheduler last do a heartbeat.
nullable: true
description: The status and the latest scheduler heartbeat.
Pool:
title: Pool
type: object
properties:
name:
type: string
description: The name of pool.
slots:
type: integer
description: The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots.
format: int32
occupied_slots:
type: integer
description: The number of slots used by running/queued tasks at the moment.
format: int32
used_slots:
type: integer
description: The number of slots used by running tasks at the moment.
format: int32
queued_slots:
type: integer
description: The number of slots used by queued tasks at the moment.
format: int32
open_slots:
type: integer
description: The number of free slots at the moment.
format: int32
description: The pool
PoolCollection:
title: PoolCollection
type: object
properties:
pools:
type: array
items:
$ref: '#/components/schemas/Pool'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of pools.
Provider:
title: Provider
type: object
properties:
package_name:
type: string
description: The package name of the provider.
description:
type: string
description: The description of the provider.
version:
type: string
description: The version of the provider.
description: The provider
ProviderCollection:
title: ProviderCollection
type: object
properties:
providers:
type: array
items:
$ref: '#/components/schemas/Provider'
description: ''
SLAMiss:
title: SLAMiss
type: object
properties:
task_id:
type: string
description: The task ID.
dag_id:
type: string
description: The DAG ID.
execution_date:
type: string
email_sent:
type: boolean
timestamp:
type: string
description:
type: string
nullable: true
notification_sent:
type: boolean
TaskInstance:
title: TaskInstance
type: object
properties:
task_id:
type: string
dag_id:
type: string
execution_date:
type: string
start_date:
type: string
nullable: true
end_date:
type: string
nullable: true
duration:
type: number
nullable: true
state:
allOf:
- $ref: '#/components/schemas/TaskState'
- description: Task state.
example: success
try_number:
type: integer
format: int32
max_tries:
type: integer
format: int32
hostname:
type: string
unixname:
type: string
pool:
type: string
pool_slots:
type: integer
format: int32
queue:
type: string
priority_weight:
type: integer
format: int32
operator:
type: string
nullable: true
queued_when:
type: string
nullable: true
pid:
type: integer
format: int32
nullable: true
executor_config:
type: string
sla_miss:
$ref: '#/components/schemas/SLAMiss'
TaskInstanceCollection:
title: TaskInstanceCollection
type: object
properties:
task_instances:
type: array
items:
$ref: '#/components/schemas/TaskInstance'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of task instances.
TaskInstanceReference:
title: TaskInstanceReference
type: object
properties:
task_id:
type: string
description: The task ID.
dag_id:
type: string
description: The DAG ID.
execution_date:
type: string
dag_run_id:
type: string
description: The DAG run ID.
TaskInstanceReferenceCollection:
title: TaskInstanceReferenceCollection
type: object
properties:
task_instances:
type: array
items:
$ref: '#/components/schemas/TaskInstanceReference'
description: ''
VariableCollectionItem:
title: VariableCollectionItem
type: object
properties:
key:
type: string
description: >-
XCom entry collection item.
The value field are only available when retrieving a single object due to the sensitivity of this data.
VariableCollection:
title: VariableCollection
type: object
properties:
variables:
type: array
items:
$ref: '#/components/schemas/VariableCollectionItem'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of variables.
Variable:
title: Variable
type: object
properties:
key:
type: string
value:
type: string
description: Full representation of Variable
XComCollectionItem:
title: XComCollectionItem
type: object
properties:
key:
type: string
timestamp:
type: string
execution_date:
type: string
task_id:
type: string
dag_id:
type: string
description: >-
XCom entry collection item.
The value field is only available when reading a single object due to the size of the value.
XComCollection:
title: XComCollection
type: object
properties:
xcom_entries:
type: array
items:
$ref: '#/components/schemas/XComCollectionItem'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Collection of XCom entries.
XCom:
title: XCom
type: object
properties:
key:
type: string
timestamp:
type: string
execution_date:
type: string
task_id:
type: string
dag_id:
type: string
value:
type: string
description: The value
description: Full representations of XCom entry.
DAGDetail:
title: DAGDetail
type: object
properties:
dag_id:
type: string
description: The ID of the DAG.
root_dag_id:
type: string
description: If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.
nullable: true
is_paused:
type: boolean
description: Whether the DAG is paused.
nullable: true
is_active:
type: boolean
description: Whether the DAG is currently seen by the scheduler(s).
nullable: true
is_subdag:
type: boolean
description: Whether the DAG is SubDAG.
fileloc:
type: string
description: The absolute path to the file.
file_token:
type: string
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.
owners:
type: array
items:
type: string
description: ''
description:
type: string
description: User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.
nullable: true
schedule_interval:
oneOf:
- $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.
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: List of tags.
nullable: true
timezone:
type: string
catchup:
type: boolean
orientation:
type: string
concurrency:
type: number
start_date:
type: string
format: date-time
nullable: true
dag_run_timeout:
allOf:
- $ref: '#/components/schemas/TimeDelta'
- description: Time delta
doc_md:
type: string
nullable: true
default_view:
type: string
params:
type: object
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:
title: ExtraLink
type: object
properties:
class_ref:
allOf:
- $ref: '#/components/schemas/ClassReference'
- description: Class reference
name:
type: string
href:
type: string
description: Additional links containing additional information about the task.
ExtraLinkCollection:
title: ExtraLinkCollection
type: object
properties:
extra_links:
type: array
items:
$ref: '#/components/schemas/ExtraLink'
description: ''
description: The collection of extra links.
Task:
title: Task
type: object
properties:
class_ref:
allOf:
- $ref: '#/components/schemas/ClassReference'
- description: Class reference
task_id:
type: string
owner:
type: string
start_date:
type: string
format: date-time
end_date:
type: string
format: date-time
nullable: true
trigger_rule:
allOf:
- $ref: '#/components/schemas/TriggerRule'
- description: Trigger rule.
example: all_success
extra_links:
type: array
items:
$ref: '#/components/schemas/ExtraLink1'
description: ''
depends_on_past:
type: boolean
wait_for_downstream:
type: boolean
retries:
type: number
queue:
type: string
pool:
type: string
pool_slots:
type: number
execution_timeout:
allOf:
- $ref: '#/components/schemas/TimeDelta'
- description: Time delta
retry_delay:
allOf:
- $ref: '#/components/schemas/TimeDelta'
- description: Time delta
retry_exponential_backoff:
type: boolean
priority_weight:
type: number
weight_rule:
allOf:
- $ref: '#/components/schemas/WeightRule'
- description: Weight rule.
example: downstream
ui_color:
pattern: ^#[a-fA-F0-9]{3,6}$
type: string
description: Color in hexadecimal notation.
ui_fgcolor:
pattern: ^#[a-fA-F0-9]{3,6}$
type: string
description: Color in hexadecimal notation.
template_fields:
type: array
items:
type: string
description: ''
sub_dag:
allOf:
- $ref: '#/components/schemas/DAG'
- description: DAG
downstream_task_ids:
type: array
items:
type: string
description: ''
description: >-
For details see:
(airflow.models.BaseOperator)[https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/index.html#airflow.models.BaseOperator]
TaskCollection:
title: TaskCollection
type: object
properties:
tasks:
type: array
items:
$ref: '#/components/schemas/Task'
description: ''
description: Collection of tasks.
PluginCollectionItem:
title: PluginCollectionItem
type: object
properties:
number:
type: string
description: The plugin number
name:
type: string
description: The name of the plugin
hooks:
type: array
items:
type: string
description: The plugin hooks
executors:
type: array
items:
type: string
description: The plugin executors
macros:
type: array
items:
type: object
description: The plugin macros
flask_blueprints:
type: array
items:
type: object
description: The flask blueprints
appbuilder_views:
type: array
items:
type: object
description: The appuilder views
appbuilder_menu_items:
type: array
items:
type: object
description: The Flask Appbuilder menu items
global_operator_extra_links:
type: array
items:
type: object
description: The global operator extra links
operator_extra_links:
type: array
items:
type: object
description: Operator extra links
source:
type: string
description: The plugin source
nullable: true
description: Plugin Item
PluginCollection:
title: PluginCollection
type: object
properties:
plugins:
type: array
items:
$ref: '#/components/schemas/PluginCollectionItem'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Plugin Collection
Role:
title: Role
type: object
properties:
name:
type: string
description: The name of the role
actions:
type: array
items:
$ref: '#/components/schemas/ActionResource'
description: ''
description: Role item
RoleCollection:
title: RoleCollection
type: object
properties:
roles:
type: array
items:
$ref: '#/components/schemas/Role'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Role Collections
Action:
title: Action
type: object
properties:
name:
type: string
description: The name of the permission "action"
description: Action Item
ActionCollection:
title: ActionCollection
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/Action'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Action Collection
Resource:
title: Resource
type: object
properties:
name:
type: string
description: The name of the resource
description: A "resource" on which permissions are granted.
ActionResource:
title: ActionResource
type: object
properties:
action:
allOf:
- $ref: '#/components/schemas/Action'
- description: Action Item
resource:
allOf:
- $ref: '#/components/schemas/Resource'
- description: A "resource" on which permissions are granted.
description: The Action-Resource item
ConfigOption:
title: ConfigOption
type: object
properties:
key:
type: string
value:
type: string
description: The option of configuration.
ConfigSection:
title: ConfigSection
type: object
properties:
name:
type: string
options:
type: array
items:
$ref: '#/components/schemas/ConfigOption'
description: ''
description: The section of configuration.
Config:
title: Config
type: object
properties:
sections:
type: array
items:
$ref: '#/components/schemas/ConfigSection'
description: ''
description: The configuration.
VersionInfo:
title: VersionInfo
type: object
properties:
version:
type: string
description: The version of Airflow
git_version:
type: string
description: The git version (including git commit hash)
nullable: true
description: Version information.
ClearTaskInstance:
title: ClearTaskInstance
type: object
properties:
dry_run:
type: boolean
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.
default: true
task_ids:
minItems: 1
type: array
items:
type: string
description: A list of task ids to clear.
start_date:
type: string
description: The minimum execution date to clear.
end_date:
type: string
description: The maximum execution date to clear.
only_failed:
type: boolean
description: Only clear failed tasks.
default: true
only_running:
type: boolean
description: Only clear running tasks.
default: false
include_subdags:
type: boolean
description: Clear tasks in subdags and clear external tasks indicated by ExternalTaskMarker.
include_parentdag:
type: boolean
description: Clear tasks in the parent dag of the subdag.
reset_dag_runs:
type: boolean
description: Set state of DAG runs to RUNNING.
UpdateTaskInstancesState:
title: UpdateTaskInstancesState
type: object
properties:
dry_run:
type: boolean
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.
default: true
task_id:
type: string
description: The task ID.
execution_date:
type: string
description: The execution date.
include_upstream:
type: boolean
description: If set to true, upstream tasks are also affected.
include_downstream:
type: boolean
description: If set to true, downstream tasks are also affected.
include_future:
type: boolean
description: If set to True, also tasks from future DAG Runs are affected.
include_past:
type: boolean
description: If set to True, also tasks from past DAG Runs are affected.
new_state:
allOf:
- $ref: '#/components/schemas/NewState'
- description: Expected new state.
example: success
ListDagRunsForm:
title: ListDagRunsForm
type: object
properties:
order_by:
type: string
description: >-
The name of the field to order the results by. Prefix a field name
with `-` to reverse the sort order.
page_offset:
minimum: 0
type: integer
description: The number of items to skip before starting to collect the result set.
format: int32
page_limit:
minimum: 1
type: integer
description: The numbers of items to return.
format: int32
default: 100
dag_ids:
type: array
items:
type: string
description: >-
Return objects with specific DAG IDs.
The value can be repeated to retrieve multiple matching values (OR condition).
execution_date_gte:
type: string
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
execution_date_lte:
type: string
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
start_date_gte:
type: string
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
start_date_lte:
type: string
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
end_date_gte:
type: string
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
end_date_lte:
type: string
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
ListTaskInstanceForm:
title: ListTaskInstanceForm
type: object
properties:
dag_ids:
type: array
items:
type: string
description: >-
Return objects with specific DAG IDs.
The value can be repeated to retrieve multiple matching values (OR condition).
execution_date_gte:
type: string
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
execution_date_lte:
type: string
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
start_date_gte:
type: string
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
start_date_lte:
type: string
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
end_date_gte:
type: string
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
end_date_lte:
type: string
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
duration_gte:
type: number
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.
duration_lte:
type: number
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.
state:
type: array
items:
type: string
description: The value can be repeated to retrieve multiple matching values (OR condition).
pool:
type: array
items:
type: string
description: The value can be repeated to retrieve multiple matching values (OR condition).
queue:
type: array
items:
type: string
description: The value can be repeated to retrieve multiple matching values (OR condition).
TimeDelta:
title: TimeDelta
allOf:
- $ref: '#/components/schemas/ScheduleInterval'
- required:
- days
- seconds
- microseconds
type: object
properties:
days:
type: integer
format: int32
seconds:
type: integer
format: int32
microseconds:
type: integer
format: int32
description: Time delta
RelativeDelta:
title: RelativeDelta
allOf:
- $ref: '#/components/schemas/ScheduleInterval'
- required:
- years
- months
- days
- leapdays
- hours
- minutes
- seconds
- microseconds
- year
- month
- day
- hour
- minute
- second
- microsecond
type: object
properties:
years:
type: integer
format: int32
months:
type: integer
format: int32
days:
type: integer
format: int32
leapdays:
type: integer
format: int32
hours:
type: integer
format: int32
minutes:
type: integer
format: int32
seconds:
type: integer
format: int32
microseconds:
type: integer
format: int32
year:
type: integer
format: int32
month:
type: integer
format: int32
day:
type: integer
format: int32
hour:
type: integer
format: int32
minute:
type: integer
format: int32
second:
type: integer
format: int32
microsecond:
type: integer
format: int32
description: Relative delta
CronExpression:
title: CronExpression
allOf:
- $ref: '#/components/schemas/ScheduleInterval'
- required:
- value
type: object
properties:
value:
type: string
description: Cron expression
Tag:
title: Tag
type: object
properties:
name:
type: string
description: Tag
ClassReference:
title: ClassReference
type: object
properties:
module_path:
type: string
class_name:
type: string
description: Class reference
Error:
title: Error
required:
- type
- title
- status
type: object
properties:
type:
type: string
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.
title:
type: string
description: A short, human-readable summary of the problem type.
status:
type: number
description: The HTTP status code generated by the API server for this occurrence of the problem.
detail:
type: string
description: A human-readable explanation specific to this occurrence of the problem.
instance:
type: string
description: >-
A URI reference that identifies the specific occurrence of the problem. It may or may
not yield further information if dereferenced.
description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
CollectionInfo:
title: CollectionInfo
type: object
properties:
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
description: Metadata about collection.
TaskState:
title: TaskState
enum:
- success
- running
- failed
- upstream_failed
- skipped
- up_for_retry
- up_for_reschedule
- queued
- none
- scheduled
- deferred
- sensing
- removed
type: string
description: Task state.
example: success
DagState:
title: DagState
enum:
- queued
- running
- success
- failed
type: string
description: DAG State.
example: queued
TriggerRule:
title: TriggerRule
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
description: Trigger rule.
example: all_success
WeightRule:
title: WeightRule
enum:
- downstream
- upstream
- absolute
type: string
description: Weight rule.
example: downstream
HealthStatus:
title: HealthStatus
enum:
- healthy
- unhealthy
type: string
description: Health status
example: healthy
DagsDagRunsTaskInstancesTaskIdLogsTaskTryNumberResponse:
title: DagsDagRunsTaskInstancesTaskIdLogsTaskTryNumberResponse
type: object
properties:
continuation_token:
type: string
content:
type: string
DagSourcesResponse:
title: DagSourcesResponse
type: object
properties:
content:
type: string
Error_Error:
title: Error_Error
required:
- type
- title
- status
type: object
properties:
type:
type: string
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.
title:
type: string
description: A short, human-readable summary of the problem type.
status:
type: number
description: The HTTP status code generated by the API server for this occurrence of the problem.
detail:
type: string
description: A human-readable explanation specific to this occurrence of the problem.
instance:
type: string
description: >-
A URI reference that identifies the specific occurrence of the problem. It may or may
not yield further information if dereferenced.
description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.'
ExtraLink1:
title: ExtraLink1
type: object
properties:
class_ref:
allOf:
- $ref: '#/components/schemas/ClassReference'
- description: Class reference
NewState:
title: NewState
enum:
- success
- failed
type: string
description: Expected new state.
example: success
ProvidersResponse:
title: ProvidersResponse
type: object
properties:
providers:
type: array
items:
$ref: '#/components/schemas/Provider'
description: ''
total_entries:
type: integer
description: Count of objects in the current result set.
format: int32
Role2:
title: Role2
type: object
properties:
name:
type: string
ScheduleInterval:
title: ScheduleInterval
required:
- __type
type: object
properties:
__type:
type: string
discriminator:
propertyName: __type
mapping:
TimeDelta: TimeDelta
RelativeDelta: RelativeDelta
CronExpression: CronExpression
State:
title: State
enum:
- success
- failed
type: string
description: The state to set this DagRun
example: success
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
- name: UpdateDagRunState
description: ''
externalDocs:
url: https://airflow.apache.org/docs/apache-airflow/stable/