Apache Airflow Python Client.DAGApi

All URIs are relative to http://localhost/api/v1

MethodHTTP requestDescription
get_dagGET /dags/{dag_id}Get basic information about a DAG
get_dag_detailsGET /dags/{dag_id}/detailsGet a simplified representation of DAG
get_dag_sourceGET /dagSources/{file_token}Get a source code
get_dagsGET /dagsList DAGs
get_taskGET /dags/{dag_id}/tasks/{task_id}Get simplified representation of a task
get_tasksGET /dags/{dag_id}/tasksGet tasks for DAG
patch_dagPATCH /dags/{dag_id}Update a DAG
post_clear_task_instancesPOST /dags/{dag_id}/clearTaskInstancesClear a set of task instances
post_set_task_instances_statePOST /dags/{dag_id}/updateTaskInstancesStateSet a state of task instances

get_dag

DAG get_dag(dag_id)

Get basic information about a DAG

Presents only information available in database (DAGModel). If you need detailed information, consider using GET /dags/{dag_id}/details.

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.dag import DAG
from airflow_client.client.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.

    # example passing only required values which don't have defaults set
    try:
        # Get basic information about a DAG
        api_response = api_instance.get_dag(dag_id)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->get_dag: %s\n" % e)

Parameters

NameTypeDescriptionNotes
dag_idstrThe DAG ID.

Return type

DAG

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-
403Client does not have sufficient permission.-
404A specified resource is not found.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_dag_details

DAGDetail get_dag_details(dag_id)

Get a simplified representation of DAG

The response contains many DAG attributes, so the response can be large. If possible, consider using GET /dags/{dag_id}.

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.dag_detail import DAGDetail
from airflow_client.client.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.

    # example passing only required values which don't have defaults set
    try:
        # Get a simplified representation of DAG
        api_response = api_instance.get_dag_details(dag_id)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->get_dag_details: %s\n" % e)

Parameters

NameTypeDescriptionNotes
dag_idstrThe DAG ID.

Return type

DAGDetail

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-
403Client does not have sufficient permission.-
404A specified resource is not found.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_dag_source

InlineResponse2001 get_dag_source(file_token)

Get a source code

Get a source code using file token.

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.inline_response2001 import InlineResponse2001
from airflow_client.client.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    file_token = "file_token_example" # str | 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. 

    # example passing only required values which don't have defaults set
    try:
        # Get a source code
        api_response = api_instance.get_dag_source(file_token)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->get_dag_source: %s\n" % e)

Parameters

NameTypeDescriptionNotes
file_tokenstrThe 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.

Return type

InlineResponse2001

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json, plain/text

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-
403Client does not have sufficient permission.-
404A specified resource is not found.-
406A specified Accept header is not allowed.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_dags

object get_dags()

List DAGs

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    limit = 100 # int | The numbers of items to return. (optional) if omitted the server will use the default value of 100
    offset = 0 # int | The number of items to skip before starting to collect the result set. (optional)

    # example passing only required values which don't have defaults set
    # and optional values
    try:
        # List DAGs
        api_response = api_instance.get_dags(limit=limit, offset=offset)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->get_dags: %s\n" % e)

Parameters

NameTypeDescriptionNotes
limitintThe numbers of items to return.[optional] if omitted the server will use the default value of 100
offsetintThe number of items to skip before starting to collect the result set.[optional]

Return type

object

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_task

Task get_task(dag_id, task_id)

Get simplified representation of a task

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.task import Task
from airflow_client.client.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.
    task_id = "task_id_example" # str | The task ID.

    # example passing only required values which don't have defaults set
    try:
        # Get simplified representation of a task
        api_response = api_instance.get_task(dag_id, task_id)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->get_task: %s\n" % e)

Parameters

NameTypeDescriptionNotes
dag_idstrThe DAG ID.
task_idstrThe task ID.

Return type

Task

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-
403Client does not have sufficient permission.-
404A specified resource is not found.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_tasks

TaskCollection get_tasks(dag_id)

Get tasks for DAG

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.error import Error
from airflow_client.client.model.task_collection import TaskCollection
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.

    # example passing only required values which don't have defaults set
    try:
        # Get tasks for DAG
        api_response = api_instance.get_tasks(dag_id)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->get_tasks: %s\n" % e)

Parameters

NameTypeDescriptionNotes
dag_idstrThe DAG ID.

Return type

TaskCollection

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-
403Client does not have sufficient permission.-
404A specified resource is not found.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]

patch_dag

DAG patch_dag(dag_id, dag)

Update a DAG

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.dag import DAG
from airflow_client.client.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.
    dag = DAG(
        dag_id="dag_id_example",
        root_dag_id="root_dag_id_example",
        is_paused=True,
        is_subdag=True,
        fileloc="fileloc_example",
        file_token="file_token_example",
        owners=[
            "owners_example",
        ],
        description="description_example",
        schedule_interval=ScheduleInterval(
            type="CronExpression",
            value="value_example",
        ),
        tags=[
            Tag(
                name="name_example",
            ),
        ],
    ) # DAG | 
    update_mask = [
        "update_mask_example",
    ] # [str] | 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.  (optional)

    # example passing only required values which don't have defaults set
    try:
        # Update a DAG
        api_response = api_instance.patch_dag(dag_id, dag)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->patch_dag: %s\n" % e)

    # example passing only required values which don't have defaults set
    # and optional values
    try:
        # Update a DAG
        api_response = api_instance.patch_dag(dag_id, dag, update_mask=update_mask)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->patch_dag: %s\n" % e)

Parameters

NameTypeDescriptionNotes
dag_idstrThe DAG ID.
dagDAG
update_mask[str]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.[optional]

Return type

DAG

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-
403Client does not have sufficient permission.-
404A specified resource is not found.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]

post_clear_task_instances

TaskInstanceReferenceCollection post_clear_task_instances(dag_id, clear_task_instance)

Clear a set of task instances

Clears a set of task instances associated with the DAG for a specified date range.

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.clear_task_instance import ClearTaskInstance
from airflow_client.client.model.error import Error
from airflow_client.client.model.task_instance_reference_collection import TaskInstanceReferenceCollection
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.
    clear_task_instance = ClearTaskInstance(
        dry_run=True,
        start_date="start_date_example",
        end_date="end_date_example",
        only_failed=True,
        only_running=False,
        include_subdags=True,
        include_parentdag=True,
        reset_dag_runs=True,
    ) # ClearTaskInstance | Parameters of action

    # example passing only required values which don't have defaults set
    try:
        # Clear a set of task instances
        api_response = api_instance.post_clear_task_instances(dag_id, clear_task_instance)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->post_clear_task_instances: %s\n" % e)

Parameters

NameTypeDescriptionNotes
dag_idstrThe DAG ID.
clear_task_instanceClearTaskInstanceParameters of action

Return type

TaskInstanceReferenceCollection

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-
403Client does not have sufficient permission.-
404A specified resource is not found.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]

post_set_task_instances_state

TaskInstanceReferenceCollection post_set_task_instances_state(dag_id, update_task_instances_state)

Set a state of task instances

Updates the state for multiple task instances simultaneously.

Example

  • Basic Authentication (Basic):
import time
import airflow_client.client
from airflow_client.client.api import dag_api
from airflow_client.client.model.update_task_instances_state import UpdateTaskInstancesState
from airflow_client.client.model.error import Error
from airflow_client.client.model.task_instance_reference_collection import TaskInstanceReferenceCollection
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.
    update_task_instances_state = UpdateTaskInstancesState(
        dry_run=True,
        task_id="task_id_example",
        execution_date="execution_date_example",
        include_upstream=True,
        include_downstream=True,
        include_future=True,
        include_past=True,
        new_state="success",
    ) # UpdateTaskInstancesState | Parameters of action

    # example passing only required values which don't have defaults set
    try:
        # Set a state of task instances
        api_response = api_instance.post_set_task_instances_state(dag_id, update_task_instances_state)
        pprint(api_response)
    except client.ApiException as e:
        print("Exception when calling DAGApi->post_set_task_instances_state: %s\n" % e)

Parameters

NameTypeDescriptionNotes
dag_idstrThe DAG ID.
update_task_instances_stateUpdateTaskInstancesStateParameters of action

Return type

TaskInstanceReferenceCollection

Authorization

Basic, Kerberos

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Success.-
401Request not authenticated due to missing, invalid, authentication info.-
403Client does not have sufficient permission.-
404A specified resource is not found.-

[Back to top] [Back to API list] [Back to Model list] [Back to README]