Generate client version 2.5.0 (#29)

* Version 2.5.0

* Add CHANGELOG.md
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..50f9be7
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,41 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# v2.5.0
+
+Apache Airflow API version: 2.5.x
+
+### Major changes:
+
+- NA
+
+### Major fixes:
+
+- NA
+
+### New API supported:
+
+- GET /datasets/events | Get dataset events
+- GET /datasets | Get datasets
+- GET /datasets/{id} | Get a dataset
+- POST /dags/{dag_id}/dagRuns/{dag_run_id}/clear | Clear a dagrun endpoint
+- GET /dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | Get dataset events for a DAG run
+- PATCH /dags | Update DAGs
+- GET /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index} | Get a mapped task instance
+- GET /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped | List mapped task instances
diff --git a/airflow/.openapi-generator/FILES b/airflow/.openapi-generator/FILES
index 84f9344..0df9136 100644
--- a/airflow/.openapi-generator/FILES
+++ b/airflow/.openapi-generator/FILES
@@ -5,6 +5,8 @@
 api_connection.go
 api_dag.go
 api_dag_run.go
+api_dag_warning.go
+api_dataset.go
 api_event_log.go
 api_import_error.go
 api_monitoring.go
@@ -23,8 +25,10 @@
 docs/ActionCollection.md
 docs/ActionCollectionAllOf.md
 docs/ActionResource.md
+docs/BasicDAGRun.md
 docs/ClassReference.md
-docs/ClearTaskInstance.md
+docs/ClearDagRun.md
+docs/ClearTaskInstances.md
 docs/CollectionInfo.md
 docs/Config.md
 docs/ConfigApi.md
@@ -48,7 +52,19 @@
 docs/DAGRunApi.md
 docs/DAGRunCollection.md
 docs/DAGRunCollectionAllOf.md
+docs/DagScheduleDatasetReference.md
 docs/DagState.md
+docs/DagWarning.md
+docs/DagWarningApi.md
+docs/DagWarningCollection.md
+docs/DagWarningCollectionAllOf.md
+docs/Dataset.md
+docs/DatasetApi.md
+docs/DatasetCollection.md
+docs/DatasetCollectionAllOf.md
+docs/DatasetEvent.md
+docs/DatasetEventCollection.md
+docs/DatasetEventCollectionAllOf.md
 docs/Error.md
 docs/EventLog.md
 docs/EventLogApi.md
@@ -64,6 +80,7 @@
 docs/ImportErrorCollectionAllOf.md
 docs/InlineResponse200.md
 docs/InlineResponse2001.md
+docs/Job.md
 docs/ListDagRunsForm.md
 docs/ListTaskInstanceForm.md
 docs/MetadatabaseStatus.md
@@ -89,6 +106,8 @@
 docs/SLAMiss.md
 docs/ScheduleInterval.md
 docs/SchedulerStatus.md
+docs/SetDagRunNote.md
+docs/SetTaskInstanceNote.md
 docs/Tag.md
 docs/Task.md
 docs/TaskCollection.md
@@ -99,10 +118,13 @@
 docs/TaskInstanceCollectionAllOf.md
 docs/TaskInstanceReference.md
 docs/TaskInstanceReferenceCollection.md
+docs/TaskOutletDatasetReference.md
 docs/TaskState.md
 docs/TimeDelta.md
+docs/Trigger.md
 docs/TriggerRule.md
 docs/UpdateDagRunState.md
+docs/UpdateTaskInstance.md
 docs/UpdateTaskInstancesState.md
 docs/User.md
 docs/UserAllOf.md
@@ -131,8 +153,10 @@
 model_action_collection.go
 model_action_collection_all_of.go
 model_action_resource.go
+model_basic_dag_run.go
 model_class_reference.go
-model_clear_task_instance.go
+model_clear_dag_run.go
+model_clear_task_instances.go
 model_collection_info.go
 model_config.go
 model_config_option.go
@@ -152,7 +176,17 @@
 model_dag_run.go
 model_dag_run_collection.go
 model_dag_run_collection_all_of.go
+model_dag_schedule_dataset_reference.go
 model_dag_state.go
+model_dag_warning.go
+model_dag_warning_collection.go
+model_dag_warning_collection_all_of.go
+model_dataset.go
+model_dataset_collection.go
+model_dataset_collection_all_of.go
+model_dataset_event.go
+model_dataset_event_collection.go
+model_dataset_event_collection_all_of.go
 model_error.go
 model_event_log.go
 model_event_log_collection.go
@@ -166,6 +200,7 @@
 model_import_error_collection_all_of.go
 model_inline_response_200.go
 model_inline_response_200_1.go
+model_job.go
 model_list_dag_runs_form.go
 model_list_task_instance_form.go
 model_metadatabase_status.go
@@ -184,6 +219,8 @@
 model_role_collection_all_of.go
 model_schedule_interval.go
 model_scheduler_status.go
+model_set_dag_run_note.go
+model_set_task_instance_note.go
 model_sla_miss.go
 model_tag.go
 model_task.go
@@ -194,10 +231,13 @@
 model_task_instance_collection_all_of.go
 model_task_instance_reference.go
 model_task_instance_reference_collection.go
+model_task_outlet_dataset_reference.go
 model_task_state.go
 model_time_delta.go
+model_trigger.go
 model_trigger_rule.go
 model_update_dag_run_state.go
+model_update_task_instance.go
 model_update_task_instances_state.go
 model_user.go
 model_user_all_of.go
diff --git a/airflow/README.md b/airflow/README.md
index 32946e9..5d8a4dc 100644
--- a/airflow/README.md
+++ b/airflow/README.md
@@ -232,8 +232,8 @@
 ## Overview
 This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.
 
-- API version: 1.0.0
-- Package version: 2.1.0
+- API version: 2.5.0
+- Package version: 2.5.0
 - Build package: org.openapitools.codegen.languages.GoClientCodegen
 For more information, please visit [https://airflow.apache.org](https://airflow.apache.org)
 
@@ -324,12 +324,22 @@
 *DAGApi* | [**PatchDags**](docs/DAGApi.md#patchdags) | **Patch** /dags | Update DAGs
 *DAGApi* | [**PostClearTaskInstances**](docs/DAGApi.md#postcleartaskinstances) | **Post** /dags/{dag_id}/clearTaskInstances | Clear a set of task instances
 *DAGApi* | [**PostSetTaskInstancesState**](docs/DAGApi.md#postsettaskinstancesstate) | **Post** /dags/{dag_id}/updateTaskInstancesState | Set a state of task instances
+*DAGApi* | [**SetMappedTaskInstanceNote**](docs/DAGApi.md#setmappedtaskinstancenote) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/setNote | Update the TaskInstance note.
+*DAGApi* | [**SetTaskInstanceNote**](docs/DAGApi.md#settaskinstancenote) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/setNote | Update the TaskInstance note.
+*DAGRunApi* | [**ClearDagRun**](docs/DAGRunApi.md#cleardagrun) | **Post** /dags/{dag_id}/dagRuns/{dag_run_id}/clear | Clear a DAG run
 *DAGRunApi* | [**DeleteDagRun**](docs/DAGRunApi.md#deletedagrun) | **Delete** /dags/{dag_id}/dagRuns/{dag_run_id} | Delete a DAG run
 *DAGRunApi* | [**GetDagRun**](docs/DAGRunApi.md#getdagrun) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id} | Get a DAG run
 *DAGRunApi* | [**GetDagRuns**](docs/DAGRunApi.md#getdagruns) | **Get** /dags/{dag_id}/dagRuns | List DAG runs
 *DAGRunApi* | [**GetDagRunsBatch**](docs/DAGRunApi.md#getdagrunsbatch) | **Post** /dags/~/dagRuns/list | List DAG runs (batch)
+*DAGRunApi* | [**GetUpstreamDatasetEvents**](docs/DAGRunApi.md#getupstreamdatasetevents) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | Get dataset events for a DAG run
 *DAGRunApi* | [**PostDagRun**](docs/DAGRunApi.md#postdagrun) | **Post** /dags/{dag_id}/dagRuns | Trigger a new DAG run
+*DAGRunApi* | [**SetDagRunNote**](docs/DAGRunApi.md#setdagrunnote) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/setNote | Update the DagRun note.
 *DAGRunApi* | [**UpdateDagRunState**](docs/DAGRunApi.md#updatedagrunstate) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id} | Modify a DAG run
+*DagWarningApi* | [**GetDagWarnings**](docs/DagWarningApi.md#getdagwarnings) | **Get** /dagWarnings | List dag warnings
+*DatasetApi* | [**GetDataset**](docs/DatasetApi.md#getdataset) | **Get** /datasets/{uri} | Get a dataset
+*DatasetApi* | [**GetDatasetEvents**](docs/DatasetApi.md#getdatasetevents) | **Get** /datasets/events | Get dataset events
+*DatasetApi* | [**GetDatasets**](docs/DatasetApi.md#getdatasets) | **Get** /datasets | List datasets
+*DatasetApi* | [**GetUpstreamDatasetEvents**](docs/DatasetApi.md#getupstreamdatasetevents) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | Get dataset events for a DAG run
 *EventLogApi* | [**GetEventLog**](docs/EventLogApi.md#geteventlog) | **Get** /eventLogs/{event_log_id} | Get a log entry
 *EventLogApi* | [**GetEventLogs**](docs/EventLogApi.md#geteventlogs) | **Get** /eventLogs | List log entries
 *ImportErrorApi* | [**GetImportError**](docs/ImportErrorApi.md#getimporterror) | **Get** /importErrors/{import_error_id} | Get an import error
@@ -356,6 +366,8 @@
 *TaskInstanceApi* | [**GetTaskInstance**](docs/TaskInstanceApi.md#gettaskinstance) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | Get a task instance
 *TaskInstanceApi* | [**GetTaskInstances**](docs/TaskInstanceApi.md#gettaskinstances) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | List task instances
 *TaskInstanceApi* | [**GetTaskInstancesBatch**](docs/TaskInstanceApi.md#gettaskinstancesbatch) | **Post** /dags/~/dagRuns/~/taskInstances/list | List task instances (batch)
+*TaskInstanceApi* | [**PatchMappedTaskInstance**](docs/TaskInstanceApi.md#patchmappedtaskinstance) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index} | Updates the state of a mapped task instance
+*TaskInstanceApi* | [**PatchTaskInstance**](docs/TaskInstanceApi.md#patchtaskinstance) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | Updates the state of a task instance
 *UserApi* | [**DeleteUser**](docs/UserApi.md#deleteuser) | **Delete** /users/{username} | Delete a user
 *UserApi* | [**GetUser**](docs/UserApi.md#getuser) | **Get** /users/{username} | Get a user
 *UserApi* | [**GetUsers**](docs/UserApi.md#getusers) | **Get** /users | List users
@@ -376,8 +388,10 @@
  - [ActionCollection](docs/ActionCollection.md)
  - [ActionCollectionAllOf](docs/ActionCollectionAllOf.md)
  - [ActionResource](docs/ActionResource.md)
+ - [BasicDAGRun](docs/BasicDAGRun.md)
  - [ClassReference](docs/ClassReference.md)
- - [ClearTaskInstance](docs/ClearTaskInstance.md)
+ - [ClearDagRun](docs/ClearDagRun.md)
+ - [ClearTaskInstances](docs/ClearTaskInstances.md)
  - [CollectionInfo](docs/CollectionInfo.md)
  - [Config](docs/Config.md)
  - [ConfigOption](docs/ConfigOption.md)
@@ -397,7 +411,17 @@
  - [DAGRun](docs/DAGRun.md)
  - [DAGRunCollection](docs/DAGRunCollection.md)
  - [DAGRunCollectionAllOf](docs/DAGRunCollectionAllOf.md)
+ - [DagScheduleDatasetReference](docs/DagScheduleDatasetReference.md)
  - [DagState](docs/DagState.md)
+ - [DagWarning](docs/DagWarning.md)
+ - [DagWarningCollection](docs/DagWarningCollection.md)
+ - [DagWarningCollectionAllOf](docs/DagWarningCollectionAllOf.md)
+ - [Dataset](docs/Dataset.md)
+ - [DatasetCollection](docs/DatasetCollection.md)
+ - [DatasetCollectionAllOf](docs/DatasetCollectionAllOf.md)
+ - [DatasetEvent](docs/DatasetEvent.md)
+ - [DatasetEventCollection](docs/DatasetEventCollection.md)
+ - [DatasetEventCollectionAllOf](docs/DatasetEventCollectionAllOf.md)
  - [Error](docs/Error.md)
  - [EventLog](docs/EventLog.md)
  - [EventLogCollection](docs/EventLogCollection.md)
@@ -411,6 +435,7 @@
  - [ImportErrorCollectionAllOf](docs/ImportErrorCollectionAllOf.md)
  - [InlineResponse200](docs/InlineResponse200.md)
  - [InlineResponse2001](docs/InlineResponse2001.md)
+ - [Job](docs/Job.md)
  - [ListDagRunsForm](docs/ListDagRunsForm.md)
  - [ListTaskInstanceForm](docs/ListTaskInstanceForm.md)
  - [MetadatabaseStatus](docs/MetadatabaseStatus.md)
@@ -430,6 +455,8 @@
  - [SLAMiss](docs/SLAMiss.md)
  - [ScheduleInterval](docs/ScheduleInterval.md)
  - [SchedulerStatus](docs/SchedulerStatus.md)
+ - [SetDagRunNote](docs/SetDagRunNote.md)
+ - [SetTaskInstanceNote](docs/SetTaskInstanceNote.md)
  - [Tag](docs/Tag.md)
  - [Task](docs/Task.md)
  - [TaskCollection](docs/TaskCollection.md)
@@ -439,10 +466,13 @@
  - [TaskInstanceCollectionAllOf](docs/TaskInstanceCollectionAllOf.md)
  - [TaskInstanceReference](docs/TaskInstanceReference.md)
  - [TaskInstanceReferenceCollection](docs/TaskInstanceReferenceCollection.md)
+ - [TaskOutletDatasetReference](docs/TaskOutletDatasetReference.md)
  - [TaskState](docs/TaskState.md)
  - [TimeDelta](docs/TimeDelta.md)
+ - [Trigger](docs/Trigger.md)
  - [TriggerRule](docs/TriggerRule.md)
  - [UpdateDagRunState](docs/UpdateDagRunState.md)
+ - [UpdateTaskInstance](docs/UpdateTaskInstance.md)
  - [UpdateTaskInstancesState](docs/UpdateTaskInstancesState.md)
  - [User](docs/User.md)
  - [UserAllOf](docs/UserAllOf.md)
diff --git a/airflow/api/openapi.yaml b/airflow/api/openapi.yaml
index 246f759..2596ac4 100644
--- a/airflow/api/openapi.yaml
+++ b/airflow/api/openapi.yaml
@@ -234,12 +234,16 @@
     name: Apache 2.0
     url: http://www.apache.org/licenses/LICENSE-2.0.html
   title: Airflow API (Stable)
-  version: 1.0.0
+  version: 2.5.0
 externalDocs:
   url: https://airflow.apache.org/docs/apache-airflow/stable/
 servers:
 - description: Apache Airflow Stable API.
   url: /api/v1
+security:
+- Basic: []
+- GoogleOpenId: []
+- Kerberos: []
 tags:
 - name: Config
 - name: Connection
@@ -257,6 +261,8 @@
 - name: Role
 - name: Permission
 - name: User
+- name: DagWarning
+- name: Dataset
 paths:
   /connections:
     get:
@@ -932,7 +938,7 @@
         content:
           application/json:
             schema:
-              $ref: '#/components/schemas/ClearTaskInstance'
+              $ref: '#/components/schemas/ClearTaskInstances'
         description: Parameters of action
         required: true
       responses:
@@ -965,6 +971,164 @@
       tags:
       - DAG
       x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
+  /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/setNote:
+    patch:
+      description: |
+        Update the manual user note of a non-mapped Task Instance.
+
+        *New in version 2.5.0*
+      operationId: set_task_instance_note
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The task ID.
+        explode: false
+        in: path
+        name: task_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/SetTaskInstanceNote'
+        description: Parameters of set Task Instance note.
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TaskInstance'
+          description: Success.
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client specified an invalid argument.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Update the TaskInstance note.
+      tags:
+      - DAG
+      x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
+  /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/setNote:
+    patch:
+      description: |
+        Update the manual user note of a mapped Task Instance.
+
+        *New in version 2.5.0*
+      operationId: set_mapped_task_instance_note
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The task ID.
+        explode: false
+        in: path
+        name: task_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The map index.
+        explode: false
+        in: path
+        name: map_index
+        required: true
+        schema:
+          type: integer
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/SetTaskInstanceNote'
+        description: Parameters of set Task Instance note.
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TaskInstance'
+          description: Success.
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client specified an invalid argument.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Update the TaskInstance note.
+      tags:
+      - DAG
+      x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
   /dags/{dag_id}/updateTaskInstancesState:
     post:
       description: |
@@ -1428,6 +1592,194 @@
       tags:
       - DAGRun
       x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
+  /dags/{dag_id}/dagRuns/{dag_run_id}/clear:
+    post:
+      description: |
+        Clear a DAG run.
+
+        *New in version 2.4.0*
+      operationId: clear_dag_run
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ClearDagRun'
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DAGRun'
+          description: Success.
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client specified an invalid argument.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Clear a DAG run
+      tags:
+      - DAGRun
+      x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
+  /dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents:
+    get:
+      description: |
+        Get datasets for a dag run.
+
+        *New in version 2.4.0*
+      operationId: get_upstream_dataset_events
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatasetEventCollection'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Get dataset events for a DAG run
+      tags:
+      - DAGRun
+      - Dataset
+      x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
+  /dags/{dag_id}/dagRuns/{dag_run_id}/setNote:
+    patch:
+      description: |
+        Update the manual user note of a DagRun.
+
+        *New in version 2.5.0*
+      operationId: set_dag_run_note
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/SetDagRunNote'
+        description: Parameters of set DagRun note.
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DAGRun'
+          description: Success.
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client specified an invalid argument.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Update the DagRun note.
+      tags:
+      - DAGRun
+      x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
   /eventLogs:
     get:
       description: List log entries from event log.
@@ -2167,6 +2519,73 @@
       tags:
       - TaskInstance
       x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
+    patch:
+      description: |
+        Updates the state for single task instance.
+        *New in version 2.5.0*
+      operationId: patch_task_instance
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The task ID.
+        explode: false
+        in: path
+        name: task_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UpdateTaskInstance'
+        description: Parameters of action
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TaskInstanceReference'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Updates the state of a task instance
+      tags:
+      - TaskInstance
+      x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
   /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}:
     get:
       description: |
@@ -2237,6 +2656,80 @@
       tags:
       - TaskInstance
       x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
+    patch:
+      description: |
+        Updates the state for single mapped task instance.
+        *New in version 2.5.0*
+      operationId: patch_mapped_task_instance
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The task ID.
+        explode: false
+        in: path
+        name: task_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The map index.
+        explode: false
+        in: path
+        name: map_index
+        required: true
+        schema:
+          type: integer
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UpdateTaskInstance'
+        description: Parameters of action
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TaskInstanceReference'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Updates the state of a mapped task instance
+      tags:
+      - TaskInstance
+      x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
   /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped:
     get:
       description: |
@@ -2432,7 +2925,7 @@
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/TaskInstance'
+                $ref: '#/components/schemas/TaskInstanceCollection'
           description: Success.
         "401":
           content:
@@ -2608,6 +3101,7 @@
         name: variable_key
         required: true
         schema:
+          format: path
           type: string
         style: simple
       responses:
@@ -2652,6 +3146,7 @@
         name: variable_key
         required: true
         schema:
+          format: path
           type: string
         style: simple
       responses:
@@ -2694,6 +3189,7 @@
         name: variable_key
         required: true
         schema:
+          format: path
           type: string
         style: simple
       - description: |
@@ -2861,6 +3357,24 @@
         schema:
           type: string
         style: simple
+      - description: |
+          Whether to deserialize an XCom value when using a custom XCom backend.
+
+          The XCom API endpoint calls `orm_deserialize_value` by default since an XCom may contain value
+          that is potentially expensive to deserialize in the web server. Setting this to true overrides
+          the consideration, and calls `deserialize_value` instead.
+
+          This parameter is not meaningful when using the default XCom backend.
+
+          *New in version 2.4.0*
+        explode: true
+        in: query
+        name: deserialize
+        required: false
+        schema:
+          default: false
+          type: boolean
+        style: form
       responses:
         "200":
           content:
@@ -2998,6 +3512,14 @@
         schema:
           type: boolean
         style: form
+      - description: Filter on map index for mapped task.
+        explode: true
+        in: query
+        name: map_index
+        required: false
+        schema:
+          type: integer
+        style: form
       - description: |
           A token that allows you to continue fetching logs.
           If passed, it will specify the location from which the download should be continued.
@@ -3251,6 +3773,299 @@
       tags:
       - DAG
       x-openapi-router-controller: airflow.api_connexion.endpoints.dag_source_endpoint
+  /dagWarnings:
+    get:
+      operationId: get_dag_warnings
+      parameters:
+      - description: If set, only return DAG warnings with this dag_id.
+        explode: true
+        in: query
+        name: dag_id
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: If set, only return DAG warnings with this type.
+        explode: true
+        in: query
+        name: warning_type
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: The numbers of items to return.
+        explode: true
+        in: query
+        name: limit
+        required: false
+        schema:
+          default: 100
+          type: integer
+        style: form
+      - description: The number of items to skip before starting to collect the result
+          set.
+        explode: true
+        in: query
+        name: offset
+        required: false
+        schema:
+          minimum: 0
+          type: integer
+        style: form
+      - description: |
+          The name of the field to order the results by.
+          Prefix a field name with `-` to reverse the sort order.
+
+          *New in version 2.1.0*
+        explode: true
+        in: query
+        name: order_by
+        required: false
+        schema:
+          type: string
+        style: form
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DagWarningCollection'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+      summary: List dag warnings
+      tags:
+      - DagWarning
+      x-openapi-router-controller: airflow.api_connexion.endpoints.dag_warning_endpoint
+  /datasets:
+    get:
+      operationId: get_datasets
+      parameters:
+      - description: The numbers of items to return.
+        explode: true
+        in: query
+        name: limit
+        required: false
+        schema:
+          default: 100
+          type: integer
+        style: form
+      - description: The number of items to skip before starting to collect the result
+          set.
+        explode: true
+        in: query
+        name: offset
+        required: false
+        schema:
+          minimum: 0
+          type: integer
+        style: form
+      - description: |
+          The name of the field to order the results by.
+          Prefix a field name with `-` to reverse the sort order.
+
+          *New in version 2.1.0*
+        explode: true
+        in: query
+        name: order_by
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: |
+          If set, only return datasets with uris matching this pattern.
+        explode: true
+        in: query
+        name: uri_pattern
+        required: false
+        schema:
+          type: string
+        style: form
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatasetCollection'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+      summary: List datasets
+      tags:
+      - Dataset
+      x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
+  /datasets/{uri}:
+    get:
+      description: Get a dataset by uri.
+      operationId: get_dataset
+      parameters:
+      - description: The encoded Dataset URI
+        explode: false
+        in: path
+        name: uri
+        required: true
+        schema:
+          format: path
+          type: string
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Dataset'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Get a dataset
+      tags:
+      - Dataset
+      x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
+  /datasets/events:
+    get:
+      description: Get dataset events
+      operationId: get_dataset_events
+      parameters:
+      - description: The numbers of items to return.
+        explode: true
+        in: query
+        name: limit
+        required: false
+        schema:
+          default: 100
+          type: integer
+        style: form
+      - description: The number of items to skip before starting to collect the result
+          set.
+        explode: true
+        in: query
+        name: offset
+        required: false
+        schema:
+          minimum: 0
+          type: integer
+        style: form
+      - description: |
+          The name of the field to order the results by.
+          Prefix a field name with `-` to reverse the sort order.
+
+          *New in version 2.1.0*
+        explode: true
+        in: query
+        name: order_by
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: The Dataset ID that updated the dataset.
+        explode: true
+        in: query
+        name: dataset_id
+        required: false
+        schema:
+          type: integer
+        style: form
+      - description: The DAG ID that updated the dataset.
+        explode: true
+        in: query
+        name: source_dag_id
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: The task ID that updated the dataset.
+        explode: true
+        in: query
+        name: source_task_id
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: The DAG run ID that updated the dataset.
+        explode: true
+        in: query
+        name: source_run_id
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: The map index that updated the dataset.
+        explode: true
+        in: query
+        name: source_map_index
+        required: false
+        schema:
+          type: integer
+        style: form
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatasetEventCollection'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Get dataset events
+      tags:
+      - Dataset
+      x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
   /config:
     get:
       operationId: get_config
@@ -4107,6 +4922,16 @@
       schema:
         type: integer
       style: simple
+    DatasetURI:
+      description: The encoded Dataset URI
+      explode: false
+      in: path
+      name: uri
+      required: true
+      schema:
+        format: path
+        type: string
+      style: simple
     PoolName:
       description: The pool name.
       explode: false
@@ -4123,6 +4948,7 @@
       name: variable_key
       required: true
       schema:
+        format: path
         type: string
       style: simple
     FullContent:
@@ -4308,6 +5134,60 @@
           type: string
         type: array
       style: form
+    FilterDatasetID:
+      description: The Dataset ID that updated the dataset.
+      explode: true
+      in: query
+      name: dataset_id
+      required: false
+      schema:
+        type: integer
+      style: form
+    FilterSourceDAGID:
+      description: The DAG ID that updated the dataset.
+      explode: true
+      in: query
+      name: source_dag_id
+      required: false
+      schema:
+        type: string
+      style: form
+    FilterSourceTaskID:
+      description: The task ID that updated the dataset.
+      explode: true
+      in: query
+      name: source_task_id
+      required: false
+      schema:
+        type: string
+      style: form
+    FilterSourceRunID:
+      description: The DAG run ID that updated the dataset.
+      explode: true
+      in: query
+      name: source_run_id
+      required: false
+      schema:
+        type: string
+      style: form
+    FilterSourceMapIndex:
+      description: The map index that updated the dataset.
+      explode: true
+      in: query
+      name: source_map_index
+      required: false
+      schema:
+        type: integer
+      style: form
+    FilterMapIndex:
+      description: Filter on map index for mapped task.
+      explode: true
+      in: query
+      name: map_index
+      required: false
+      schema:
+        type: integer
+      style: form
     OrderBy:
       description: |
         The name of the field to order the results by.
@@ -4436,15 +5316,13 @@
           description: |
             The user's first name.
 
-            *Changed in version 2.2.0*&#58; A minimum character length requirement ('minLength') is added.
-          minLength: 1
+            *Changed in version 2.4.0*&#58; The requirement for this to be non-empty was removed.
           type: string
         last_name:
           description: |
             The user's last name.
 
-            *Changed in version 2.2.0*&#58; A minimum character length requirement ('minLength') is added.
-          minLength: 1
+            *Changed in version 2.4.0*&#58; The requirement for this to be non-empty was removed.
           type: string
         username:
           description: |
@@ -4531,6 +5409,10 @@
         conn_type:
           description: The connection type.
           type: string
+        description:
+          description: The description of the connection.
+          nullable: true
+          type: string
         host:
           description: Host of the connection.
           nullable: true
@@ -4809,6 +5691,7 @@
     DAGRun:
       example:
         end_date: 2000-01-23T04:56:07.000+00:00
+        note: note
         execution_date: 2000-01-23T04:56:07.000+00:00
         external_trigger: true
         conf: '{}'
@@ -4899,6 +5782,7 @@
           - backfill
           - manual
           - scheduled
+          - dataset_triggered
           readOnly: true
           type: string
         state:
@@ -4914,6 +5798,13 @@
             The value of this field can be set only when creating the object. If you try to modify the
             field of an existing object, the request fails with an BAD_REQUEST error.
           type: object
+        note:
+          description: |
+            Contains manually entered notes by the user about the DagRun.
+
+            *New in version 2.5.0*
+          nullable: true
+          type: string
       type: object
     UpdateDagRunState:
       description: |
@@ -4940,6 +5831,41 @@
 
         *Changed in version 2.1.0*&#58; 'total_entries' field is added.
       type: object
+    DagWarning:
+      properties:
+        dag_id:
+          description: The dag_id.
+          readOnly: true
+          type: string
+        warning_type:
+          description: The warning type for the dag warning.
+          readOnly: true
+          type: string
+        message:
+          description: The message for the dag warning.
+          readOnly: true
+          type: string
+        timestamp:
+          description: The time when this warning was logged.
+          format: datetime
+          readOnly: true
+          type: string
+      type: object
+    DagWarningCollection:
+      allOf:
+      - $ref: '#/components/schemas/DagWarningCollection_allOf'
+      - $ref: '#/components/schemas/CollectionInfo'
+      description: |
+        Collection of DAG warnings.
+      type: object
+    SetDagRunNote:
+      example:
+        note: note
+      properties:
+        note:
+          description: Custom notes left by users for this Dag Run.
+          type: string
+      type: object
     EventLog:
       description: Log of user operations via CLI or Web UI.
       example:
@@ -5156,6 +6082,7 @@
         task_id: task_id
         dag_id: dag_id
         timestamp: timestamp
+      nullable: true
       properties:
         task_id:
           description: The task ID.
@@ -5178,17 +6105,81 @@
         notification_sent:
           type: boolean
       type: object
+    Trigger:
+      example:
+        classpath: classpath
+        kwargs: kwargs
+        id: 9
+        created_date: created_date
+        triggerer_id: 3
+      properties:
+        id:
+          type: integer
+        classpath:
+          type: string
+        kwargs:
+          type: string
+        created_date:
+          format: datetime
+          type: string
+        triggerer_id:
+          nullable: true
+          type: integer
+      type: object
+    Job:
+      example:
+        job_type: job_type
+        end_date: end_date
+        unixname: unixname
+        latest_heartbeat: latest_heartbeat
+        hostname: hostname
+        id: 2
+        dag_id: dag_id
+        state: state
+        executor_class: executor_class
+        start_date: start_date
+      properties:
+        id:
+          type: integer
+        dag_id:
+          nullable: true
+          type: string
+        state:
+          nullable: true
+          type: string
+        job_type:
+          nullable: true
+          type: string
+        start_date:
+          format: datetime
+          nullable: true
+          type: string
+        end_date:
+          format: datetime
+          nullable: true
+          type: string
+        latest_heartbeat:
+          format: datetime
+          nullable: true
+          type: string
+        executor_class:
+          nullable: true
+          type: string
+        hostname:
+          nullable: true
+          type: string
+        unixname:
+          nullable: true
+          type: string
+      type: object
     TaskInstance:
       example:
         end_date: end_date
         unixname: unixname
+        note: note
         rendered_fields: '{}'
-        execution_date: execution_date
-        pool_slots: 5
-        pool: pool
         task_id: task_id
-        pid: 2
-        max_tries: 1
+        pid: 7
         operator: operator
         sla_miss:
           notification_sent: true
@@ -5200,14 +6191,36 @@
           timestamp: timestamp
         duration: 0.8008281904610115
         hostname: hostname
+        dag_id: dag_id
+        priority_weight: 2
+        start_date: start_date
+        queued_when: queued_when
+        triggerer_job:
+          job_type: job_type
+          end_date: end_date
+          unixname: unixname
+          latest_heartbeat: latest_heartbeat
+          hostname: hostname
+          id: 2
+          dag_id: dag_id
+          state: state
+          executor_class: executor_class
+          start_date: start_date
+        execution_date: execution_date
+        pool_slots: 5
+        pool: pool
+        map_index: 1
+        max_tries: 5
+        trigger:
+          classpath: classpath
+          kwargs: kwargs
+          id: 9
+          created_date: created_date
+          triggerer_id: 3
         executor_config: executor_config
         dag_run_id: dag_run_id
         try_number: 6
-        dag_id: dag_id
-        priority_weight: 5
         queue: queue
-        start_date: start_date
-        queued_when: queued_when
       properties:
         task_id:
           type: string
@@ -5237,6 +6250,8 @@
           $ref: '#/components/schemas/TaskState'
         try_number:
           type: integer
+        map_index:
+          type: integer
         max_tries:
           type: integer
         hostname:
@@ -5248,8 +6263,10 @@
         pool_slots:
           type: integer
         queue:
+          nullable: true
           type: string
         priority_weight:
+          nullable: true
           type: integer
         operator:
           description: |
@@ -5272,6 +6289,17 @@
 
             *New in version 2.3.0*
           type: object
+        trigger:
+          $ref: '#/components/schemas/Trigger'
+        triggerer_job:
+          $ref: '#/components/schemas/Job'
+        note:
+          description: |
+            Contains manually entered notes by the user about the TaskInstance.
+
+            *New in version 2.5.0*
+          nullable: true
+          type: string
       type: object
     TaskInstanceCollection:
       allOf:
@@ -5330,6 +6358,13 @@
       properties:
         key:
           type: string
+        description:
+          description: |
+            The description of the variable.
+
+            *New in version 2.4.0*
+          nullable: true
+          type: string
       type: object
     VariableCollection:
       allOf:
@@ -5539,6 +6574,7 @@
           readOnly: true
           type: number
         queue:
+          nullable: true
           readOnly: true
           type: string
         pool:
@@ -5738,9 +6774,6 @@
 
         *New in version 2.1.0*
       properties:
-        number:
-          description: The plugin number
-          type: string
         name:
           description: The name of the plugin
           type: string
@@ -5895,6 +6928,222 @@
         resource:
           $ref: '#/components/schemas/Resource'
       type: object
+    Dataset:
+      description: |
+        A dataset item.
+
+        *New in version 2.4.0*
+      example:
+        consuming_dags:
+        - updated_at: updated_at
+          created_at: created_at
+          dag_id: dag_id
+        - updated_at: updated_at
+          created_at: created_at
+          dag_id: dag_id
+        updated_at: updated_at
+        extra: '{}'
+        producing_tasks:
+        - updated_at: updated_at
+          created_at: created_at
+          task_id: task_id
+          dag_id: dag_id
+        - updated_at: updated_at
+          created_at: created_at
+          task_id: task_id
+          dag_id: dag_id
+        created_at: created_at
+        id: 0
+        uri: uri
+      properties:
+        id:
+          description: The dataset id
+          type: integer
+        uri:
+          description: The dataset uri
+          nullable: false
+          type: string
+        extra:
+          description: The dataset extra
+          nullable: true
+          type: object
+        created_at:
+          description: The dataset creation time
+          nullable: false
+          type: string
+        updated_at:
+          description: The dataset update time
+          nullable: false
+          type: string
+        consuming_dags:
+          items:
+            $ref: '#/components/schemas/DagScheduleDatasetReference'
+          type: array
+        producing_tasks:
+          items:
+            $ref: '#/components/schemas/TaskOutletDatasetReference'
+          type: array
+      type: object
+    TaskOutletDatasetReference:
+      description: |
+        A datasets reference to an upstream task.
+
+        *New in version 2.4.0*
+      example:
+        updated_at: updated_at
+        created_at: created_at
+        task_id: task_id
+        dag_id: dag_id
+      properties:
+        dag_id:
+          description: The DAG ID that updates the dataset.
+          nullable: true
+          type: string
+        task_id:
+          description: The task ID that updates the dataset.
+          nullable: true
+          type: string
+        created_at:
+          description: The dataset creation time
+          nullable: false
+          type: string
+        updated_at:
+          description: The dataset update time
+          nullable: false
+          type: string
+      type: object
+    DagScheduleDatasetReference:
+      description: |
+        A datasets reference to a downstream DAG.
+
+        *New in version 2.4.0*
+      example:
+        updated_at: updated_at
+        created_at: created_at
+        dag_id: dag_id
+      properties:
+        dag_id:
+          description: The DAG ID that depends on the dataset.
+          nullable: true
+          type: string
+        created_at:
+          description: The dataset reference creation time
+          nullable: false
+          type: string
+        updated_at:
+          description: The dataset reference update time
+          nullable: false
+          type: string
+      type: object
+    DatasetCollection:
+      allOf:
+      - $ref: '#/components/schemas/DatasetCollection_allOf'
+      - $ref: '#/components/schemas/CollectionInfo'
+      description: |
+        A collection of datasets.
+
+        *New in version 2.4.0*
+      type: object
+    DatasetEvent:
+      description: |
+        A dataset event.
+
+        *New in version 2.4.0*
+      properties:
+        dataset_id:
+          description: The dataset id
+          type: integer
+        dataset_uri:
+          description: The URI of the dataset
+          nullable: false
+          type: string
+        extra:
+          description: The dataset event extra
+          nullable: true
+          type: object
+        source_dag_id:
+          description: The DAG ID that updated the dataset.
+          nullable: true
+          type: string
+        source_task_id:
+          description: The task ID that updated the dataset.
+          nullable: true
+          type: string
+        source_run_id:
+          description: The DAG run ID that updated the dataset.
+          nullable: true
+          type: string
+        source_map_index:
+          description: The task map index that updated the dataset.
+          nullable: true
+          type: integer
+        created_dagruns:
+          items:
+            $ref: '#/components/schemas/BasicDAGRun'
+          type: array
+        timestamp:
+          description: The dataset event creation time
+          nullable: false
+          type: string
+      type: object
+    BasicDAGRun:
+      properties:
+        run_id:
+          description: |
+            Run ID.
+          type: string
+        dag_id:
+          readOnly: true
+          type: string
+        logical_date:
+          description: |
+            The logical date (previously called execution date). This is the time or interval covered by
+            this DAG run, according to the DAG definition.
+
+            The value of this field can be set only when creating the object. If you try to modify the
+            field of an existing object, the request fails with an BAD_REQUEST error.
+
+            This together with DAG_ID are a unique key.
+
+            *New in version 2.2.0*
+          format: date-time
+          type: string
+        start_date:
+          description: |
+            The start time. The time when DAG run was actually created.
+
+            *Changed in version 2.1.3*&#58; Field becomes nullable.
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        end_date:
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        data_interval_start:
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        data_interval_end:
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        state:
+          $ref: '#/components/schemas/DagState'
+      type: object
+    DatasetEventCollection:
+      allOf:
+      - $ref: '#/components/schemas/DatasetEventCollection_allOf'
+      - $ref: '#/components/schemas/CollectionInfo'
+      description: |
+        A collection of dataset events.
+
+        *New in version 2.4.0*
+      type: object
     ConfigOption:
       description: The option of configuration.
       example:
@@ -5962,18 +7211,34 @@
           nullable: true
           type: string
       type: object
-    ClearTaskInstance:
+    ClearDagRun:
+      example:
+        dry_run: true
+      properties:
+        dry_run:
+          default: true
+          description: |
+            If set, don't actually run this operation. The response will contain a list of task instances
+            planned to be cleaned, but not modified in any way.
+          type: boolean
+      type: object
+    ClearTaskInstances:
       example:
         end_date: end_date
-        only_running: false
+        include_future: false
+        include_past: false
         reset_dag_runs: true
         include_parentdag: true
         include_subdags: true
-        dry_run: true
-        only_failed: true
         task_ids:
         - task_ids
         - task_ids
+        include_downstream: false
+        only_running: false
+        dag_run_id: dag_run_id
+        include_upstream: false
+        dry_run: true
+        only_failed: true
         start_date: start_date
       properties:
         dry_run:
@@ -6017,6 +7282,26 @@
         reset_dag_runs:
           description: Set state of DAG runs to RUNNING.
           type: boolean
+        dag_run_id:
+          description: The DagRun ID for this task instance
+          nullable: true
+          type: string
+        include_upstream:
+          default: false
+          description: If set to true, upstream tasks are also affected.
+          type: boolean
+        include_downstream:
+          default: false
+          description: If set to true, downstream tasks are also affected.
+          type: boolean
+        include_future:
+          default: false
+          description: If set to True, also tasks from future DAG Runs are affected.
+          type: boolean
+        include_past:
+          default: false
+          description: If set to True, also tasks from past DAG Runs are affected.
+          type: boolean
       type: object
     UpdateTaskInstancesState:
       example:
@@ -6068,6 +7353,34 @@
           - failed
           type: string
       type: object
+    UpdateTaskInstance:
+      example:
+        new_state: success
+        dry_run: false
+      properties:
+        dry_run:
+          default: false
+          description: |
+            If set, don't actually run this operation. The response will contain the task instance
+            planned to be affected, but won't be modified in any way.
+          type: boolean
+        new_state:
+          description: Expected new state.
+          enum:
+          - success
+          - failed
+          type: string
+      type: object
+    SetTaskInstanceNote:
+      example:
+        note: note
+      properties:
+        note:
+          description: The custom note to set for this Task Instance.
+          type: string
+      required:
+      - note
+      type: object
     ListDagRunsForm:
       example:
         start_date_gte: 2000-01-23T04:56:07.000+00:00
@@ -6273,6 +7586,7 @@
         execution_date to figure out the next schedule.
       discriminator:
         propertyName: __type
+      nullable: true
       readOnly: true
     TimeDelta:
       description: Time delta
@@ -6432,7 +7746,10 @@
 
         *Changed in version 2.0.2*&#58; 'removed' is added as a possible value.
 
-        *Changed in version 2.2.0*&#58; 'deferred' and 'sensing' is added as a possible value.
+        *Changed in version 2.2.0*&#58; 'deferred' is added as a possible value.
+
+        *Changed in version 2.4.0*&#58; 'sensing' state has been removed.
+        *Changed in version 2.4.2*&#58; 'restarting' is added as a possible value
       enum:
       - success
       - running
@@ -6445,8 +7762,8 @@
       - none
       - scheduled
       - deferred
-      - sensing
       - removed
+      - restarting
       type: string
     DagState:
       description: |
@@ -6561,6 +7878,13 @@
             $ref: '#/components/schemas/DAGRun'
           type: array
       type: object
+    DagWarningCollection_allOf:
+      properties:
+        import_errors:
+          items:
+            $ref: '#/components/schemas/DagWarning'
+          type: array
+      type: object
     EventLogCollection_allOf:
       properties:
         event_logs:
@@ -6726,6 +8050,20 @@
             $ref: '#/components/schemas/Action'
           type: array
       type: object
+    DatasetCollection_allOf:
+      properties:
+        datasets:
+          items:
+            $ref: '#/components/schemas/Dataset'
+          type: array
+      type: object
+    DatasetEventCollection_allOf:
+      properties:
+        dataset_events:
+          items:
+            $ref: '#/components/schemas/DatasetEvent'
+          type: array
+      type: object
   securitySchemes:
     Basic:
       scheme: basic
diff --git a/airflow/api_config.go b/airflow/api_config.go
index da4c41e..3622137 100644
--- a/airflow/api_config.go
+++ b/airflow/api_config.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -44,13 +44,13 @@
 // ConfigApiService ConfigApi service
 type ConfigApiService service
 
-type ApiGetConfigRequest struct {
+type ConfigApiApiGetConfigRequest struct {
 	ctx _context.Context
 	ApiService *ConfigApiService
 }
 
 
-func (r ApiGetConfigRequest) Execute() (Config, *_nethttp.Response, error) {
+func (r ConfigApiApiGetConfigRequest) Execute() (Config, *_nethttp.Response, error) {
 	return r.ApiService.GetConfigExecute(r)
 }
 
@@ -58,10 +58,10 @@
 GetConfig Get current configuration
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetConfigRequest
+ @return ConfigApiApiGetConfigRequest
 */
-func (a *ConfigApiService) GetConfig(ctx _context.Context) ApiGetConfigRequest {
-	return ApiGetConfigRequest{
+func (a *ConfigApiService) GetConfig(ctx _context.Context) ConfigApiApiGetConfigRequest {
+	return ConfigApiApiGetConfigRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -69,7 +69,7 @@
 
 // Execute executes the request
 //  @return Config
-func (a *ConfigApiService) GetConfigExecute(r ApiGetConfigRequest) (Config, *_nethttp.Response, error) {
+func (a *ConfigApiService) GetConfigExecute(r ConfigApiApiGetConfigRequest) (Config, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
diff --git a/airflow/api_connection.go b/airflow/api_connection.go
index e39bbd0..7b39cee 100644
--- a/airflow/api_connection.go
+++ b/airflow/api_connection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -45,14 +45,14 @@
 // ConnectionApiService ConnectionApi service
 type ConnectionApiService service
 
-type ApiDeleteConnectionRequest struct {
+type ConnectionApiApiDeleteConnectionRequest struct {
 	ctx _context.Context
 	ApiService *ConnectionApiService
 	connectionId string
 }
 
 
-func (r ApiDeleteConnectionRequest) Execute() (*_nethttp.Response, error) {
+func (r ConnectionApiApiDeleteConnectionRequest) Execute() (*_nethttp.Response, error) {
 	return r.ApiService.DeleteConnectionExecute(r)
 }
 
@@ -61,10 +61,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param connectionId The connection ID.
- @return ApiDeleteConnectionRequest
+ @return ConnectionApiApiDeleteConnectionRequest
 */
-func (a *ConnectionApiService) DeleteConnection(ctx _context.Context, connectionId string) ApiDeleteConnectionRequest {
-	return ApiDeleteConnectionRequest{
+func (a *ConnectionApiService) DeleteConnection(ctx _context.Context, connectionId string) ConnectionApiApiDeleteConnectionRequest {
+	return ConnectionApiApiDeleteConnectionRequest{
 		ApiService: a,
 		ctx: ctx,
 		connectionId: connectionId,
@@ -72,7 +72,7 @@
 }
 
 // Execute executes the request
-func (a *ConnectionApiService) DeleteConnectionExecute(r ApiDeleteConnectionRequest) (*_nethttp.Response, error) {
+func (a *ConnectionApiService) DeleteConnectionExecute(r ConnectionApiApiDeleteConnectionRequest) (*_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodDelete
 		localVarPostBody     interface{}
@@ -177,14 +177,14 @@
 	return localVarHTTPResponse, nil
 }
 
-type ApiGetConnectionRequest struct {
+type ConnectionApiApiGetConnectionRequest struct {
 	ctx _context.Context
 	ApiService *ConnectionApiService
 	connectionId string
 }
 
 
-func (r ApiGetConnectionRequest) Execute() (Connection, *_nethttp.Response, error) {
+func (r ConnectionApiApiGetConnectionRequest) Execute() (Connection, *_nethttp.Response, error) {
 	return r.ApiService.GetConnectionExecute(r)
 }
 
@@ -193,10 +193,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param connectionId The connection ID.
- @return ApiGetConnectionRequest
+ @return ConnectionApiApiGetConnectionRequest
 */
-func (a *ConnectionApiService) GetConnection(ctx _context.Context, connectionId string) ApiGetConnectionRequest {
-	return ApiGetConnectionRequest{
+func (a *ConnectionApiService) GetConnection(ctx _context.Context, connectionId string) ConnectionApiApiGetConnectionRequest {
+	return ConnectionApiApiGetConnectionRequest{
 		ApiService: a,
 		ctx: ctx,
 		connectionId: connectionId,
@@ -205,7 +205,7 @@
 
 // Execute executes the request
 //  @return Connection
-func (a *ConnectionApiService) GetConnectionExecute(r ApiGetConnectionRequest) (Connection, *_nethttp.Response, error) {
+func (a *ConnectionApiService) GetConnectionExecute(r ConnectionApiApiGetConnectionRequest) (Connection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -310,7 +310,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetConnectionsRequest struct {
+type ConnectionApiApiGetConnectionsRequest struct {
 	ctx _context.Context
 	ApiService *ConnectionApiService
 	limit *int32
@@ -319,22 +319,22 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetConnectionsRequest) Limit(limit int32) ApiGetConnectionsRequest {
+func (r ConnectionApiApiGetConnectionsRequest) Limit(limit int32) ConnectionApiApiGetConnectionsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetConnectionsRequest) Offset(offset int32) ApiGetConnectionsRequest {
+func (r ConnectionApiApiGetConnectionsRequest) Offset(offset int32) ConnectionApiApiGetConnectionsRequest {
 	r.offset = &offset
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetConnectionsRequest) OrderBy(orderBy string) ApiGetConnectionsRequest {
+func (r ConnectionApiApiGetConnectionsRequest) OrderBy(orderBy string) ConnectionApiApiGetConnectionsRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetConnectionsRequest) Execute() (ConnectionCollection, *_nethttp.Response, error) {
+func (r ConnectionApiApiGetConnectionsRequest) Execute() (ConnectionCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetConnectionsExecute(r)
 }
 
@@ -342,10 +342,10 @@
 GetConnections List connections
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetConnectionsRequest
+ @return ConnectionApiApiGetConnectionsRequest
 */
-func (a *ConnectionApiService) GetConnections(ctx _context.Context) ApiGetConnectionsRequest {
-	return ApiGetConnectionsRequest{
+func (a *ConnectionApiService) GetConnections(ctx _context.Context) ConnectionApiApiGetConnectionsRequest {
+	return ConnectionApiApiGetConnectionsRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -353,7 +353,7 @@
 
 // Execute executes the request
 //  @return ConnectionCollection
-func (a *ConnectionApiService) GetConnectionsExecute(r ApiGetConnectionsRequest) (ConnectionCollection, *_nethttp.Response, error) {
+func (a *ConnectionApiService) GetConnectionsExecute(r ConnectionApiApiGetConnectionsRequest) (ConnectionCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -456,7 +456,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPatchConnectionRequest struct {
+type ConnectionApiApiPatchConnectionRequest struct {
 	ctx _context.Context
 	ApiService *ConnectionApiService
 	connectionId string
@@ -464,17 +464,17 @@
 	updateMask *[]string
 }
 
-func (r ApiPatchConnectionRequest) Connection(connection Connection) ApiPatchConnectionRequest {
+func (r ConnectionApiApiPatchConnectionRequest) Connection(connection Connection) ConnectionApiApiPatchConnectionRequest {
 	r.connection = &connection
 	return r
 }
 // 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. 
-func (r ApiPatchConnectionRequest) UpdateMask(updateMask []string) ApiPatchConnectionRequest {
+func (r ConnectionApiApiPatchConnectionRequest) UpdateMask(updateMask []string) ConnectionApiApiPatchConnectionRequest {
 	r.updateMask = &updateMask
 	return r
 }
 
-func (r ApiPatchConnectionRequest) Execute() (Connection, *_nethttp.Response, error) {
+func (r ConnectionApiApiPatchConnectionRequest) Execute() (Connection, *_nethttp.Response, error) {
 	return r.ApiService.PatchConnectionExecute(r)
 }
 
@@ -483,10 +483,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param connectionId The connection ID.
- @return ApiPatchConnectionRequest
+ @return ConnectionApiApiPatchConnectionRequest
 */
-func (a *ConnectionApiService) PatchConnection(ctx _context.Context, connectionId string) ApiPatchConnectionRequest {
-	return ApiPatchConnectionRequest{
+func (a *ConnectionApiService) PatchConnection(ctx _context.Context, connectionId string) ConnectionApiApiPatchConnectionRequest {
+	return ConnectionApiApiPatchConnectionRequest{
 		ApiService: a,
 		ctx: ctx,
 		connectionId: connectionId,
@@ -495,7 +495,7 @@
 
 // Execute executes the request
 //  @return Connection
-func (a *ConnectionApiService) PatchConnectionExecute(r ApiPatchConnectionRequest) (Connection, *_nethttp.Response, error) {
+func (a *ConnectionApiService) PatchConnectionExecute(r ConnectionApiApiPatchConnectionRequest) (Connection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPatch
 		localVarPostBody     interface{}
@@ -618,18 +618,18 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPostConnectionRequest struct {
+type ConnectionApiApiPostConnectionRequest struct {
 	ctx _context.Context
 	ApiService *ConnectionApiService
 	connection *Connection
 }
 
-func (r ApiPostConnectionRequest) Connection(connection Connection) ApiPostConnectionRequest {
+func (r ConnectionApiApiPostConnectionRequest) Connection(connection Connection) ConnectionApiApiPostConnectionRequest {
 	r.connection = &connection
 	return r
 }
 
-func (r ApiPostConnectionRequest) Execute() (Connection, *_nethttp.Response, error) {
+func (r ConnectionApiApiPostConnectionRequest) Execute() (Connection, *_nethttp.Response, error) {
 	return r.ApiService.PostConnectionExecute(r)
 }
 
@@ -637,10 +637,10 @@
 PostConnection Create a connection
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiPostConnectionRequest
+ @return ConnectionApiApiPostConnectionRequest
 */
-func (a *ConnectionApiService) PostConnection(ctx _context.Context) ApiPostConnectionRequest {
-	return ApiPostConnectionRequest{
+func (a *ConnectionApiService) PostConnection(ctx _context.Context) ConnectionApiApiPostConnectionRequest {
+	return ConnectionApiApiPostConnectionRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -648,7 +648,7 @@
 
 // Execute executes the request
 //  @return Connection
-func (a *ConnectionApiService) PostConnectionExecute(r ApiPostConnectionRequest) (Connection, *_nethttp.Response, error) {
+func (a *ConnectionApiService) PostConnectionExecute(r ConnectionApiApiPostConnectionRequest) (Connection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
@@ -757,18 +757,18 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiTestConnectionRequest struct {
+type ConnectionApiApiTestConnectionRequest struct {
 	ctx _context.Context
 	ApiService *ConnectionApiService
 	connection *Connection
 }
 
-func (r ApiTestConnectionRequest) Connection(connection Connection) ApiTestConnectionRequest {
+func (r ConnectionApiApiTestConnectionRequest) Connection(connection Connection) ConnectionApiApiTestConnectionRequest {
 	r.connection = &connection
 	return r
 }
 
-func (r ApiTestConnectionRequest) Execute() (ConnectionTest, *_nethttp.Response, error) {
+func (r ConnectionApiApiTestConnectionRequest) Execute() (ConnectionTest, *_nethttp.Response, error) {
 	return r.ApiService.TestConnectionExecute(r)
 }
 
@@ -781,10 +781,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiTestConnectionRequest
+ @return ConnectionApiApiTestConnectionRequest
 */
-func (a *ConnectionApiService) TestConnection(ctx _context.Context) ApiTestConnectionRequest {
-	return ApiTestConnectionRequest{
+func (a *ConnectionApiService) TestConnection(ctx _context.Context) ConnectionApiApiTestConnectionRequest {
+	return ConnectionApiApiTestConnectionRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -792,7 +792,7 @@
 
 // Execute executes the request
 //  @return ConnectionTest
-func (a *ConnectionApiService) TestConnectionExecute(r ApiTestConnectionRequest) (ConnectionTest, *_nethttp.Response, error) {
+func (a *ConnectionApiService) TestConnectionExecute(r ConnectionApiApiTestConnectionRequest) (ConnectionTest, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
diff --git a/airflow/api_dag.go b/airflow/api_dag.go
index 243bf42..2c48270 100644
--- a/airflow/api_dag.go
+++ b/airflow/api_dag.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -46,14 +46,14 @@
 // DAGApiService DAGApi service
 type DAGApiService service
 
-type ApiDeleteDagRequest struct {
+type DAGApiApiDeleteDagRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagId string
 }
 
 
-func (r ApiDeleteDagRequest) Execute() (*_nethttp.Response, error) {
+func (r DAGApiApiDeleteDagRequest) Execute() (*_nethttp.Response, error) {
 	return r.ApiService.DeleteDagExecute(r)
 }
 
@@ -68,10 +68,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiDeleteDagRequest
+ @return DAGApiApiDeleteDagRequest
 */
-func (a *DAGApiService) DeleteDag(ctx _context.Context, dagId string) ApiDeleteDagRequest {
-	return ApiDeleteDagRequest{
+func (a *DAGApiService) DeleteDag(ctx _context.Context, dagId string) DAGApiApiDeleteDagRequest {
+	return DAGApiApiDeleteDagRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -79,7 +79,7 @@
 }
 
 // Execute executes the request
-func (a *DAGApiService) DeleteDagExecute(r ApiDeleteDagRequest) (*_nethttp.Response, error) {
+func (a *DAGApiService) DeleteDagExecute(r DAGApiApiDeleteDagRequest) (*_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodDelete
 		localVarPostBody     interface{}
@@ -194,14 +194,14 @@
 	return localVarHTTPResponse, nil
 }
 
-type ApiGetDagRequest struct {
+type DAGApiApiGetDagRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagId string
 }
 
 
-func (r ApiGetDagRequest) Execute() (DAG, *_nethttp.Response, error) {
+func (r DAGApiApiGetDagRequest) Execute() (DAG, *_nethttp.Response, error) {
 	return r.ApiService.GetDagExecute(r)
 }
 
@@ -214,10 +214,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiGetDagRequest
+ @return DAGApiApiGetDagRequest
 */
-func (a *DAGApiService) GetDag(ctx _context.Context, dagId string) ApiGetDagRequest {
-	return ApiGetDagRequest{
+func (a *DAGApiService) GetDag(ctx _context.Context, dagId string) DAGApiApiGetDagRequest {
+	return DAGApiApiGetDagRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -226,7 +226,7 @@
 
 // Execute executes the request
 //  @return DAG
-func (a *DAGApiService) GetDagExecute(r ApiGetDagRequest) (DAG, *_nethttp.Response, error) {
+func (a *DAGApiService) GetDagExecute(r DAGApiApiGetDagRequest) (DAG, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -331,14 +331,14 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetDagDetailsRequest struct {
+type DAGApiApiGetDagDetailsRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagId string
 }
 
 
-func (r ApiGetDagDetailsRequest) Execute() (DAGDetail, *_nethttp.Response, error) {
+func (r DAGApiApiGetDagDetailsRequest) Execute() (DAGDetail, *_nethttp.Response, error) {
 	return r.ApiService.GetDagDetailsExecute(r)
 }
 
@@ -350,10 +350,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiGetDagDetailsRequest
+ @return DAGApiApiGetDagDetailsRequest
 */
-func (a *DAGApiService) GetDagDetails(ctx _context.Context, dagId string) ApiGetDagDetailsRequest {
-	return ApiGetDagDetailsRequest{
+func (a *DAGApiService) GetDagDetails(ctx _context.Context, dagId string) DAGApiApiGetDagDetailsRequest {
+	return DAGApiApiGetDagDetailsRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -362,7 +362,7 @@
 
 // Execute executes the request
 //  @return DAGDetail
-func (a *DAGApiService) GetDagDetailsExecute(r ApiGetDagDetailsRequest) (DAGDetail, *_nethttp.Response, error) {
+func (a *DAGApiService) GetDagDetailsExecute(r DAGApiApiGetDagDetailsRequest) (DAGDetail, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -467,14 +467,14 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetDagSourceRequest struct {
+type DAGApiApiGetDagSourceRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	fileToken string
 }
 
 
-func (r ApiGetDagSourceRequest) Execute() (InlineResponse2001, *_nethttp.Response, error) {
+func (r DAGApiApiGetDagSourceRequest) Execute() (InlineResponse2001, *_nethttp.Response, error) {
 	return r.ApiService.GetDagSourceExecute(r)
 }
 
@@ -486,10 +486,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param fileToken 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. 
- @return ApiGetDagSourceRequest
+ @return DAGApiApiGetDagSourceRequest
 */
-func (a *DAGApiService) GetDagSource(ctx _context.Context, fileToken string) ApiGetDagSourceRequest {
-	return ApiGetDagSourceRequest{
+func (a *DAGApiService) GetDagSource(ctx _context.Context, fileToken string) DAGApiApiGetDagSourceRequest {
+	return DAGApiApiGetDagSourceRequest{
 		ApiService: a,
 		ctx: ctx,
 		fileToken: fileToken,
@@ -498,7 +498,7 @@
 
 // Execute executes the request
 //  @return InlineResponse2001
-func (a *DAGApiService) GetDagSourceExecute(r ApiGetDagSourceRequest) (InlineResponse2001, *_nethttp.Response, error) {
+func (a *DAGApiService) GetDagSourceExecute(r DAGApiApiGetDagSourceRequest) (InlineResponse2001, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -613,7 +613,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetDagsRequest struct {
+type DAGApiApiGetDagsRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	limit *int32
@@ -625,37 +625,37 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetDagsRequest) Limit(limit int32) ApiGetDagsRequest {
+func (r DAGApiApiGetDagsRequest) Limit(limit int32) DAGApiApiGetDagsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetDagsRequest) Offset(offset int32) ApiGetDagsRequest {
+func (r DAGApiApiGetDagsRequest) Offset(offset int32) DAGApiApiGetDagsRequest {
 	r.offset = &offset
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetDagsRequest) OrderBy(orderBy string) ApiGetDagsRequest {
+func (r DAGApiApiGetDagsRequest) OrderBy(orderBy string) DAGApiApiGetDagsRequest {
 	r.orderBy = &orderBy
 	return r
 }
 // List of tags to filter results.  *New in version 2.2.0* 
-func (r ApiGetDagsRequest) Tags(tags []string) ApiGetDagsRequest {
+func (r DAGApiApiGetDagsRequest) Tags(tags []string) DAGApiApiGetDagsRequest {
 	r.tags = &tags
 	return r
 }
 // Only filter active DAGs.  *New in version 2.1.1* 
-func (r ApiGetDagsRequest) OnlyActive(onlyActive bool) ApiGetDagsRequest {
+func (r DAGApiApiGetDagsRequest) OnlyActive(onlyActive bool) DAGApiApiGetDagsRequest {
 	r.onlyActive = &onlyActive
 	return r
 }
 // If set, only return DAGs with dag_ids matching this pattern. 
-func (r ApiGetDagsRequest) DagIdPattern(dagIdPattern string) ApiGetDagsRequest {
+func (r DAGApiApiGetDagsRequest) DagIdPattern(dagIdPattern string) DAGApiApiGetDagsRequest {
 	r.dagIdPattern = &dagIdPattern
 	return r
 }
 
-func (r ApiGetDagsRequest) Execute() (DAGCollection, *_nethttp.Response, error) {
+func (r DAGApiApiGetDagsRequest) Execute() (DAGCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetDagsExecute(r)
 }
 
@@ -667,10 +667,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetDagsRequest
+ @return DAGApiApiGetDagsRequest
 */
-func (a *DAGApiService) GetDags(ctx _context.Context) ApiGetDagsRequest {
-	return ApiGetDagsRequest{
+func (a *DAGApiService) GetDags(ctx _context.Context) DAGApiApiGetDagsRequest {
+	return DAGApiApiGetDagsRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -678,7 +678,7 @@
 
 // Execute executes the request
 //  @return DAGCollection
-func (a *DAGApiService) GetDagsExecute(r ApiGetDagsRequest) (DAGCollection, *_nethttp.Response, error) {
+func (a *DAGApiService) GetDagsExecute(r DAGApiApiGetDagsRequest) (DAGCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -788,7 +788,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetTaskRequest struct {
+type DAGApiApiGetTaskRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagId string
@@ -796,7 +796,7 @@
 }
 
 
-func (r ApiGetTaskRequest) Execute() (Task, *_nethttp.Response, error) {
+func (r DAGApiApiGetTaskRequest) Execute() (Task, *_nethttp.Response, error) {
 	return r.ApiService.GetTaskExecute(r)
 }
 
@@ -806,10 +806,10 @@
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
  @param taskId The task ID.
- @return ApiGetTaskRequest
+ @return DAGApiApiGetTaskRequest
 */
-func (a *DAGApiService) GetTask(ctx _context.Context, dagId string, taskId string) ApiGetTaskRequest {
-	return ApiGetTaskRequest{
+func (a *DAGApiService) GetTask(ctx _context.Context, dagId string, taskId string) DAGApiApiGetTaskRequest {
+	return DAGApiApiGetTaskRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -819,7 +819,7 @@
 
 // Execute executes the request
 //  @return Task
-func (a *DAGApiService) GetTaskExecute(r ApiGetTaskRequest) (Task, *_nethttp.Response, error) {
+func (a *DAGApiService) GetTaskExecute(r DAGApiApiGetTaskRequest) (Task, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -925,7 +925,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetTasksRequest struct {
+type DAGApiApiGetTasksRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagId string
@@ -933,12 +933,12 @@
 }
 
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetTasksRequest) OrderBy(orderBy string) ApiGetTasksRequest {
+func (r DAGApiApiGetTasksRequest) OrderBy(orderBy string) DAGApiApiGetTasksRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetTasksRequest) Execute() (TaskCollection, *_nethttp.Response, error) {
+func (r DAGApiApiGetTasksRequest) Execute() (TaskCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetTasksExecute(r)
 }
 
@@ -947,10 +947,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiGetTasksRequest
+ @return DAGApiApiGetTasksRequest
 */
-func (a *DAGApiService) GetTasks(ctx _context.Context, dagId string) ApiGetTasksRequest {
-	return ApiGetTasksRequest{
+func (a *DAGApiService) GetTasks(ctx _context.Context, dagId string) DAGApiApiGetTasksRequest {
+	return DAGApiApiGetTasksRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -959,7 +959,7 @@
 
 // Execute executes the request
 //  @return TaskCollection
-func (a *DAGApiService) GetTasksExecute(r ApiGetTasksRequest) (TaskCollection, *_nethttp.Response, error) {
+func (a *DAGApiService) GetTasksExecute(r DAGApiApiGetTasksRequest) (TaskCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -1067,7 +1067,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPatchDagRequest struct {
+type DAGApiApiPatchDagRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagId string
@@ -1075,17 +1075,17 @@
 	updateMask *[]string
 }
 
-func (r ApiPatchDagRequest) DAG(dAG DAG) ApiPatchDagRequest {
+func (r DAGApiApiPatchDagRequest) DAG(dAG DAG) DAGApiApiPatchDagRequest {
 	r.dAG = &dAG
 	return r
 }
 // 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. 
-func (r ApiPatchDagRequest) UpdateMask(updateMask []string) ApiPatchDagRequest {
+func (r DAGApiApiPatchDagRequest) UpdateMask(updateMask []string) DAGApiApiPatchDagRequest {
 	r.updateMask = &updateMask
 	return r
 }
 
-func (r ApiPatchDagRequest) Execute() (DAG, *_nethttp.Response, error) {
+func (r DAGApiApiPatchDagRequest) Execute() (DAG, *_nethttp.Response, error) {
 	return r.ApiService.PatchDagExecute(r)
 }
 
@@ -1094,10 +1094,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiPatchDagRequest
+ @return DAGApiApiPatchDagRequest
 */
-func (a *DAGApiService) PatchDag(ctx _context.Context, dagId string) ApiPatchDagRequest {
-	return ApiPatchDagRequest{
+func (a *DAGApiService) PatchDag(ctx _context.Context, dagId string) DAGApiApiPatchDagRequest {
+	return DAGApiApiPatchDagRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -1106,7 +1106,7 @@
 
 // Execute executes the request
 //  @return DAG
-func (a *DAGApiService) PatchDagExecute(r ApiPatchDagRequest) (DAG, *_nethttp.Response, error) {
+func (a *DAGApiService) PatchDagExecute(r DAGApiApiPatchDagRequest) (DAG, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPatch
 		localVarPostBody     interface{}
@@ -1219,7 +1219,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPatchDagsRequest struct {
+type DAGApiApiPatchDagsRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagIdPattern *string
@@ -1232,41 +1232,41 @@
 }
 
 // If set, only update DAGs with dag_ids matching this pattern. 
-func (r ApiPatchDagsRequest) DagIdPattern(dagIdPattern string) ApiPatchDagsRequest {
+func (r DAGApiApiPatchDagsRequest) DagIdPattern(dagIdPattern string) DAGApiApiPatchDagsRequest {
 	r.dagIdPattern = &dagIdPattern
 	return r
 }
-func (r ApiPatchDagsRequest) DAG(dAG DAG) ApiPatchDagsRequest {
+func (r DAGApiApiPatchDagsRequest) DAG(dAG DAG) DAGApiApiPatchDagsRequest {
 	r.dAG = &dAG
 	return r
 }
 // The numbers of items to return.
-func (r ApiPatchDagsRequest) Limit(limit int32) ApiPatchDagsRequest {
+func (r DAGApiApiPatchDagsRequest) Limit(limit int32) DAGApiApiPatchDagsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiPatchDagsRequest) Offset(offset int32) ApiPatchDagsRequest {
+func (r DAGApiApiPatchDagsRequest) Offset(offset int32) DAGApiApiPatchDagsRequest {
 	r.offset = &offset
 	return r
 }
 // List of tags to filter results.  *New in version 2.2.0* 
-func (r ApiPatchDagsRequest) Tags(tags []string) ApiPatchDagsRequest {
+func (r DAGApiApiPatchDagsRequest) Tags(tags []string) DAGApiApiPatchDagsRequest {
 	r.tags = &tags
 	return r
 }
 // 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. 
-func (r ApiPatchDagsRequest) UpdateMask(updateMask []string) ApiPatchDagsRequest {
+func (r DAGApiApiPatchDagsRequest) UpdateMask(updateMask []string) DAGApiApiPatchDagsRequest {
 	r.updateMask = &updateMask
 	return r
 }
 // Only filter active DAGs.  *New in version 2.1.1* 
-func (r ApiPatchDagsRequest) OnlyActive(onlyActive bool) ApiPatchDagsRequest {
+func (r DAGApiApiPatchDagsRequest) OnlyActive(onlyActive bool) DAGApiApiPatchDagsRequest {
 	r.onlyActive = &onlyActive
 	return r
 }
 
-func (r ApiPatchDagsRequest) Execute() (DAGCollection, *_nethttp.Response, error) {
+func (r DAGApiApiPatchDagsRequest) Execute() (DAGCollection, *_nethttp.Response, error) {
 	return r.ApiService.PatchDagsExecute(r)
 }
 
@@ -1279,10 +1279,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiPatchDagsRequest
+ @return DAGApiApiPatchDagsRequest
 */
-func (a *DAGApiService) PatchDags(ctx _context.Context) ApiPatchDagsRequest {
-	return ApiPatchDagsRequest{
+func (a *DAGApiService) PatchDags(ctx _context.Context) DAGApiApiPatchDagsRequest {
+	return DAGApiApiPatchDagsRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -1290,7 +1290,7 @@
 
 // Execute executes the request
 //  @return DAGCollection
-func (a *DAGApiService) PatchDagsExecute(r ApiPatchDagsRequest) (DAGCollection, *_nethttp.Response, error) {
+func (a *DAGApiService) PatchDagsExecute(r DAGApiApiPatchDagsRequest) (DAGCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPatch
 		localVarPostBody     interface{}
@@ -1426,20 +1426,20 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPostClearTaskInstancesRequest struct {
+type DAGApiApiPostClearTaskInstancesRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagId string
-	clearTaskInstance *ClearTaskInstance
+	clearTaskInstances *ClearTaskInstances
 }
 
 // Parameters of action
-func (r ApiPostClearTaskInstancesRequest) ClearTaskInstance(clearTaskInstance ClearTaskInstance) ApiPostClearTaskInstancesRequest {
-	r.clearTaskInstance = &clearTaskInstance
+func (r DAGApiApiPostClearTaskInstancesRequest) ClearTaskInstances(clearTaskInstances ClearTaskInstances) DAGApiApiPostClearTaskInstancesRequest {
+	r.clearTaskInstances = &clearTaskInstances
 	return r
 }
 
-func (r ApiPostClearTaskInstancesRequest) Execute() (TaskInstanceReferenceCollection, *_nethttp.Response, error) {
+func (r DAGApiApiPostClearTaskInstancesRequest) Execute() (TaskInstanceReferenceCollection, *_nethttp.Response, error) {
 	return r.ApiService.PostClearTaskInstancesExecute(r)
 }
 
@@ -1451,10 +1451,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiPostClearTaskInstancesRequest
+ @return DAGApiApiPostClearTaskInstancesRequest
 */
-func (a *DAGApiService) PostClearTaskInstances(ctx _context.Context, dagId string) ApiPostClearTaskInstancesRequest {
-	return ApiPostClearTaskInstancesRequest{
+func (a *DAGApiService) PostClearTaskInstances(ctx _context.Context, dagId string) DAGApiApiPostClearTaskInstancesRequest {
+	return DAGApiApiPostClearTaskInstancesRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -1463,7 +1463,7 @@
 
 // Execute executes the request
 //  @return TaskInstanceReferenceCollection
-func (a *DAGApiService) PostClearTaskInstancesExecute(r ApiPostClearTaskInstancesRequest) (TaskInstanceReferenceCollection, *_nethttp.Response, error) {
+func (a *DAGApiService) PostClearTaskInstancesExecute(r DAGApiApiPostClearTaskInstancesRequest) (TaskInstanceReferenceCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
@@ -1484,8 +1484,8 @@
 	localVarHeaderParams := make(map[string]string)
 	localVarQueryParams := _neturl.Values{}
 	localVarFormParams := _neturl.Values{}
-	if r.clearTaskInstance == nil {
-		return localVarReturnValue, nil, reportError("clearTaskInstance is required and must be specified")
+	if r.clearTaskInstances == nil {
+		return localVarReturnValue, nil, reportError("clearTaskInstances is required and must be specified")
 	}
 
 	// to determine the Content-Type header
@@ -1506,7 +1506,7 @@
 		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
 	}
 	// body params
-	localVarPostBody = r.clearTaskInstance
+	localVarPostBody = r.clearTaskInstances
 	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
 	if err != nil {
 		return localVarReturnValue, nil, err
@@ -1573,7 +1573,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPostSetTaskInstancesStateRequest struct {
+type DAGApiApiPostSetTaskInstancesStateRequest struct {
 	ctx _context.Context
 	ApiService *DAGApiService
 	dagId string
@@ -1581,12 +1581,12 @@
 }
 
 // Parameters of action
-func (r ApiPostSetTaskInstancesStateRequest) UpdateTaskInstancesState(updateTaskInstancesState UpdateTaskInstancesState) ApiPostSetTaskInstancesStateRequest {
+func (r DAGApiApiPostSetTaskInstancesStateRequest) UpdateTaskInstancesState(updateTaskInstancesState UpdateTaskInstancesState) DAGApiApiPostSetTaskInstancesStateRequest {
 	r.updateTaskInstancesState = &updateTaskInstancesState
 	return r
 }
 
-func (r ApiPostSetTaskInstancesStateRequest) Execute() (TaskInstanceReferenceCollection, *_nethttp.Response, error) {
+func (r DAGApiApiPostSetTaskInstancesStateRequest) Execute() (TaskInstanceReferenceCollection, *_nethttp.Response, error) {
 	return r.ApiService.PostSetTaskInstancesStateExecute(r)
 }
 
@@ -1598,10 +1598,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiPostSetTaskInstancesStateRequest
+ @return DAGApiApiPostSetTaskInstancesStateRequest
 */
-func (a *DAGApiService) PostSetTaskInstancesState(ctx _context.Context, dagId string) ApiPostSetTaskInstancesStateRequest {
-	return ApiPostSetTaskInstancesStateRequest{
+func (a *DAGApiService) PostSetTaskInstancesState(ctx _context.Context, dagId string) DAGApiApiPostSetTaskInstancesStateRequest {
+	return DAGApiApiPostSetTaskInstancesStateRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -1610,7 +1610,7 @@
 
 // Execute executes the request
 //  @return TaskInstanceReferenceCollection
-func (a *DAGApiService) PostSetTaskInstancesStateExecute(r ApiPostSetTaskInstancesStateRequest) (TaskInstanceReferenceCollection, *_nethttp.Response, error) {
+func (a *DAGApiService) PostSetTaskInstancesStateExecute(r DAGApiApiPostSetTaskInstancesStateRequest) (TaskInstanceReferenceCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
@@ -1719,3 +1719,341 @@
 
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
+
+type DAGApiApiSetMappedTaskInstanceNoteRequest struct {
+	ctx _context.Context
+	ApiService *DAGApiService
+	dagId string
+	dagRunId string
+	taskId string
+	mapIndex int32
+	setTaskInstanceNote *SetTaskInstanceNote
+}
+
+// Parameters of set Task Instance note.
+func (r DAGApiApiSetMappedTaskInstanceNoteRequest) SetTaskInstanceNote(setTaskInstanceNote SetTaskInstanceNote) DAGApiApiSetMappedTaskInstanceNoteRequest {
+	r.setTaskInstanceNote = &setTaskInstanceNote
+	return r
+}
+
+func (r DAGApiApiSetMappedTaskInstanceNoteRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
+	return r.ApiService.SetMappedTaskInstanceNoteExecute(r)
+}
+
+/*
+SetMappedTaskInstanceNote Update the TaskInstance note.
+
+Update the manual user note of a mapped Task Instance.
+
+*New in version 2.5.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @param taskId The task ID.
+ @param mapIndex The map index.
+ @return DAGApiApiSetMappedTaskInstanceNoteRequest
+*/
+func (a *DAGApiService) SetMappedTaskInstanceNote(ctx _context.Context, dagId string, dagRunId string, taskId string, mapIndex int32) DAGApiApiSetMappedTaskInstanceNoteRequest {
+	return DAGApiApiSetMappedTaskInstanceNoteRequest{
+		ApiService: a,
+		ctx: ctx,
+		dagId: dagId,
+		dagRunId: dagRunId,
+		taskId: taskId,
+		mapIndex: mapIndex,
+	}
+}
+
+// Execute executes the request
+//  @return TaskInstance
+func (a *DAGApiService) SetMappedTaskInstanceNoteExecute(r DAGApiApiSetMappedTaskInstanceNoteRequest) (TaskInstance, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPatch
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  TaskInstance
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DAGApiService.SetMappedTaskInstanceNote")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/setNote"
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"task_id"+"}", _neturl.PathEscape(parameterToString(r.taskId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"map_index"+"}", _neturl.PathEscape(parameterToString(r.mapIndex, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+	if r.setTaskInstanceNote == nil {
+		return localVarReturnValue, nil, reportError("setTaskInstanceNote is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.setTaskInstanceNote
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type DAGApiApiSetTaskInstanceNoteRequest struct {
+	ctx _context.Context
+	ApiService *DAGApiService
+	dagId string
+	dagRunId string
+	taskId string
+	setTaskInstanceNote *SetTaskInstanceNote
+}
+
+// Parameters of set Task Instance note.
+func (r DAGApiApiSetTaskInstanceNoteRequest) SetTaskInstanceNote(setTaskInstanceNote SetTaskInstanceNote) DAGApiApiSetTaskInstanceNoteRequest {
+	r.setTaskInstanceNote = &setTaskInstanceNote
+	return r
+}
+
+func (r DAGApiApiSetTaskInstanceNoteRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
+	return r.ApiService.SetTaskInstanceNoteExecute(r)
+}
+
+/*
+SetTaskInstanceNote Update the TaskInstance note.
+
+Update the manual user note of a non-mapped Task Instance.
+
+*New in version 2.5.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @param taskId The task ID.
+ @return DAGApiApiSetTaskInstanceNoteRequest
+*/
+func (a *DAGApiService) SetTaskInstanceNote(ctx _context.Context, dagId string, dagRunId string, taskId string) DAGApiApiSetTaskInstanceNoteRequest {
+	return DAGApiApiSetTaskInstanceNoteRequest{
+		ApiService: a,
+		ctx: ctx,
+		dagId: dagId,
+		dagRunId: dagRunId,
+		taskId: taskId,
+	}
+}
+
+// Execute executes the request
+//  @return TaskInstance
+func (a *DAGApiService) SetTaskInstanceNoteExecute(r DAGApiApiSetTaskInstanceNoteRequest) (TaskInstance, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPatch
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  TaskInstance
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DAGApiService.SetTaskInstanceNote")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/setNote"
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"task_id"+"}", _neturl.PathEscape(parameterToString(r.taskId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+	if r.setTaskInstanceNote == nil {
+		return localVarReturnValue, nil, reportError("setTaskInstanceNote is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.setTaskInstanceNote
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/airflow/api_dag_run.go b/airflow/api_dag_run.go
index bc8684a..4369fdf 100644
--- a/airflow/api_dag_run.go
+++ b/airflow/api_dag_run.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -47,7 +47,169 @@
 // DAGRunApiService DAGRunApi service
 type DAGRunApiService service
 
-type ApiDeleteDagRunRequest struct {
+type DAGRunApiApiClearDagRunRequest struct {
+	ctx _context.Context
+	ApiService *DAGRunApiService
+	dagId string
+	dagRunId string
+	clearDagRun *ClearDagRun
+}
+
+func (r DAGRunApiApiClearDagRunRequest) ClearDagRun(clearDagRun ClearDagRun) DAGRunApiApiClearDagRunRequest {
+	r.clearDagRun = &clearDagRun
+	return r
+}
+
+func (r DAGRunApiApiClearDagRunRequest) Execute() (DAGRun, *_nethttp.Response, error) {
+	return r.ApiService.ClearDagRunExecute(r)
+}
+
+/*
+ClearDagRun Clear a DAG run
+
+Clear a DAG run.
+
+*New in version 2.4.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @return DAGRunApiApiClearDagRunRequest
+*/
+func (a *DAGRunApiService) ClearDagRun(ctx _context.Context, dagId string, dagRunId string) DAGRunApiApiClearDagRunRequest {
+	return DAGRunApiApiClearDagRunRequest{
+		ApiService: a,
+		ctx: ctx,
+		dagId: dagId,
+		dagRunId: dagRunId,
+	}
+}
+
+// Execute executes the request
+//  @return DAGRun
+func (a *DAGRunApiService) ClearDagRunExecute(r DAGRunApiApiClearDagRunRequest) (DAGRun, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPost
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  DAGRun
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DAGRunApiService.ClearDagRun")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/clear"
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+	if r.clearDagRun == nil {
+		return localVarReturnValue, nil, reportError("clearDagRun is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.clearDagRun
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type DAGRunApiApiDeleteDagRunRequest struct {
 	ctx _context.Context
 	ApiService *DAGRunApiService
 	dagId string
@@ -55,7 +217,7 @@
 }
 
 
-func (r ApiDeleteDagRunRequest) Execute() (*_nethttp.Response, error) {
+func (r DAGRunApiApiDeleteDagRunRequest) Execute() (*_nethttp.Response, error) {
 	return r.ApiService.DeleteDagRunExecute(r)
 }
 
@@ -65,10 +227,10 @@
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
  @param dagRunId The DAG run ID.
- @return ApiDeleteDagRunRequest
+ @return DAGRunApiApiDeleteDagRunRequest
 */
-func (a *DAGRunApiService) DeleteDagRun(ctx _context.Context, dagId string, dagRunId string) ApiDeleteDagRunRequest {
-	return ApiDeleteDagRunRequest{
+func (a *DAGRunApiService) DeleteDagRun(ctx _context.Context, dagId string, dagRunId string) DAGRunApiApiDeleteDagRunRequest {
+	return DAGRunApiApiDeleteDagRunRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -77,7 +239,7 @@
 }
 
 // Execute executes the request
-func (a *DAGRunApiService) DeleteDagRunExecute(r ApiDeleteDagRunRequest) (*_nethttp.Response, error) {
+func (a *DAGRunApiService) DeleteDagRunExecute(r DAGRunApiApiDeleteDagRunRequest) (*_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodDelete
 		localVarPostBody     interface{}
@@ -183,7 +345,7 @@
 	return localVarHTTPResponse, nil
 }
 
-type ApiGetDagRunRequest struct {
+type DAGRunApiApiGetDagRunRequest struct {
 	ctx _context.Context
 	ApiService *DAGRunApiService
 	dagId string
@@ -191,7 +353,7 @@
 }
 
 
-func (r ApiGetDagRunRequest) Execute() (DAGRun, *_nethttp.Response, error) {
+func (r DAGRunApiApiGetDagRunRequest) Execute() (DAGRun, *_nethttp.Response, error) {
 	return r.ApiService.GetDagRunExecute(r)
 }
 
@@ -201,10 +363,10 @@
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
  @param dagRunId The DAG run ID.
- @return ApiGetDagRunRequest
+ @return DAGRunApiApiGetDagRunRequest
 */
-func (a *DAGRunApiService) GetDagRun(ctx _context.Context, dagId string, dagRunId string) ApiGetDagRunRequest {
-	return ApiGetDagRunRequest{
+func (a *DAGRunApiService) GetDagRun(ctx _context.Context, dagId string, dagRunId string) DAGRunApiApiGetDagRunRequest {
+	return DAGRunApiApiGetDagRunRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -214,7 +376,7 @@
 
 // Execute executes the request
 //  @return DAGRun
-func (a *DAGRunApiService) GetDagRunExecute(r ApiGetDagRunRequest) (DAGRun, *_nethttp.Response, error) {
+func (a *DAGRunApiService) GetDagRunExecute(r DAGRunApiApiGetDagRunRequest) (DAGRun, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -320,7 +482,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetDagRunsRequest struct {
+type DAGRunApiApiGetDagRunsRequest struct {
 	ctx _context.Context
 	ApiService *DAGRunApiService
 	dagId string
@@ -337,57 +499,57 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetDagRunsRequest) Limit(limit int32) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) Limit(limit int32) DAGRunApiApiGetDagRunsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetDagRunsRequest) Offset(offset int32) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) Offset(offset int32) DAGRunApiApiGetDagRunsRequest {
 	r.offset = &offset
 	return r
 }
 // Returns objects greater or equal to the specified date.  This can be combined with execution_date_lte parameter to receive only the selected period. 
-func (r ApiGetDagRunsRequest) ExecutionDateGte(executionDateGte time.Time) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) ExecutionDateGte(executionDateGte time.Time) DAGRunApiApiGetDagRunsRequest {
 	r.executionDateGte = &executionDateGte
 	return r
 }
 // 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. 
-func (r ApiGetDagRunsRequest) ExecutionDateLte(executionDateLte time.Time) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) ExecutionDateLte(executionDateLte time.Time) DAGRunApiApiGetDagRunsRequest {
 	r.executionDateLte = &executionDateLte
 	return r
 }
 // Returns objects greater or equal the specified date.  This can be combined with start_date_lte parameter to receive only the selected period. 
-func (r ApiGetDagRunsRequest) StartDateGte(startDateGte time.Time) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) StartDateGte(startDateGte time.Time) DAGRunApiApiGetDagRunsRequest {
 	r.startDateGte = &startDateGte
 	return r
 }
 // Returns objects less or equal the specified date.  This can be combined with start_date_gte parameter to receive only the selected period. 
-func (r ApiGetDagRunsRequest) StartDateLte(startDateLte time.Time) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) StartDateLte(startDateLte time.Time) DAGRunApiApiGetDagRunsRequest {
 	r.startDateLte = &startDateLte
 	return r
 }
 // Returns objects greater or equal the specified date.  This can be combined with start_date_lte parameter to receive only the selected period. 
-func (r ApiGetDagRunsRequest) EndDateGte(endDateGte time.Time) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) EndDateGte(endDateGte time.Time) DAGRunApiApiGetDagRunsRequest {
 	r.endDateGte = &endDateGte
 	return r
 }
 // 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. 
-func (r ApiGetDagRunsRequest) EndDateLte(endDateLte time.Time) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) EndDateLte(endDateLte time.Time) DAGRunApiApiGetDagRunsRequest {
 	r.endDateLte = &endDateLte
 	return r
 }
 // The value can be repeated to retrieve multiple matching values (OR condition).
-func (r ApiGetDagRunsRequest) State(state []string) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) State(state []string) DAGRunApiApiGetDagRunsRequest {
 	r.state = &state
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetDagRunsRequest) OrderBy(orderBy string) ApiGetDagRunsRequest {
+func (r DAGRunApiApiGetDagRunsRequest) OrderBy(orderBy string) DAGRunApiApiGetDagRunsRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetDagRunsRequest) Execute() (DAGRunCollection, *_nethttp.Response, error) {
+func (r DAGRunApiApiGetDagRunsRequest) Execute() (DAGRunCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetDagRunsExecute(r)
 }
 
@@ -399,10 +561,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiGetDagRunsRequest
+ @return DAGRunApiApiGetDagRunsRequest
 */
-func (a *DAGRunApiService) GetDagRuns(ctx _context.Context, dagId string) ApiGetDagRunsRequest {
-	return ApiGetDagRunsRequest{
+func (a *DAGRunApiService) GetDagRuns(ctx _context.Context, dagId string) DAGRunApiApiGetDagRunsRequest {
+	return DAGRunApiApiGetDagRunsRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -411,7 +573,7 @@
 
 // Execute executes the request
 //  @return DAGRunCollection
-func (a *DAGRunApiService) GetDagRunsExecute(r ApiGetDagRunsRequest) (DAGRunCollection, *_nethttp.Response, error) {
+func (a *DAGRunApiService) GetDagRunsExecute(r DAGRunApiApiGetDagRunsRequest) (DAGRunCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -534,18 +696,18 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetDagRunsBatchRequest struct {
+type DAGRunApiApiGetDagRunsBatchRequest struct {
 	ctx _context.Context
 	ApiService *DAGRunApiService
 	listDagRunsForm *ListDagRunsForm
 }
 
-func (r ApiGetDagRunsBatchRequest) ListDagRunsForm(listDagRunsForm ListDagRunsForm) ApiGetDagRunsBatchRequest {
+func (r DAGRunApiApiGetDagRunsBatchRequest) ListDagRunsForm(listDagRunsForm ListDagRunsForm) DAGRunApiApiGetDagRunsBatchRequest {
 	r.listDagRunsForm = &listDagRunsForm
 	return r
 }
 
-func (r ApiGetDagRunsBatchRequest) Execute() (DAGRunCollection, *_nethttp.Response, error) {
+func (r DAGRunApiApiGetDagRunsBatchRequest) Execute() (DAGRunCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetDagRunsBatchExecute(r)
 }
 
@@ -556,10 +718,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetDagRunsBatchRequest
+ @return DAGRunApiApiGetDagRunsBatchRequest
 */
-func (a *DAGRunApiService) GetDagRunsBatch(ctx _context.Context) ApiGetDagRunsBatchRequest {
-	return ApiGetDagRunsBatchRequest{
+func (a *DAGRunApiService) GetDagRunsBatch(ctx _context.Context) DAGRunApiApiGetDagRunsBatchRequest {
+	return DAGRunApiApiGetDagRunsBatchRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -567,7 +729,7 @@
 
 // Execute executes the request
 //  @return DAGRunCollection
-func (a *DAGRunApiService) GetDagRunsBatchExecute(r ApiGetDagRunsBatchRequest) (DAGRunCollection, *_nethttp.Response, error) {
+func (a *DAGRunApiService) GetDagRunsBatchExecute(r DAGRunApiApiGetDagRunsBatchRequest) (DAGRunCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
@@ -676,19 +838,161 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPostDagRunRequest struct {
+type DAGRunApiApiGetUpstreamDatasetEventsRequest struct {
+	ctx _context.Context
+	ApiService *DAGRunApiService
+	dagId string
+	dagRunId string
+}
+
+
+func (r DAGRunApiApiGetUpstreamDatasetEventsRequest) Execute() (DatasetEventCollection, *_nethttp.Response, error) {
+	return r.ApiService.GetUpstreamDatasetEventsExecute(r)
+}
+
+/*
+GetUpstreamDatasetEvents Get dataset events for a DAG run
+
+Get datasets for a dag run.
+
+*New in version 2.4.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @return DAGRunApiApiGetUpstreamDatasetEventsRequest
+*/
+func (a *DAGRunApiService) GetUpstreamDatasetEvents(ctx _context.Context, dagId string, dagRunId string) DAGRunApiApiGetUpstreamDatasetEventsRequest {
+	return DAGRunApiApiGetUpstreamDatasetEventsRequest{
+		ApiService: a,
+		ctx: ctx,
+		dagId: dagId,
+		dagRunId: dagRunId,
+	}
+}
+
+// Execute executes the request
+//  @return DatasetEventCollection
+func (a *DAGRunApiService) GetUpstreamDatasetEventsExecute(r DAGRunApiApiGetUpstreamDatasetEventsRequest) (DatasetEventCollection, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodGet
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  DatasetEventCollection
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DAGRunApiService.GetUpstreamDatasetEvents")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents"
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type DAGRunApiApiPostDagRunRequest struct {
 	ctx _context.Context
 	ApiService *DAGRunApiService
 	dagId string
 	dAGRun *DAGRun
 }
 
-func (r ApiPostDagRunRequest) DAGRun(dAGRun DAGRun) ApiPostDagRunRequest {
+func (r DAGRunApiApiPostDagRunRequest) DAGRun(dAGRun DAGRun) DAGRunApiApiPostDagRunRequest {
 	r.dAGRun = &dAGRun
 	return r
 }
 
-func (r ApiPostDagRunRequest) Execute() (DAGRun, *_nethttp.Response, error) {
+func (r DAGRunApiApiPostDagRunRequest) Execute() (DAGRun, *_nethttp.Response, error) {
 	return r.ApiService.PostDagRunExecute(r)
 }
 
@@ -697,10 +1001,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
- @return ApiPostDagRunRequest
+ @return DAGRunApiApiPostDagRunRequest
 */
-func (a *DAGRunApiService) PostDagRun(ctx _context.Context, dagId string) ApiPostDagRunRequest {
-	return ApiPostDagRunRequest{
+func (a *DAGRunApiService) PostDagRun(ctx _context.Context, dagId string) DAGRunApiApiPostDagRunRequest {
+	return DAGRunApiApiPostDagRunRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -709,7 +1013,7 @@
 
 // Execute executes the request
 //  @return DAGRun
-func (a *DAGRunApiService) PostDagRunExecute(r ApiPostDagRunRequest) (DAGRun, *_nethttp.Response, error) {
+func (a *DAGRunApiService) PostDagRunExecute(r DAGRunApiApiPostDagRunRequest) (DAGRun, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
@@ -839,7 +1143,170 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiUpdateDagRunStateRequest struct {
+type DAGRunApiApiSetDagRunNoteRequest struct {
+	ctx _context.Context
+	ApiService *DAGRunApiService
+	dagId string
+	dagRunId string
+	setDagRunNote *SetDagRunNote
+}
+
+// Parameters of set DagRun note.
+func (r DAGRunApiApiSetDagRunNoteRequest) SetDagRunNote(setDagRunNote SetDagRunNote) DAGRunApiApiSetDagRunNoteRequest {
+	r.setDagRunNote = &setDagRunNote
+	return r
+}
+
+func (r DAGRunApiApiSetDagRunNoteRequest) Execute() (DAGRun, *_nethttp.Response, error) {
+	return r.ApiService.SetDagRunNoteExecute(r)
+}
+
+/*
+SetDagRunNote Update the DagRun note.
+
+Update the manual user note of a DagRun.
+
+*New in version 2.5.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @return DAGRunApiApiSetDagRunNoteRequest
+*/
+func (a *DAGRunApiService) SetDagRunNote(ctx _context.Context, dagId string, dagRunId string) DAGRunApiApiSetDagRunNoteRequest {
+	return DAGRunApiApiSetDagRunNoteRequest{
+		ApiService: a,
+		ctx: ctx,
+		dagId: dagId,
+		dagRunId: dagRunId,
+	}
+}
+
+// Execute executes the request
+//  @return DAGRun
+func (a *DAGRunApiService) SetDagRunNoteExecute(r DAGRunApiApiSetDagRunNoteRequest) (DAGRun, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPatch
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  DAGRun
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DAGRunApiService.SetDagRunNote")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/setNote"
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+	if r.setDagRunNote == nil {
+		return localVarReturnValue, nil, reportError("setDagRunNote is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.setDagRunNote
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type DAGRunApiApiUpdateDagRunStateRequest struct {
 	ctx _context.Context
 	ApiService *DAGRunApiService
 	dagId string
@@ -847,12 +1314,12 @@
 	updateDagRunState *UpdateDagRunState
 }
 
-func (r ApiUpdateDagRunStateRequest) UpdateDagRunState(updateDagRunState UpdateDagRunState) ApiUpdateDagRunStateRequest {
+func (r DAGRunApiApiUpdateDagRunStateRequest) UpdateDagRunState(updateDagRunState UpdateDagRunState) DAGRunApiApiUpdateDagRunStateRequest {
 	r.updateDagRunState = &updateDagRunState
 	return r
 }
 
-func (r ApiUpdateDagRunStateRequest) Execute() (DAGRun, *_nethttp.Response, error) {
+func (r DAGRunApiApiUpdateDagRunStateRequest) Execute() (DAGRun, *_nethttp.Response, error) {
 	return r.ApiService.UpdateDagRunStateExecute(r)
 }
 
@@ -867,10 +1334,10 @@
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
  @param dagRunId The DAG run ID.
- @return ApiUpdateDagRunStateRequest
+ @return DAGRunApiApiUpdateDagRunStateRequest
 */
-func (a *DAGRunApiService) UpdateDagRunState(ctx _context.Context, dagId string, dagRunId string) ApiUpdateDagRunStateRequest {
-	return ApiUpdateDagRunStateRequest{
+func (a *DAGRunApiService) UpdateDagRunState(ctx _context.Context, dagId string, dagRunId string) DAGRunApiApiUpdateDagRunStateRequest {
+	return DAGRunApiApiUpdateDagRunStateRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -880,7 +1347,7 @@
 
 // Execute executes the request
 //  @return DAGRun
-func (a *DAGRunApiService) UpdateDagRunStateExecute(r ApiUpdateDagRunStateRequest) (DAGRun, *_nethttp.Response, error) {
+func (a *DAGRunApiService) UpdateDagRunStateExecute(r DAGRunApiApiUpdateDagRunStateRequest) (DAGRun, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPatch
 		localVarPostBody     interface{}
diff --git a/airflow/api_dag_warning.go b/airflow/api_dag_warning.go
new file mode 100644
index 0000000..c36d9a3
--- /dev/null
+++ b/airflow/api_dag_warning.go
@@ -0,0 +1,209 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"bytes"
+	_context "context"
+	_ioutil "io/ioutil"
+	_nethttp "net/http"
+	_neturl "net/url"
+)
+
+// Linger please
+var (
+	_ _context.Context
+)
+
+// DagWarningApiService DagWarningApi service
+type DagWarningApiService service
+
+type DagWarningApiApiGetDagWarningsRequest struct {
+	ctx _context.Context
+	ApiService *DagWarningApiService
+	dagId *string
+	warningType *string
+	limit *int32
+	offset *int32
+	orderBy *string
+}
+
+// If set, only return DAG warnings with this dag_id.
+func (r DagWarningApiApiGetDagWarningsRequest) DagId(dagId string) DagWarningApiApiGetDagWarningsRequest {
+	r.dagId = &dagId
+	return r
+}
+// If set, only return DAG warnings with this type.
+func (r DagWarningApiApiGetDagWarningsRequest) WarningType(warningType string) DagWarningApiApiGetDagWarningsRequest {
+	r.warningType = &warningType
+	return r
+}
+// The numbers of items to return.
+func (r DagWarningApiApiGetDagWarningsRequest) Limit(limit int32) DagWarningApiApiGetDagWarningsRequest {
+	r.limit = &limit
+	return r
+}
+// The number of items to skip before starting to collect the result set.
+func (r DagWarningApiApiGetDagWarningsRequest) Offset(offset int32) DagWarningApiApiGetDagWarningsRequest {
+	r.offset = &offset
+	return r
+}
+// The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
+func (r DagWarningApiApiGetDagWarningsRequest) OrderBy(orderBy string) DagWarningApiApiGetDagWarningsRequest {
+	r.orderBy = &orderBy
+	return r
+}
+
+func (r DagWarningApiApiGetDagWarningsRequest) Execute() (DagWarningCollection, *_nethttp.Response, error) {
+	return r.ApiService.GetDagWarningsExecute(r)
+}
+
+/*
+GetDagWarnings List dag warnings
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return DagWarningApiApiGetDagWarningsRequest
+*/
+func (a *DagWarningApiService) GetDagWarnings(ctx _context.Context) DagWarningApiApiGetDagWarningsRequest {
+	return DagWarningApiApiGetDagWarningsRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return DagWarningCollection
+func (a *DagWarningApiService) GetDagWarningsExecute(r DagWarningApiApiGetDagWarningsRequest) (DagWarningCollection, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodGet
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  DagWarningCollection
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DagWarningApiService.GetDagWarnings")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dagWarnings"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+
+	if r.dagId != nil {
+		localVarQueryParams.Add("dag_id", parameterToString(*r.dagId, ""))
+	}
+	if r.warningType != nil {
+		localVarQueryParams.Add("warning_type", parameterToString(*r.warningType, ""))
+	}
+	if r.limit != nil {
+		localVarQueryParams.Add("limit", parameterToString(*r.limit, ""))
+	}
+	if r.offset != nil {
+		localVarQueryParams.Add("offset", parameterToString(*r.offset, ""))
+	}
+	if r.orderBy != nil {
+		localVarQueryParams.Add("order_by", parameterToString(*r.orderBy, ""))
+	}
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/airflow/api_dataset.go b/airflow/api_dataset.go
new file mode 100644
index 0000000..29631a5
--- /dev/null
+++ b/airflow/api_dataset.go
@@ -0,0 +1,681 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"bytes"
+	_context "context"
+	_ioutil "io/ioutil"
+	_nethttp "net/http"
+	_neturl "net/url"
+	"strings"
+)
+
+// Linger please
+var (
+	_ _context.Context
+)
+
+// DatasetApiService DatasetApi service
+type DatasetApiService service
+
+type DatasetApiApiGetDatasetRequest struct {
+	ctx _context.Context
+	ApiService *DatasetApiService
+	uri string
+}
+
+
+func (r DatasetApiApiGetDatasetRequest) Execute() (Dataset, *_nethttp.Response, error) {
+	return r.ApiService.GetDatasetExecute(r)
+}
+
+/*
+GetDataset Get a dataset
+
+Get a dataset by uri.
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param uri The encoded Dataset URI
+ @return DatasetApiApiGetDatasetRequest
+*/
+func (a *DatasetApiService) GetDataset(ctx _context.Context, uri string) DatasetApiApiGetDatasetRequest {
+	return DatasetApiApiGetDatasetRequest{
+		ApiService: a,
+		ctx: ctx,
+		uri: uri,
+	}
+}
+
+// Execute executes the request
+//  @return Dataset
+func (a *DatasetApiService) GetDatasetExecute(r DatasetApiApiGetDatasetRequest) (Dataset, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodGet
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  Dataset
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DatasetApiService.GetDataset")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/datasets/{uri}"
+	localVarPath = strings.Replace(localVarPath, "{"+"uri"+"}", _neturl.PathEscape(parameterToString(r.uri, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type DatasetApiApiGetDatasetEventsRequest struct {
+	ctx _context.Context
+	ApiService *DatasetApiService
+	limit *int32
+	offset *int32
+	orderBy *string
+	datasetId *int32
+	sourceDagId *string
+	sourceTaskId *string
+	sourceRunId *string
+	sourceMapIndex *int32
+}
+
+// The numbers of items to return.
+func (r DatasetApiApiGetDatasetEventsRequest) Limit(limit int32) DatasetApiApiGetDatasetEventsRequest {
+	r.limit = &limit
+	return r
+}
+// The number of items to skip before starting to collect the result set.
+func (r DatasetApiApiGetDatasetEventsRequest) Offset(offset int32) DatasetApiApiGetDatasetEventsRequest {
+	r.offset = &offset
+	return r
+}
+// The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
+func (r DatasetApiApiGetDatasetEventsRequest) OrderBy(orderBy string) DatasetApiApiGetDatasetEventsRequest {
+	r.orderBy = &orderBy
+	return r
+}
+// The Dataset ID that updated the dataset.
+func (r DatasetApiApiGetDatasetEventsRequest) DatasetId(datasetId int32) DatasetApiApiGetDatasetEventsRequest {
+	r.datasetId = &datasetId
+	return r
+}
+// The DAG ID that updated the dataset.
+func (r DatasetApiApiGetDatasetEventsRequest) SourceDagId(sourceDagId string) DatasetApiApiGetDatasetEventsRequest {
+	r.sourceDagId = &sourceDagId
+	return r
+}
+// The task ID that updated the dataset.
+func (r DatasetApiApiGetDatasetEventsRequest) SourceTaskId(sourceTaskId string) DatasetApiApiGetDatasetEventsRequest {
+	r.sourceTaskId = &sourceTaskId
+	return r
+}
+// The DAG run ID that updated the dataset.
+func (r DatasetApiApiGetDatasetEventsRequest) SourceRunId(sourceRunId string) DatasetApiApiGetDatasetEventsRequest {
+	r.sourceRunId = &sourceRunId
+	return r
+}
+// The map index that updated the dataset.
+func (r DatasetApiApiGetDatasetEventsRequest) SourceMapIndex(sourceMapIndex int32) DatasetApiApiGetDatasetEventsRequest {
+	r.sourceMapIndex = &sourceMapIndex
+	return r
+}
+
+func (r DatasetApiApiGetDatasetEventsRequest) Execute() (DatasetEventCollection, *_nethttp.Response, error) {
+	return r.ApiService.GetDatasetEventsExecute(r)
+}
+
+/*
+GetDatasetEvents Get dataset events
+
+Get dataset events
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return DatasetApiApiGetDatasetEventsRequest
+*/
+func (a *DatasetApiService) GetDatasetEvents(ctx _context.Context) DatasetApiApiGetDatasetEventsRequest {
+	return DatasetApiApiGetDatasetEventsRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return DatasetEventCollection
+func (a *DatasetApiService) GetDatasetEventsExecute(r DatasetApiApiGetDatasetEventsRequest) (DatasetEventCollection, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodGet
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  DatasetEventCollection
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DatasetApiService.GetDatasetEvents")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/datasets/events"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+
+	if r.limit != nil {
+		localVarQueryParams.Add("limit", parameterToString(*r.limit, ""))
+	}
+	if r.offset != nil {
+		localVarQueryParams.Add("offset", parameterToString(*r.offset, ""))
+	}
+	if r.orderBy != nil {
+		localVarQueryParams.Add("order_by", parameterToString(*r.orderBy, ""))
+	}
+	if r.datasetId != nil {
+		localVarQueryParams.Add("dataset_id", parameterToString(*r.datasetId, ""))
+	}
+	if r.sourceDagId != nil {
+		localVarQueryParams.Add("source_dag_id", parameterToString(*r.sourceDagId, ""))
+	}
+	if r.sourceTaskId != nil {
+		localVarQueryParams.Add("source_task_id", parameterToString(*r.sourceTaskId, ""))
+	}
+	if r.sourceRunId != nil {
+		localVarQueryParams.Add("source_run_id", parameterToString(*r.sourceRunId, ""))
+	}
+	if r.sourceMapIndex != nil {
+		localVarQueryParams.Add("source_map_index", parameterToString(*r.sourceMapIndex, ""))
+	}
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type DatasetApiApiGetDatasetsRequest struct {
+	ctx _context.Context
+	ApiService *DatasetApiService
+	limit *int32
+	offset *int32
+	orderBy *string
+	uriPattern *string
+}
+
+// The numbers of items to return.
+func (r DatasetApiApiGetDatasetsRequest) Limit(limit int32) DatasetApiApiGetDatasetsRequest {
+	r.limit = &limit
+	return r
+}
+// The number of items to skip before starting to collect the result set.
+func (r DatasetApiApiGetDatasetsRequest) Offset(offset int32) DatasetApiApiGetDatasetsRequest {
+	r.offset = &offset
+	return r
+}
+// The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
+func (r DatasetApiApiGetDatasetsRequest) OrderBy(orderBy string) DatasetApiApiGetDatasetsRequest {
+	r.orderBy = &orderBy
+	return r
+}
+// If set, only return datasets with uris matching this pattern. 
+func (r DatasetApiApiGetDatasetsRequest) UriPattern(uriPattern string) DatasetApiApiGetDatasetsRequest {
+	r.uriPattern = &uriPattern
+	return r
+}
+
+func (r DatasetApiApiGetDatasetsRequest) Execute() (DatasetCollection, *_nethttp.Response, error) {
+	return r.ApiService.GetDatasetsExecute(r)
+}
+
+/*
+GetDatasets List datasets
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return DatasetApiApiGetDatasetsRequest
+*/
+func (a *DatasetApiService) GetDatasets(ctx _context.Context) DatasetApiApiGetDatasetsRequest {
+	return DatasetApiApiGetDatasetsRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return DatasetCollection
+func (a *DatasetApiService) GetDatasetsExecute(r DatasetApiApiGetDatasetsRequest) (DatasetCollection, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodGet
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  DatasetCollection
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DatasetApiService.GetDatasets")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/datasets"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+
+	if r.limit != nil {
+		localVarQueryParams.Add("limit", parameterToString(*r.limit, ""))
+	}
+	if r.offset != nil {
+		localVarQueryParams.Add("offset", parameterToString(*r.offset, ""))
+	}
+	if r.orderBy != nil {
+		localVarQueryParams.Add("order_by", parameterToString(*r.orderBy, ""))
+	}
+	if r.uriPattern != nil {
+		localVarQueryParams.Add("uri_pattern", parameterToString(*r.uriPattern, ""))
+	}
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type DatasetApiApiGetUpstreamDatasetEventsRequest struct {
+	ctx _context.Context
+	ApiService *DatasetApiService
+	dagId string
+	dagRunId string
+}
+
+
+func (r DatasetApiApiGetUpstreamDatasetEventsRequest) Execute() (DatasetEventCollection, *_nethttp.Response, error) {
+	return r.ApiService.GetUpstreamDatasetEventsExecute(r)
+}
+
+/*
+GetUpstreamDatasetEvents Get dataset events for a DAG run
+
+Get datasets for a dag run.
+
+*New in version 2.4.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @return DatasetApiApiGetUpstreamDatasetEventsRequest
+*/
+func (a *DatasetApiService) GetUpstreamDatasetEvents(ctx _context.Context, dagId string, dagRunId string) DatasetApiApiGetUpstreamDatasetEventsRequest {
+	return DatasetApiApiGetUpstreamDatasetEventsRequest{
+		ApiService: a,
+		ctx: ctx,
+		dagId: dagId,
+		dagRunId: dagRunId,
+	}
+}
+
+// Execute executes the request
+//  @return DatasetEventCollection
+func (a *DatasetApiService) GetUpstreamDatasetEventsExecute(r DatasetApiApiGetUpstreamDatasetEventsRequest) (DatasetEventCollection, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodGet
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  DatasetEventCollection
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DatasetApiService.GetUpstreamDatasetEvents")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents"
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/airflow/api_event_log.go b/airflow/api_event_log.go
index 56ea3cd..b140f38 100644
--- a/airflow/api_event_log.go
+++ b/airflow/api_event_log.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -45,14 +45,14 @@
 // EventLogApiService EventLogApi service
 type EventLogApiService service
 
-type ApiGetEventLogRequest struct {
+type EventLogApiApiGetEventLogRequest struct {
 	ctx _context.Context
 	ApiService *EventLogApiService
 	eventLogId int32
 }
 
 
-func (r ApiGetEventLogRequest) Execute() (EventLog, *_nethttp.Response, error) {
+func (r EventLogApiApiGetEventLogRequest) Execute() (EventLog, *_nethttp.Response, error) {
 	return r.ApiService.GetEventLogExecute(r)
 }
 
@@ -61,10 +61,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param eventLogId The event log ID.
- @return ApiGetEventLogRequest
+ @return EventLogApiApiGetEventLogRequest
 */
-func (a *EventLogApiService) GetEventLog(ctx _context.Context, eventLogId int32) ApiGetEventLogRequest {
-	return ApiGetEventLogRequest{
+func (a *EventLogApiService) GetEventLog(ctx _context.Context, eventLogId int32) EventLogApiApiGetEventLogRequest {
+	return EventLogApiApiGetEventLogRequest{
 		ApiService: a,
 		ctx: ctx,
 		eventLogId: eventLogId,
@@ -73,7 +73,7 @@
 
 // Execute executes the request
 //  @return EventLog
-func (a *EventLogApiService) GetEventLogExecute(r ApiGetEventLogRequest) (EventLog, *_nethttp.Response, error) {
+func (a *EventLogApiService) GetEventLogExecute(r EventLogApiApiGetEventLogRequest) (EventLog, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -178,7 +178,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetEventLogsRequest struct {
+type EventLogApiApiGetEventLogsRequest struct {
 	ctx _context.Context
 	ApiService *EventLogApiService
 	limit *int32
@@ -187,22 +187,22 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetEventLogsRequest) Limit(limit int32) ApiGetEventLogsRequest {
+func (r EventLogApiApiGetEventLogsRequest) Limit(limit int32) EventLogApiApiGetEventLogsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetEventLogsRequest) Offset(offset int32) ApiGetEventLogsRequest {
+func (r EventLogApiApiGetEventLogsRequest) Offset(offset int32) EventLogApiApiGetEventLogsRequest {
 	r.offset = &offset
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetEventLogsRequest) OrderBy(orderBy string) ApiGetEventLogsRequest {
+func (r EventLogApiApiGetEventLogsRequest) OrderBy(orderBy string) EventLogApiApiGetEventLogsRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetEventLogsRequest) Execute() (EventLogCollection, *_nethttp.Response, error) {
+func (r EventLogApiApiGetEventLogsRequest) Execute() (EventLogCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetEventLogsExecute(r)
 }
 
@@ -212,10 +212,10 @@
 List log entries from event log.
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetEventLogsRequest
+ @return EventLogApiApiGetEventLogsRequest
 */
-func (a *EventLogApiService) GetEventLogs(ctx _context.Context) ApiGetEventLogsRequest {
-	return ApiGetEventLogsRequest{
+func (a *EventLogApiService) GetEventLogs(ctx _context.Context) EventLogApiApiGetEventLogsRequest {
+	return EventLogApiApiGetEventLogsRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -223,7 +223,7 @@
 
 // Execute executes the request
 //  @return EventLogCollection
-func (a *EventLogApiService) GetEventLogsExecute(r ApiGetEventLogsRequest) (EventLogCollection, *_nethttp.Response, error) {
+func (a *EventLogApiService) GetEventLogsExecute(r EventLogApiApiGetEventLogsRequest) (EventLogCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
diff --git a/airflow/api_import_error.go b/airflow/api_import_error.go
index ebfdd4b..3e3c7d6 100644
--- a/airflow/api_import_error.go
+++ b/airflow/api_import_error.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -45,14 +45,14 @@
 // ImportErrorApiService ImportErrorApi service
 type ImportErrorApiService service
 
-type ApiGetImportErrorRequest struct {
+type ImportErrorApiApiGetImportErrorRequest struct {
 	ctx _context.Context
 	ApiService *ImportErrorApiService
 	importErrorId int32
 }
 
 
-func (r ApiGetImportErrorRequest) Execute() (ImportError, *_nethttp.Response, error) {
+func (r ImportErrorApiApiGetImportErrorRequest) Execute() (ImportError, *_nethttp.Response, error) {
 	return r.ApiService.GetImportErrorExecute(r)
 }
 
@@ -61,10 +61,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param importErrorId The import error ID.
- @return ApiGetImportErrorRequest
+ @return ImportErrorApiApiGetImportErrorRequest
 */
-func (a *ImportErrorApiService) GetImportError(ctx _context.Context, importErrorId int32) ApiGetImportErrorRequest {
-	return ApiGetImportErrorRequest{
+func (a *ImportErrorApiService) GetImportError(ctx _context.Context, importErrorId int32) ImportErrorApiApiGetImportErrorRequest {
+	return ImportErrorApiApiGetImportErrorRequest{
 		ApiService: a,
 		ctx: ctx,
 		importErrorId: importErrorId,
@@ -73,7 +73,7 @@
 
 // Execute executes the request
 //  @return ImportError
-func (a *ImportErrorApiService) GetImportErrorExecute(r ApiGetImportErrorRequest) (ImportError, *_nethttp.Response, error) {
+func (a *ImportErrorApiService) GetImportErrorExecute(r ImportErrorApiApiGetImportErrorRequest) (ImportError, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -178,7 +178,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetImportErrorsRequest struct {
+type ImportErrorApiApiGetImportErrorsRequest struct {
 	ctx _context.Context
 	ApiService *ImportErrorApiService
 	limit *int32
@@ -187,22 +187,22 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetImportErrorsRequest) Limit(limit int32) ApiGetImportErrorsRequest {
+func (r ImportErrorApiApiGetImportErrorsRequest) Limit(limit int32) ImportErrorApiApiGetImportErrorsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetImportErrorsRequest) Offset(offset int32) ApiGetImportErrorsRequest {
+func (r ImportErrorApiApiGetImportErrorsRequest) Offset(offset int32) ImportErrorApiApiGetImportErrorsRequest {
 	r.offset = &offset
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetImportErrorsRequest) OrderBy(orderBy string) ApiGetImportErrorsRequest {
+func (r ImportErrorApiApiGetImportErrorsRequest) OrderBy(orderBy string) ImportErrorApiApiGetImportErrorsRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetImportErrorsRequest) Execute() (ImportErrorCollection, *_nethttp.Response, error) {
+func (r ImportErrorApiApiGetImportErrorsRequest) Execute() (ImportErrorCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetImportErrorsExecute(r)
 }
 
@@ -210,10 +210,10 @@
 GetImportErrors List import errors
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetImportErrorsRequest
+ @return ImportErrorApiApiGetImportErrorsRequest
 */
-func (a *ImportErrorApiService) GetImportErrors(ctx _context.Context) ApiGetImportErrorsRequest {
-	return ApiGetImportErrorsRequest{
+func (a *ImportErrorApiService) GetImportErrors(ctx _context.Context) ImportErrorApiApiGetImportErrorsRequest {
+	return ImportErrorApiApiGetImportErrorsRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -221,7 +221,7 @@
 
 // Execute executes the request
 //  @return ImportErrorCollection
-func (a *ImportErrorApiService) GetImportErrorsExecute(r ApiGetImportErrorsRequest) (ImportErrorCollection, *_nethttp.Response, error) {
+func (a *ImportErrorApiService) GetImportErrorsExecute(r ImportErrorApiApiGetImportErrorsRequest) (ImportErrorCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
diff --git a/airflow/api_monitoring.go b/airflow/api_monitoring.go
index 2356058..55cb14b 100644
--- a/airflow/api_monitoring.go
+++ b/airflow/api_monitoring.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -44,13 +44,13 @@
 // MonitoringApiService MonitoringApi service
 type MonitoringApiService service
 
-type ApiGetHealthRequest struct {
+type MonitoringApiApiGetHealthRequest struct {
 	ctx _context.Context
 	ApiService *MonitoringApiService
 }
 
 
-func (r ApiGetHealthRequest) Execute() (HealthInfo, *_nethttp.Response, error) {
+func (r MonitoringApiApiGetHealthRequest) Execute() (HealthInfo, *_nethttp.Response, error) {
 	return r.ApiService.GetHealthExecute(r)
 }
 
@@ -62,10 +62,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetHealthRequest
+ @return MonitoringApiApiGetHealthRequest
 */
-func (a *MonitoringApiService) GetHealth(ctx _context.Context) ApiGetHealthRequest {
-	return ApiGetHealthRequest{
+func (a *MonitoringApiService) GetHealth(ctx _context.Context) MonitoringApiApiGetHealthRequest {
+	return MonitoringApiApiGetHealthRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -73,7 +73,7 @@
 
 // Execute executes the request
 //  @return HealthInfo
-func (a *MonitoringApiService) GetHealthExecute(r ApiGetHealthRequest) (HealthInfo, *_nethttp.Response, error) {
+func (a *MonitoringApiService) GetHealthExecute(r MonitoringApiApiGetHealthRequest) (HealthInfo, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -148,13 +148,13 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetVersionRequest struct {
+type MonitoringApiApiGetVersionRequest struct {
 	ctx _context.Context
 	ApiService *MonitoringApiService
 }
 
 
-func (r ApiGetVersionRequest) Execute() (VersionInfo, *_nethttp.Response, error) {
+func (r MonitoringApiApiGetVersionRequest) Execute() (VersionInfo, *_nethttp.Response, error) {
 	return r.ApiService.GetVersionExecute(r)
 }
 
@@ -162,10 +162,10 @@
 GetVersion Get version information
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetVersionRequest
+ @return MonitoringApiApiGetVersionRequest
 */
-func (a *MonitoringApiService) GetVersion(ctx _context.Context) ApiGetVersionRequest {
-	return ApiGetVersionRequest{
+func (a *MonitoringApiService) GetVersion(ctx _context.Context) MonitoringApiApiGetVersionRequest {
+	return MonitoringApiApiGetVersionRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -173,7 +173,7 @@
 
 // Execute executes the request
 //  @return VersionInfo
-func (a *MonitoringApiService) GetVersionExecute(r ApiGetVersionRequest) (VersionInfo, *_nethttp.Response, error) {
+func (a *MonitoringApiService) GetVersionExecute(r MonitoringApiApiGetVersionRequest) (VersionInfo, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
diff --git a/airflow/api_permission.go b/airflow/api_permission.go
index 7cb8719..8f596de 100644
--- a/airflow/api_permission.go
+++ b/airflow/api_permission.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -44,7 +44,7 @@
 // PermissionApiService PermissionApi service
 type PermissionApiService service
 
-type ApiGetPermissionsRequest struct {
+type PermissionApiApiGetPermissionsRequest struct {
 	ctx _context.Context
 	ApiService *PermissionApiService
 	limit *int32
@@ -52,17 +52,17 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetPermissionsRequest) Limit(limit int32) ApiGetPermissionsRequest {
+func (r PermissionApiApiGetPermissionsRequest) Limit(limit int32) PermissionApiApiGetPermissionsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetPermissionsRequest) Offset(offset int32) ApiGetPermissionsRequest {
+func (r PermissionApiApiGetPermissionsRequest) Offset(offset int32) PermissionApiApiGetPermissionsRequest {
 	r.offset = &offset
 	return r
 }
 
-func (r ApiGetPermissionsRequest) Execute() (ActionCollection, *_nethttp.Response, error) {
+func (r PermissionApiApiGetPermissionsRequest) Execute() (ActionCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetPermissionsExecute(r)
 }
 
@@ -75,10 +75,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetPermissionsRequest
+ @return PermissionApiApiGetPermissionsRequest
 */
-func (a *PermissionApiService) GetPermissions(ctx _context.Context) ApiGetPermissionsRequest {
-	return ApiGetPermissionsRequest{
+func (a *PermissionApiService) GetPermissions(ctx _context.Context) PermissionApiApiGetPermissionsRequest {
+	return PermissionApiApiGetPermissionsRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -86,7 +86,7 @@
 
 // Execute executes the request
 //  @return ActionCollection
-func (a *PermissionApiService) GetPermissionsExecute(r ApiGetPermissionsRequest) (ActionCollection, *_nethttp.Response, error) {
+func (a *PermissionApiService) GetPermissionsExecute(r PermissionApiApiGetPermissionsRequest) (ActionCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
diff --git a/airflow/api_plugin.go b/airflow/api_plugin.go
index 19a467a..72ed584 100644
--- a/airflow/api_plugin.go
+++ b/airflow/api_plugin.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -44,7 +44,7 @@
 // PluginApiService PluginApi service
 type PluginApiService service
 
-type ApiGetPluginsRequest struct {
+type PluginApiApiGetPluginsRequest struct {
 	ctx _context.Context
 	ApiService *PluginApiService
 	limit *int32
@@ -52,17 +52,17 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetPluginsRequest) Limit(limit int32) ApiGetPluginsRequest {
+func (r PluginApiApiGetPluginsRequest) Limit(limit int32) PluginApiApiGetPluginsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetPluginsRequest) Offset(offset int32) ApiGetPluginsRequest {
+func (r PluginApiApiGetPluginsRequest) Offset(offset int32) PluginApiApiGetPluginsRequest {
 	r.offset = &offset
 	return r
 }
 
-func (r ApiGetPluginsRequest) Execute() (PluginCollection, *_nethttp.Response, error) {
+func (r PluginApiApiGetPluginsRequest) Execute() (PluginCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetPluginsExecute(r)
 }
 
@@ -75,10 +75,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetPluginsRequest
+ @return PluginApiApiGetPluginsRequest
 */
-func (a *PluginApiService) GetPlugins(ctx _context.Context) ApiGetPluginsRequest {
-	return ApiGetPluginsRequest{
+func (a *PluginApiService) GetPlugins(ctx _context.Context) PluginApiApiGetPluginsRequest {
+	return PluginApiApiGetPluginsRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -86,7 +86,7 @@
 
 // Execute executes the request
 //  @return PluginCollection
-func (a *PluginApiService) GetPluginsExecute(r ApiGetPluginsRequest) (PluginCollection, *_nethttp.Response, error) {
+func (a *PluginApiService) GetPluginsExecute(r PluginApiApiGetPluginsRequest) (PluginCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
diff --git a/airflow/api_pool.go b/airflow/api_pool.go
index 920be5c..8546f6d 100644
--- a/airflow/api_pool.go
+++ b/airflow/api_pool.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -45,14 +45,14 @@
 // PoolApiService PoolApi service
 type PoolApiService service
 
-type ApiDeletePoolRequest struct {
+type PoolApiApiDeletePoolRequest struct {
 	ctx _context.Context
 	ApiService *PoolApiService
 	poolName string
 }
 
 
-func (r ApiDeletePoolRequest) Execute() (*_nethttp.Response, error) {
+func (r PoolApiApiDeletePoolRequest) Execute() (*_nethttp.Response, error) {
 	return r.ApiService.DeletePoolExecute(r)
 }
 
@@ -61,10 +61,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param poolName The pool name.
- @return ApiDeletePoolRequest
+ @return PoolApiApiDeletePoolRequest
 */
-func (a *PoolApiService) DeletePool(ctx _context.Context, poolName string) ApiDeletePoolRequest {
-	return ApiDeletePoolRequest{
+func (a *PoolApiService) DeletePool(ctx _context.Context, poolName string) PoolApiApiDeletePoolRequest {
+	return PoolApiApiDeletePoolRequest{
 		ApiService: a,
 		ctx: ctx,
 		poolName: poolName,
@@ -72,7 +72,7 @@
 }
 
 // Execute executes the request
-func (a *PoolApiService) DeletePoolExecute(r ApiDeletePoolRequest) (*_nethttp.Response, error) {
+func (a *PoolApiService) DeletePoolExecute(r PoolApiApiDeletePoolRequest) (*_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodDelete
 		localVarPostBody     interface{}
@@ -177,14 +177,14 @@
 	return localVarHTTPResponse, nil
 }
 
-type ApiGetPoolRequest struct {
+type PoolApiApiGetPoolRequest struct {
 	ctx _context.Context
 	ApiService *PoolApiService
 	poolName string
 }
 
 
-func (r ApiGetPoolRequest) Execute() (Pool, *_nethttp.Response, error) {
+func (r PoolApiApiGetPoolRequest) Execute() (Pool, *_nethttp.Response, error) {
 	return r.ApiService.GetPoolExecute(r)
 }
 
@@ -193,10 +193,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param poolName The pool name.
- @return ApiGetPoolRequest
+ @return PoolApiApiGetPoolRequest
 */
-func (a *PoolApiService) GetPool(ctx _context.Context, poolName string) ApiGetPoolRequest {
-	return ApiGetPoolRequest{
+func (a *PoolApiService) GetPool(ctx _context.Context, poolName string) PoolApiApiGetPoolRequest {
+	return PoolApiApiGetPoolRequest{
 		ApiService: a,
 		ctx: ctx,
 		poolName: poolName,
@@ -205,7 +205,7 @@
 
 // Execute executes the request
 //  @return Pool
-func (a *PoolApiService) GetPoolExecute(r ApiGetPoolRequest) (Pool, *_nethttp.Response, error) {
+func (a *PoolApiService) GetPoolExecute(r PoolApiApiGetPoolRequest) (Pool, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -310,7 +310,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetPoolsRequest struct {
+type PoolApiApiGetPoolsRequest struct {
 	ctx _context.Context
 	ApiService *PoolApiService
 	limit *int32
@@ -319,22 +319,22 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetPoolsRequest) Limit(limit int32) ApiGetPoolsRequest {
+func (r PoolApiApiGetPoolsRequest) Limit(limit int32) PoolApiApiGetPoolsRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetPoolsRequest) Offset(offset int32) ApiGetPoolsRequest {
+func (r PoolApiApiGetPoolsRequest) Offset(offset int32) PoolApiApiGetPoolsRequest {
 	r.offset = &offset
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetPoolsRequest) OrderBy(orderBy string) ApiGetPoolsRequest {
+func (r PoolApiApiGetPoolsRequest) OrderBy(orderBy string) PoolApiApiGetPoolsRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetPoolsRequest) Execute() (PoolCollection, *_nethttp.Response, error) {
+func (r PoolApiApiGetPoolsRequest) Execute() (PoolCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetPoolsExecute(r)
 }
 
@@ -342,10 +342,10 @@
 GetPools List pools
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetPoolsRequest
+ @return PoolApiApiGetPoolsRequest
 */
-func (a *PoolApiService) GetPools(ctx _context.Context) ApiGetPoolsRequest {
-	return ApiGetPoolsRequest{
+func (a *PoolApiService) GetPools(ctx _context.Context) PoolApiApiGetPoolsRequest {
+	return PoolApiApiGetPoolsRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -353,7 +353,7 @@
 
 // Execute executes the request
 //  @return PoolCollection
-func (a *PoolApiService) GetPoolsExecute(r ApiGetPoolsRequest) (PoolCollection, *_nethttp.Response, error) {
+func (a *PoolApiService) GetPoolsExecute(r PoolApiApiGetPoolsRequest) (PoolCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -456,7 +456,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPatchPoolRequest struct {
+type PoolApiApiPatchPoolRequest struct {
 	ctx _context.Context
 	ApiService *PoolApiService
 	poolName string
@@ -464,17 +464,17 @@
 	updateMask *[]string
 }
 
-func (r ApiPatchPoolRequest) Pool(pool Pool) ApiPatchPoolRequest {
+func (r PoolApiApiPatchPoolRequest) Pool(pool Pool) PoolApiApiPatchPoolRequest {
 	r.pool = &pool
 	return r
 }
 // 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. 
-func (r ApiPatchPoolRequest) UpdateMask(updateMask []string) ApiPatchPoolRequest {
+func (r PoolApiApiPatchPoolRequest) UpdateMask(updateMask []string) PoolApiApiPatchPoolRequest {
 	r.updateMask = &updateMask
 	return r
 }
 
-func (r ApiPatchPoolRequest) Execute() (Pool, *_nethttp.Response, error) {
+func (r PoolApiApiPatchPoolRequest) Execute() (Pool, *_nethttp.Response, error) {
 	return r.ApiService.PatchPoolExecute(r)
 }
 
@@ -483,10 +483,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param poolName The pool name.
- @return ApiPatchPoolRequest
+ @return PoolApiApiPatchPoolRequest
 */
-func (a *PoolApiService) PatchPool(ctx _context.Context, poolName string) ApiPatchPoolRequest {
-	return ApiPatchPoolRequest{
+func (a *PoolApiService) PatchPool(ctx _context.Context, poolName string) PoolApiApiPatchPoolRequest {
+	return PoolApiApiPatchPoolRequest{
 		ApiService: a,
 		ctx: ctx,
 		poolName: poolName,
@@ -495,7 +495,7 @@
 
 // Execute executes the request
 //  @return Pool
-func (a *PoolApiService) PatchPoolExecute(r ApiPatchPoolRequest) (Pool, *_nethttp.Response, error) {
+func (a *PoolApiService) PatchPoolExecute(r PoolApiApiPatchPoolRequest) (Pool, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPatch
 		localVarPostBody     interface{}
@@ -628,18 +628,18 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPostPoolRequest struct {
+type PoolApiApiPostPoolRequest struct {
 	ctx _context.Context
 	ApiService *PoolApiService
 	pool *Pool
 }
 
-func (r ApiPostPoolRequest) Pool(pool Pool) ApiPostPoolRequest {
+func (r PoolApiApiPostPoolRequest) Pool(pool Pool) PoolApiApiPostPoolRequest {
 	r.pool = &pool
 	return r
 }
 
-func (r ApiPostPoolRequest) Execute() (Pool, *_nethttp.Response, error) {
+func (r PoolApiApiPostPoolRequest) Execute() (Pool, *_nethttp.Response, error) {
 	return r.ApiService.PostPoolExecute(r)
 }
 
@@ -647,10 +647,10 @@
 PostPool Create a pool
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiPostPoolRequest
+ @return PoolApiApiPostPoolRequest
 */
-func (a *PoolApiService) PostPool(ctx _context.Context) ApiPostPoolRequest {
-	return ApiPostPoolRequest{
+func (a *PoolApiService) PostPool(ctx _context.Context) PoolApiApiPostPoolRequest {
+	return PoolApiApiPostPoolRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -658,7 +658,7 @@
 
 // Execute executes the request
 //  @return Pool
-func (a *PoolApiService) PostPoolExecute(r ApiPostPoolRequest) (Pool, *_nethttp.Response, error) {
+func (a *PoolApiService) PostPoolExecute(r PoolApiApiPostPoolRequest) (Pool, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
diff --git a/airflow/api_provider.go b/airflow/api_provider.go
index c94c834..0fb17f9 100644
--- a/airflow/api_provider.go
+++ b/airflow/api_provider.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -44,13 +44,13 @@
 // ProviderApiService ProviderApi service
 type ProviderApiService service
 
-type ApiGetProvidersRequest struct {
+type ProviderApiApiGetProvidersRequest struct {
 	ctx _context.Context
 	ApiService *ProviderApiService
 }
 
 
-func (r ApiGetProvidersRequest) Execute() (ProviderCollection, *_nethttp.Response, error) {
+func (r ProviderApiApiGetProvidersRequest) Execute() (ProviderCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetProvidersExecute(r)
 }
 
@@ -63,10 +63,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetProvidersRequest
+ @return ProviderApiApiGetProvidersRequest
 */
-func (a *ProviderApiService) GetProviders(ctx _context.Context) ApiGetProvidersRequest {
-	return ApiGetProvidersRequest{
+func (a *ProviderApiService) GetProviders(ctx _context.Context) ProviderApiApiGetProvidersRequest {
+	return ProviderApiApiGetProvidersRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -74,7 +74,7 @@
 
 // Execute executes the request
 //  @return ProviderCollection
-func (a *ProviderApiService) GetProvidersExecute(r ApiGetProvidersRequest) (ProviderCollection, *_nethttp.Response, error) {
+func (a *ProviderApiService) GetProvidersExecute(r ProviderApiApiGetProvidersRequest) (ProviderCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
diff --git a/airflow/api_role.go b/airflow/api_role.go
index e597ca7..2560ea9 100644
--- a/airflow/api_role.go
+++ b/airflow/api_role.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -45,14 +45,14 @@
 // RoleApiService RoleApi service
 type RoleApiService service
 
-type ApiDeleteRoleRequest struct {
+type RoleApiApiDeleteRoleRequest struct {
 	ctx _context.Context
 	ApiService *RoleApiService
 	roleName string
 }
 
 
-func (r ApiDeleteRoleRequest) Execute() (*_nethttp.Response, error) {
+func (r RoleApiApiDeleteRoleRequest) Execute() (*_nethttp.Response, error) {
 	return r.ApiService.DeleteRoleExecute(r)
 }
 
@@ -66,10 +66,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param roleName The role name
- @return ApiDeleteRoleRequest
+ @return RoleApiApiDeleteRoleRequest
 */
-func (a *RoleApiService) DeleteRole(ctx _context.Context, roleName string) ApiDeleteRoleRequest {
-	return ApiDeleteRoleRequest{
+func (a *RoleApiService) DeleteRole(ctx _context.Context, roleName string) RoleApiApiDeleteRoleRequest {
+	return RoleApiApiDeleteRoleRequest{
 		ApiService: a,
 		ctx: ctx,
 		roleName: roleName,
@@ -77,7 +77,7 @@
 }
 
 // Execute executes the request
-func (a *RoleApiService) DeleteRoleExecute(r ApiDeleteRoleRequest) (*_nethttp.Response, error) {
+func (a *RoleApiService) DeleteRoleExecute(r RoleApiApiDeleteRoleRequest) (*_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodDelete
 		localVarPostBody     interface{}
@@ -182,14 +182,14 @@
 	return localVarHTTPResponse, nil
 }
 
-type ApiGetRoleRequest struct {
+type RoleApiApiGetRoleRequest struct {
 	ctx _context.Context
 	ApiService *RoleApiService
 	roleName string
 }
 
 
-func (r ApiGetRoleRequest) Execute() (Role, *_nethttp.Response, error) {
+func (r RoleApiApiGetRoleRequest) Execute() (Role, *_nethttp.Response, error) {
 	return r.ApiService.GetRoleExecute(r)
 }
 
@@ -203,10 +203,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param roleName The role name
- @return ApiGetRoleRequest
+ @return RoleApiApiGetRoleRequest
 */
-func (a *RoleApiService) GetRole(ctx _context.Context, roleName string) ApiGetRoleRequest {
-	return ApiGetRoleRequest{
+func (a *RoleApiService) GetRole(ctx _context.Context, roleName string) RoleApiApiGetRoleRequest {
+	return RoleApiApiGetRoleRequest{
 		ApiService: a,
 		ctx: ctx,
 		roleName: roleName,
@@ -215,7 +215,7 @@
 
 // Execute executes the request
 //  @return Role
-func (a *RoleApiService) GetRoleExecute(r ApiGetRoleRequest) (Role, *_nethttp.Response, error) {
+func (a *RoleApiService) GetRoleExecute(r RoleApiApiGetRoleRequest) (Role, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -320,7 +320,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetRolesRequest struct {
+type RoleApiApiGetRolesRequest struct {
 	ctx _context.Context
 	ApiService *RoleApiService
 	limit *int32
@@ -329,22 +329,22 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetRolesRequest) Limit(limit int32) ApiGetRolesRequest {
+func (r RoleApiApiGetRolesRequest) Limit(limit int32) RoleApiApiGetRolesRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetRolesRequest) Offset(offset int32) ApiGetRolesRequest {
+func (r RoleApiApiGetRolesRequest) Offset(offset int32) RoleApiApiGetRolesRequest {
 	r.offset = &offset
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetRolesRequest) OrderBy(orderBy string) ApiGetRolesRequest {
+func (r RoleApiApiGetRolesRequest) OrderBy(orderBy string) RoleApiApiGetRolesRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetRolesRequest) Execute() (RoleCollection, *_nethttp.Response, error) {
+func (r RoleApiApiGetRolesRequest) Execute() (RoleCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetRolesExecute(r)
 }
 
@@ -357,10 +357,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetRolesRequest
+ @return RoleApiApiGetRolesRequest
 */
-func (a *RoleApiService) GetRoles(ctx _context.Context) ApiGetRolesRequest {
-	return ApiGetRolesRequest{
+func (a *RoleApiService) GetRoles(ctx _context.Context) RoleApiApiGetRolesRequest {
+	return RoleApiApiGetRolesRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -368,7 +368,7 @@
 
 // Execute executes the request
 //  @return RoleCollection
-func (a *RoleApiService) GetRolesExecute(r ApiGetRolesRequest) (RoleCollection, *_nethttp.Response, error) {
+func (a *RoleApiService) GetRolesExecute(r RoleApiApiGetRolesRequest) (RoleCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -471,7 +471,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPatchRoleRequest struct {
+type RoleApiApiPatchRoleRequest struct {
 	ctx _context.Context
 	ApiService *RoleApiService
 	roleName string
@@ -479,17 +479,17 @@
 	updateMask *[]string
 }
 
-func (r ApiPatchRoleRequest) Role(role Role) ApiPatchRoleRequest {
+func (r RoleApiApiPatchRoleRequest) Role(role Role) RoleApiApiPatchRoleRequest {
 	r.role = &role
 	return r
 }
 // 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. 
-func (r ApiPatchRoleRequest) UpdateMask(updateMask []string) ApiPatchRoleRequest {
+func (r RoleApiApiPatchRoleRequest) UpdateMask(updateMask []string) RoleApiApiPatchRoleRequest {
 	r.updateMask = &updateMask
 	return r
 }
 
-func (r ApiPatchRoleRequest) Execute() (Role, *_nethttp.Response, error) {
+func (r RoleApiApiPatchRoleRequest) Execute() (Role, *_nethttp.Response, error) {
 	return r.ApiService.PatchRoleExecute(r)
 }
 
@@ -503,10 +503,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param roleName The role name
- @return ApiPatchRoleRequest
+ @return RoleApiApiPatchRoleRequest
 */
-func (a *RoleApiService) PatchRole(ctx _context.Context, roleName string) ApiPatchRoleRequest {
-	return ApiPatchRoleRequest{
+func (a *RoleApiService) PatchRole(ctx _context.Context, roleName string) RoleApiApiPatchRoleRequest {
+	return RoleApiApiPatchRoleRequest{
 		ApiService: a,
 		ctx: ctx,
 		roleName: roleName,
@@ -515,7 +515,7 @@
 
 // Execute executes the request
 //  @return Role
-func (a *RoleApiService) PatchRoleExecute(r ApiPatchRoleRequest) (Role, *_nethttp.Response, error) {
+func (a *RoleApiService) PatchRoleExecute(r RoleApiApiPatchRoleRequest) (Role, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPatch
 		localVarPostBody     interface{}
@@ -638,18 +638,18 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPostRoleRequest struct {
+type RoleApiApiPostRoleRequest struct {
 	ctx _context.Context
 	ApiService *RoleApiService
 	role *Role
 }
 
-func (r ApiPostRoleRequest) Role(role Role) ApiPostRoleRequest {
+func (r RoleApiApiPostRoleRequest) Role(role Role) RoleApiApiPostRoleRequest {
 	r.role = &role
 	return r
 }
 
-func (r ApiPostRoleRequest) Execute() (Role, *_nethttp.Response, error) {
+func (r RoleApiApiPostRoleRequest) Execute() (Role, *_nethttp.Response, error) {
 	return r.ApiService.PostRoleExecute(r)
 }
 
@@ -662,10 +662,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiPostRoleRequest
+ @return RoleApiApiPostRoleRequest
 */
-func (a *RoleApiService) PostRole(ctx _context.Context) ApiPostRoleRequest {
-	return ApiPostRoleRequest{
+func (a *RoleApiService) PostRole(ctx _context.Context) RoleApiApiPostRoleRequest {
+	return RoleApiApiPostRoleRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -673,7 +673,7 @@
 
 // Execute executes the request
 //  @return Role
-func (a *RoleApiService) PostRoleExecute(r ApiPostRoleRequest) (Role, *_nethttp.Response, error) {
+func (a *RoleApiService) PostRoleExecute(r RoleApiApiPostRoleRequest) (Role, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
diff --git a/airflow/api_task_instance.go b/airflow/api_task_instance.go
index 036019c..1517631 100644
--- a/airflow/api_task_instance.go
+++ b/airflow/api_task_instance.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -47,7 +47,7 @@
 // TaskInstanceApiService TaskInstanceApi service
 type TaskInstanceApiService service
 
-type ApiGetExtraLinksRequest struct {
+type TaskInstanceApiApiGetExtraLinksRequest struct {
 	ctx _context.Context
 	ApiService *TaskInstanceApiService
 	dagId string
@@ -56,7 +56,7 @@
 }
 
 
-func (r ApiGetExtraLinksRequest) Execute() (ExtraLinkCollection, *_nethttp.Response, error) {
+func (r TaskInstanceApiApiGetExtraLinksRequest) Execute() (ExtraLinkCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetExtraLinksExecute(r)
 }
 
@@ -70,10 +70,10 @@
  @param dagId The DAG ID.
  @param dagRunId The DAG run ID.
  @param taskId The task ID.
- @return ApiGetExtraLinksRequest
+ @return TaskInstanceApiApiGetExtraLinksRequest
 */
-func (a *TaskInstanceApiService) GetExtraLinks(ctx _context.Context, dagId string, dagRunId string, taskId string) ApiGetExtraLinksRequest {
-	return ApiGetExtraLinksRequest{
+func (a *TaskInstanceApiService) GetExtraLinks(ctx _context.Context, dagId string, dagRunId string, taskId string) TaskInstanceApiApiGetExtraLinksRequest {
+	return TaskInstanceApiApiGetExtraLinksRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -84,7 +84,7 @@
 
 // Execute executes the request
 //  @return ExtraLinkCollection
-func (a *TaskInstanceApiService) GetExtraLinksExecute(r ApiGetExtraLinksRequest) (ExtraLinkCollection, *_nethttp.Response, error) {
+func (a *TaskInstanceApiService) GetExtraLinksExecute(r TaskInstanceApiApiGetExtraLinksRequest) (ExtraLinkCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -191,7 +191,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetLogRequest struct {
+type TaskInstanceApiApiGetLogRequest struct {
 	ctx _context.Context
 	ApiService *TaskInstanceApiService
 	dagId string
@@ -199,21 +199,27 @@
 	taskId string
 	taskTryNumber int32
 	fullContent *bool
+	mapIndex *int32
 	token *string
 }
 
 // A full content will be returned. By default, only the first fragment will be returned. 
-func (r ApiGetLogRequest) FullContent(fullContent bool) ApiGetLogRequest {
+func (r TaskInstanceApiApiGetLogRequest) FullContent(fullContent bool) TaskInstanceApiApiGetLogRequest {
 	r.fullContent = &fullContent
 	return r
 }
+// Filter on map index for mapped task.
+func (r TaskInstanceApiApiGetLogRequest) MapIndex(mapIndex int32) TaskInstanceApiApiGetLogRequest {
+	r.mapIndex = &mapIndex
+	return r
+}
 // A token that allows you to continue fetching logs. If passed, it will specify the location from which the download should be continued. 
-func (r ApiGetLogRequest) Token(token string) ApiGetLogRequest {
+func (r TaskInstanceApiApiGetLogRequest) Token(token string) TaskInstanceApiApiGetLogRequest {
 	r.token = &token
 	return r
 }
 
-func (r ApiGetLogRequest) Execute() (InlineResponse200, *_nethttp.Response, error) {
+func (r TaskInstanceApiApiGetLogRequest) Execute() (InlineResponse200, *_nethttp.Response, error) {
 	return r.ApiService.GetLogExecute(r)
 }
 
@@ -227,10 +233,10 @@
  @param dagRunId The DAG run ID.
  @param taskId The task ID.
  @param taskTryNumber The task try number.
- @return ApiGetLogRequest
+ @return TaskInstanceApiApiGetLogRequest
 */
-func (a *TaskInstanceApiService) GetLog(ctx _context.Context, dagId string, dagRunId string, taskId string, taskTryNumber int32) ApiGetLogRequest {
-	return ApiGetLogRequest{
+func (a *TaskInstanceApiService) GetLog(ctx _context.Context, dagId string, dagRunId string, taskId string, taskTryNumber int32) TaskInstanceApiApiGetLogRequest {
+	return TaskInstanceApiApiGetLogRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -242,7 +248,7 @@
 
 // Execute executes the request
 //  @return InlineResponse200
-func (a *TaskInstanceApiService) GetLogExecute(r ApiGetLogRequest) (InlineResponse200, *_nethttp.Response, error) {
+func (a *TaskInstanceApiService) GetLogExecute(r TaskInstanceApiApiGetLogRequest) (InlineResponse200, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -270,6 +276,9 @@
 	if r.fullContent != nil {
 		localVarQueryParams.Add("full_content", parameterToString(*r.fullContent, ""))
 	}
+	if r.mapIndex != nil {
+		localVarQueryParams.Add("map_index", parameterToString(*r.mapIndex, ""))
+	}
 	if r.token != nil {
 		localVarQueryParams.Add("token", parameterToString(*r.token, ""))
 	}
@@ -366,7 +375,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetMappedTaskInstanceRequest struct {
+type TaskInstanceApiApiGetMappedTaskInstanceRequest struct {
 	ctx _context.Context
 	ApiService *TaskInstanceApiService
 	dagId string
@@ -376,7 +385,7 @@
 }
 
 
-func (r ApiGetMappedTaskInstanceRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
+func (r TaskInstanceApiApiGetMappedTaskInstanceRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
 	return r.ApiService.GetMappedTaskInstanceExecute(r)
 }
 
@@ -393,10 +402,10 @@
  @param dagRunId The DAG run ID.
  @param taskId The task ID.
  @param mapIndex The map index.
- @return ApiGetMappedTaskInstanceRequest
+ @return TaskInstanceApiApiGetMappedTaskInstanceRequest
 */
-func (a *TaskInstanceApiService) GetMappedTaskInstance(ctx _context.Context, dagId string, dagRunId string, taskId string, mapIndex int32) ApiGetMappedTaskInstanceRequest {
-	return ApiGetMappedTaskInstanceRequest{
+func (a *TaskInstanceApiService) GetMappedTaskInstance(ctx _context.Context, dagId string, dagRunId string, taskId string, mapIndex int32) TaskInstanceApiApiGetMappedTaskInstanceRequest {
+	return TaskInstanceApiApiGetMappedTaskInstanceRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -408,7 +417,7 @@
 
 // Execute executes the request
 //  @return TaskInstance
-func (a *TaskInstanceApiService) GetMappedTaskInstanceExecute(r ApiGetMappedTaskInstanceRequest) (TaskInstance, *_nethttp.Response, error) {
+func (a *TaskInstanceApiService) GetMappedTaskInstanceExecute(r TaskInstanceApiApiGetMappedTaskInstanceRequest) (TaskInstance, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -516,7 +525,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetMappedTaskInstancesRequest struct {
+type TaskInstanceApiApiGetMappedTaskInstancesRequest struct {
 	ctx _context.Context
 	ApiService *TaskInstanceApiService
 	dagId string
@@ -539,77 +548,77 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetMappedTaskInstancesRequest) Limit(limit int32) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) Limit(limit int32) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetMappedTaskInstancesRequest) Offset(offset int32) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) Offset(offset int32) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.offset = &offset
 	return r
 }
 // Returns objects greater or equal to the specified date.  This can be combined with execution_date_lte parameter to receive only the selected period. 
-func (r ApiGetMappedTaskInstancesRequest) ExecutionDateGte(executionDateGte time.Time) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) ExecutionDateGte(executionDateGte time.Time) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.executionDateGte = &executionDateGte
 	return r
 }
 // 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. 
-func (r ApiGetMappedTaskInstancesRequest) ExecutionDateLte(executionDateLte time.Time) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) ExecutionDateLte(executionDateLte time.Time) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.executionDateLte = &executionDateLte
 	return r
 }
 // Returns objects greater or equal the specified date.  This can be combined with start_date_lte parameter to receive only the selected period. 
-func (r ApiGetMappedTaskInstancesRequest) StartDateGte(startDateGte time.Time) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) StartDateGte(startDateGte time.Time) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.startDateGte = &startDateGte
 	return r
 }
 // Returns objects less or equal the specified date.  This can be combined with start_date_gte parameter to receive only the selected period. 
-func (r ApiGetMappedTaskInstancesRequest) StartDateLte(startDateLte time.Time) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) StartDateLte(startDateLte time.Time) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.startDateLte = &startDateLte
 	return r
 }
 // Returns objects greater or equal the specified date.  This can be combined with start_date_lte parameter to receive only the selected period. 
-func (r ApiGetMappedTaskInstancesRequest) EndDateGte(endDateGte time.Time) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) EndDateGte(endDateGte time.Time) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.endDateGte = &endDateGte
 	return r
 }
 // 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. 
-func (r ApiGetMappedTaskInstancesRequest) EndDateLte(endDateLte time.Time) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) EndDateLte(endDateLte time.Time) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.endDateLte = &endDateLte
 	return r
 }
 // Returns objects greater than or equal to the specified values.  This can be combined with duration_lte parameter to receive only the selected period. 
-func (r ApiGetMappedTaskInstancesRequest) DurationGte(durationGte float32) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) DurationGte(durationGte float32) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.durationGte = &durationGte
 	return r
 }
 // Returns objects less than or equal to the specified values.  This can be combined with duration_gte parameter to receive only the selected range. 
-func (r ApiGetMappedTaskInstancesRequest) DurationLte(durationLte float32) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) DurationLte(durationLte float32) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.durationLte = &durationLte
 	return r
 }
 // The value can be repeated to retrieve multiple matching values (OR condition).
-func (r ApiGetMappedTaskInstancesRequest) State(state []string) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) State(state []string) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.state = &state
 	return r
 }
 // The value can be repeated to retrieve multiple matching values (OR condition).
-func (r ApiGetMappedTaskInstancesRequest) Pool(pool []string) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) Pool(pool []string) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.pool = &pool
 	return r
 }
 // The value can be repeated to retrieve multiple matching values (OR condition).
-func (r ApiGetMappedTaskInstancesRequest) Queue(queue []string) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) Queue(queue []string) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.queue = &queue
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetMappedTaskInstancesRequest) OrderBy(orderBy string) ApiGetMappedTaskInstancesRequest {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) OrderBy(orderBy string) TaskInstanceApiApiGetMappedTaskInstancesRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetMappedTaskInstancesRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
+func (r TaskInstanceApiApiGetMappedTaskInstancesRequest) Execute() (TaskInstanceCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetMappedTaskInstancesExecute(r)
 }
 
@@ -625,10 +634,10 @@
  @param dagId The DAG ID.
  @param dagRunId The DAG run ID.
  @param taskId The task ID.
- @return ApiGetMappedTaskInstancesRequest
+ @return TaskInstanceApiApiGetMappedTaskInstancesRequest
 */
-func (a *TaskInstanceApiService) GetMappedTaskInstances(ctx _context.Context, dagId string, dagRunId string, taskId string) ApiGetMappedTaskInstancesRequest {
-	return ApiGetMappedTaskInstancesRequest{
+func (a *TaskInstanceApiService) GetMappedTaskInstances(ctx _context.Context, dagId string, dagRunId string, taskId string) TaskInstanceApiApiGetMappedTaskInstancesRequest {
+	return TaskInstanceApiApiGetMappedTaskInstancesRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -638,15 +647,15 @@
 }
 
 // Execute executes the request
-//  @return TaskInstance
-func (a *TaskInstanceApiService) GetMappedTaskInstancesExecute(r ApiGetMappedTaskInstancesRequest) (TaskInstance, *_nethttp.Response, error) {
+//  @return TaskInstanceCollection
+func (a *TaskInstanceApiService) GetMappedTaskInstancesExecute(r TaskInstanceApiApiGetMappedTaskInstancesRequest) (TaskInstanceCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
 		localVarFileBytes    []byte
-		localVarReturnValue  TaskInstance
+		localVarReturnValue  TaskInstanceCollection
 	)
 
 	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaskInstanceApiService.GetMappedTaskInstances")
@@ -812,7 +821,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetTaskInstanceRequest struct {
+type TaskInstanceApiApiGetTaskInstanceRequest struct {
 	ctx _context.Context
 	ApiService *TaskInstanceApiService
 	dagId string
@@ -821,7 +830,7 @@
 }
 
 
-func (r ApiGetTaskInstanceRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
+func (r TaskInstanceApiApiGetTaskInstanceRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
 	return r.ApiService.GetTaskInstanceExecute(r)
 }
 
@@ -832,10 +841,10 @@
  @param dagId The DAG ID.
  @param dagRunId The DAG run ID.
  @param taskId The task ID.
- @return ApiGetTaskInstanceRequest
+ @return TaskInstanceApiApiGetTaskInstanceRequest
 */
-func (a *TaskInstanceApiService) GetTaskInstance(ctx _context.Context, dagId string, dagRunId string, taskId string) ApiGetTaskInstanceRequest {
-	return ApiGetTaskInstanceRequest{
+func (a *TaskInstanceApiService) GetTaskInstance(ctx _context.Context, dagId string, dagRunId string, taskId string) TaskInstanceApiApiGetTaskInstanceRequest {
+	return TaskInstanceApiApiGetTaskInstanceRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -846,7 +855,7 @@
 
 // Execute executes the request
 //  @return TaskInstance
-func (a *TaskInstanceApiService) GetTaskInstanceExecute(r ApiGetTaskInstanceRequest) (TaskInstance, *_nethttp.Response, error) {
+func (a *TaskInstanceApiService) GetTaskInstanceExecute(r TaskInstanceApiApiGetTaskInstanceRequest) (TaskInstance, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -953,7 +962,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetTaskInstancesRequest struct {
+type TaskInstanceApiApiGetTaskInstancesRequest struct {
 	ctx _context.Context
 	ApiService *TaskInstanceApiService
 	dagId string
@@ -974,72 +983,72 @@
 }
 
 // Returns objects greater or equal to the specified date.  This can be combined with execution_date_lte parameter to receive only the selected period. 
-func (r ApiGetTaskInstancesRequest) ExecutionDateGte(executionDateGte time.Time) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) ExecutionDateGte(executionDateGte time.Time) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.executionDateGte = &executionDateGte
 	return r
 }
 // 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. 
-func (r ApiGetTaskInstancesRequest) ExecutionDateLte(executionDateLte time.Time) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) ExecutionDateLte(executionDateLte time.Time) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.executionDateLte = &executionDateLte
 	return r
 }
 // Returns objects greater or equal the specified date.  This can be combined with start_date_lte parameter to receive only the selected period. 
-func (r ApiGetTaskInstancesRequest) StartDateGte(startDateGte time.Time) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) StartDateGte(startDateGte time.Time) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.startDateGte = &startDateGte
 	return r
 }
 // Returns objects less or equal the specified date.  This can be combined with start_date_gte parameter to receive only the selected period. 
-func (r ApiGetTaskInstancesRequest) StartDateLte(startDateLte time.Time) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) StartDateLte(startDateLte time.Time) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.startDateLte = &startDateLte
 	return r
 }
 // Returns objects greater or equal the specified date.  This can be combined with start_date_lte parameter to receive only the selected period. 
-func (r ApiGetTaskInstancesRequest) EndDateGte(endDateGte time.Time) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) EndDateGte(endDateGte time.Time) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.endDateGte = &endDateGte
 	return r
 }
 // 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. 
-func (r ApiGetTaskInstancesRequest) EndDateLte(endDateLte time.Time) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) EndDateLte(endDateLte time.Time) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.endDateLte = &endDateLte
 	return r
 }
 // Returns objects greater than or equal to the specified values.  This can be combined with duration_lte parameter to receive only the selected period. 
-func (r ApiGetTaskInstancesRequest) DurationGte(durationGte float32) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) DurationGte(durationGte float32) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.durationGte = &durationGte
 	return r
 }
 // Returns objects less than or equal to the specified values.  This can be combined with duration_gte parameter to receive only the selected range. 
-func (r ApiGetTaskInstancesRequest) DurationLte(durationLte float32) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) DurationLte(durationLte float32) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.durationLte = &durationLte
 	return r
 }
 // The value can be repeated to retrieve multiple matching values (OR condition).
-func (r ApiGetTaskInstancesRequest) State(state []string) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) State(state []string) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.state = &state
 	return r
 }
 // The value can be repeated to retrieve multiple matching values (OR condition).
-func (r ApiGetTaskInstancesRequest) Pool(pool []string) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) Pool(pool []string) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.pool = &pool
 	return r
 }
 // The value can be repeated to retrieve multiple matching values (OR condition).
-func (r ApiGetTaskInstancesRequest) Queue(queue []string) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) Queue(queue []string) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.queue = &queue
 	return r
 }
 // The numbers of items to return.
-func (r ApiGetTaskInstancesRequest) Limit(limit int32) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) Limit(limit int32) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetTaskInstancesRequest) Offset(offset int32) ApiGetTaskInstancesRequest {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) Offset(offset int32) TaskInstanceApiApiGetTaskInstancesRequest {
 	r.offset = &offset
 	return r
 }
 
-func (r ApiGetTaskInstancesRequest) Execute() (TaskInstanceCollection, *_nethttp.Response, error) {
+func (r TaskInstanceApiApiGetTaskInstancesRequest) Execute() (TaskInstanceCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetTaskInstancesExecute(r)
 }
 
@@ -1052,10 +1061,10 @@
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param dagId The DAG ID.
  @param dagRunId The DAG run ID.
- @return ApiGetTaskInstancesRequest
+ @return TaskInstanceApiApiGetTaskInstancesRequest
 */
-func (a *TaskInstanceApiService) GetTaskInstances(ctx _context.Context, dagId string, dagRunId string) ApiGetTaskInstancesRequest {
-	return ApiGetTaskInstancesRequest{
+func (a *TaskInstanceApiService) GetTaskInstances(ctx _context.Context, dagId string, dagRunId string) TaskInstanceApiApiGetTaskInstancesRequest {
+	return TaskInstanceApiApiGetTaskInstancesRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -1065,7 +1074,7 @@
 
 // Execute executes the request
 //  @return TaskInstanceCollection
-func (a *TaskInstanceApiService) GetTaskInstancesExecute(r ApiGetTaskInstancesRequest) (TaskInstanceCollection, *_nethttp.Response, error) {
+func (a *TaskInstanceApiService) GetTaskInstancesExecute(r TaskInstanceApiApiGetTaskInstancesRequest) (TaskInstanceCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -1224,18 +1233,18 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetTaskInstancesBatchRequest struct {
+type TaskInstanceApiApiGetTaskInstancesBatchRequest struct {
 	ctx _context.Context
 	ApiService *TaskInstanceApiService
 	listTaskInstanceForm *ListTaskInstanceForm
 }
 
-func (r ApiGetTaskInstancesBatchRequest) ListTaskInstanceForm(listTaskInstanceForm ListTaskInstanceForm) ApiGetTaskInstancesBatchRequest {
+func (r TaskInstanceApiApiGetTaskInstancesBatchRequest) ListTaskInstanceForm(listTaskInstanceForm ListTaskInstanceForm) TaskInstanceApiApiGetTaskInstancesBatchRequest {
 	r.listTaskInstanceForm = &listTaskInstanceForm
 	return r
 }
 
-func (r ApiGetTaskInstancesBatchRequest) Execute() (TaskInstanceCollection, *_nethttp.Response, error) {
+func (r TaskInstanceApiApiGetTaskInstancesBatchRequest) Execute() (TaskInstanceCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetTaskInstancesBatchExecute(r)
 }
 
@@ -1247,10 +1256,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetTaskInstancesBatchRequest
+ @return TaskInstanceApiApiGetTaskInstancesBatchRequest
 */
-func (a *TaskInstanceApiService) GetTaskInstancesBatch(ctx _context.Context) ApiGetTaskInstancesBatchRequest {
-	return ApiGetTaskInstancesBatchRequest{
+func (a *TaskInstanceApiService) GetTaskInstancesBatch(ctx _context.Context) TaskInstanceApiApiGetTaskInstancesBatchRequest {
+	return TaskInstanceApiApiGetTaskInstancesBatchRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -1258,7 +1267,7 @@
 
 // Execute executes the request
 //  @return TaskInstanceCollection
-func (a *TaskInstanceApiService) GetTaskInstancesBatchExecute(r ApiGetTaskInstancesBatchRequest) (TaskInstanceCollection, *_nethttp.Response, error) {
+func (a *TaskInstanceApiService) GetTaskInstancesBatchExecute(r TaskInstanceApiApiGetTaskInstancesBatchRequest) (TaskInstanceCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
@@ -1366,3 +1375,316 @@
 
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
+
+type TaskInstanceApiApiPatchMappedTaskInstanceRequest struct {
+	ctx _context.Context
+	ApiService *TaskInstanceApiService
+	dagId string
+	dagRunId string
+	taskId string
+	mapIndex int32
+	updateTaskInstance *UpdateTaskInstance
+}
+
+// Parameters of action
+func (r TaskInstanceApiApiPatchMappedTaskInstanceRequest) UpdateTaskInstance(updateTaskInstance UpdateTaskInstance) TaskInstanceApiApiPatchMappedTaskInstanceRequest {
+	r.updateTaskInstance = &updateTaskInstance
+	return r
+}
+
+func (r TaskInstanceApiApiPatchMappedTaskInstanceRequest) Execute() (TaskInstanceReference, *_nethttp.Response, error) {
+	return r.ApiService.PatchMappedTaskInstanceExecute(r)
+}
+
+/*
+PatchMappedTaskInstance Updates the state of a mapped task instance
+
+Updates the state for single mapped task instance.
+*New in version 2.5.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @param taskId The task ID.
+ @param mapIndex The map index.
+ @return TaskInstanceApiApiPatchMappedTaskInstanceRequest
+*/
+func (a *TaskInstanceApiService) PatchMappedTaskInstance(ctx _context.Context, dagId string, dagRunId string, taskId string, mapIndex int32) TaskInstanceApiApiPatchMappedTaskInstanceRequest {
+	return TaskInstanceApiApiPatchMappedTaskInstanceRequest{
+		ApiService: a,
+		ctx: ctx,
+		dagId: dagId,
+		dagRunId: dagRunId,
+		taskId: taskId,
+		mapIndex: mapIndex,
+	}
+}
+
+// Execute executes the request
+//  @return TaskInstanceReference
+func (a *TaskInstanceApiService) PatchMappedTaskInstanceExecute(r TaskInstanceApiApiPatchMappedTaskInstanceRequest) (TaskInstanceReference, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPatch
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  TaskInstanceReference
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaskInstanceApiService.PatchMappedTaskInstance")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}"
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"task_id"+"}", _neturl.PathEscape(parameterToString(r.taskId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"map_index"+"}", _neturl.PathEscape(parameterToString(r.mapIndex, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.updateTaskInstance
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type TaskInstanceApiApiPatchTaskInstanceRequest struct {
+	ctx _context.Context
+	ApiService *TaskInstanceApiService
+	dagId string
+	dagRunId string
+	taskId string
+	updateTaskInstance *UpdateTaskInstance
+}
+
+// Parameters of action
+func (r TaskInstanceApiApiPatchTaskInstanceRequest) UpdateTaskInstance(updateTaskInstance UpdateTaskInstance) TaskInstanceApiApiPatchTaskInstanceRequest {
+	r.updateTaskInstance = &updateTaskInstance
+	return r
+}
+
+func (r TaskInstanceApiApiPatchTaskInstanceRequest) Execute() (TaskInstanceReference, *_nethttp.Response, error) {
+	return r.ApiService.PatchTaskInstanceExecute(r)
+}
+
+/*
+PatchTaskInstance Updates the state of a task instance
+
+Updates the state for single task instance.
+*New in version 2.5.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @param taskId The task ID.
+ @return TaskInstanceApiApiPatchTaskInstanceRequest
+*/
+func (a *TaskInstanceApiService) PatchTaskInstance(ctx _context.Context, dagId string, dagRunId string, taskId string) TaskInstanceApiApiPatchTaskInstanceRequest {
+	return TaskInstanceApiApiPatchTaskInstanceRequest{
+		ApiService: a,
+		ctx: ctx,
+		dagId: dagId,
+		dagRunId: dagRunId,
+		taskId: taskId,
+	}
+}
+
+// Execute executes the request
+//  @return TaskInstanceReference
+func (a *TaskInstanceApiService) PatchTaskInstanceExecute(r TaskInstanceApiApiPatchTaskInstanceRequest) (TaskInstanceReference, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPatch
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  TaskInstanceReference
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaskInstanceApiService.PatchTaskInstance")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"task_id"+"}", _neturl.PathEscape(parameterToString(r.taskId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+	if r.updateTaskInstance == nil {
+		return localVarReturnValue, nil, reportError("updateTaskInstance is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.updateTaskInstance
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v Error
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/airflow/api_user.go b/airflow/api_user.go
index b0873bc..e98fb79 100644
--- a/airflow/api_user.go
+++ b/airflow/api_user.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -45,14 +45,14 @@
 // UserApiService UserApi service
 type UserApiService service
 
-type ApiDeleteUserRequest struct {
+type UserApiApiDeleteUserRequest struct {
 	ctx _context.Context
 	ApiService *UserApiService
 	username string
 }
 
 
-func (r ApiDeleteUserRequest) Execute() (*_nethttp.Response, error) {
+func (r UserApiApiDeleteUserRequest) Execute() (*_nethttp.Response, error) {
 	return r.ApiService.DeleteUserExecute(r)
 }
 
@@ -66,10 +66,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param username The username of the user.  *New in version 2.1.0* 
- @return ApiDeleteUserRequest
+ @return UserApiApiDeleteUserRequest
 */
-func (a *UserApiService) DeleteUser(ctx _context.Context, username string) ApiDeleteUserRequest {
-	return ApiDeleteUserRequest{
+func (a *UserApiService) DeleteUser(ctx _context.Context, username string) UserApiApiDeleteUserRequest {
+	return UserApiApiDeleteUserRequest{
 		ApiService: a,
 		ctx: ctx,
 		username: username,
@@ -77,7 +77,7 @@
 }
 
 // Execute executes the request
-func (a *UserApiService) DeleteUserExecute(r ApiDeleteUserRequest) (*_nethttp.Response, error) {
+func (a *UserApiService) DeleteUserExecute(r UserApiApiDeleteUserRequest) (*_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodDelete
 		localVarPostBody     interface{}
@@ -182,14 +182,14 @@
 	return localVarHTTPResponse, nil
 }
 
-type ApiGetUserRequest struct {
+type UserApiApiGetUserRequest struct {
 	ctx _context.Context
 	ApiService *UserApiService
 	username string
 }
 
 
-func (r ApiGetUserRequest) Execute() (UserCollectionItem, *_nethttp.Response, error) {
+func (r UserApiApiGetUserRequest) Execute() (UserCollectionItem, *_nethttp.Response, error) {
 	return r.ApiService.GetUserExecute(r)
 }
 
@@ -203,10 +203,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param username The username of the user.  *New in version 2.1.0* 
- @return ApiGetUserRequest
+ @return UserApiApiGetUserRequest
 */
-func (a *UserApiService) GetUser(ctx _context.Context, username string) ApiGetUserRequest {
-	return ApiGetUserRequest{
+func (a *UserApiService) GetUser(ctx _context.Context, username string) UserApiApiGetUserRequest {
+	return UserApiApiGetUserRequest{
 		ApiService: a,
 		ctx: ctx,
 		username: username,
@@ -215,7 +215,7 @@
 
 // Execute executes the request
 //  @return UserCollectionItem
-func (a *UserApiService) GetUserExecute(r ApiGetUserRequest) (UserCollectionItem, *_nethttp.Response, error) {
+func (a *UserApiService) GetUserExecute(r UserApiApiGetUserRequest) (UserCollectionItem, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -320,7 +320,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetUsersRequest struct {
+type UserApiApiGetUsersRequest struct {
 	ctx _context.Context
 	ApiService *UserApiService
 	limit *int32
@@ -329,22 +329,22 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetUsersRequest) Limit(limit int32) ApiGetUsersRequest {
+func (r UserApiApiGetUsersRequest) Limit(limit int32) UserApiApiGetUsersRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetUsersRequest) Offset(offset int32) ApiGetUsersRequest {
+func (r UserApiApiGetUsersRequest) Offset(offset int32) UserApiApiGetUsersRequest {
 	r.offset = &offset
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetUsersRequest) OrderBy(orderBy string) ApiGetUsersRequest {
+func (r UserApiApiGetUsersRequest) OrderBy(orderBy string) UserApiApiGetUsersRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetUsersRequest) Execute() (UserCollection, *_nethttp.Response, error) {
+func (r UserApiApiGetUsersRequest) Execute() (UserCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetUsersExecute(r)
 }
 
@@ -357,10 +357,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetUsersRequest
+ @return UserApiApiGetUsersRequest
 */
-func (a *UserApiService) GetUsers(ctx _context.Context) ApiGetUsersRequest {
-	return ApiGetUsersRequest{
+func (a *UserApiService) GetUsers(ctx _context.Context) UserApiApiGetUsersRequest {
+	return UserApiApiGetUsersRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -368,7 +368,7 @@
 
 // Execute executes the request
 //  @return UserCollection
-func (a *UserApiService) GetUsersExecute(r ApiGetUsersRequest) (UserCollection, *_nethttp.Response, error) {
+func (a *UserApiService) GetUsersExecute(r UserApiApiGetUsersRequest) (UserCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -471,7 +471,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPatchUserRequest struct {
+type UserApiApiPatchUserRequest struct {
 	ctx _context.Context
 	ApiService *UserApiService
 	username string
@@ -479,17 +479,17 @@
 	updateMask *[]string
 }
 
-func (r ApiPatchUserRequest) User(user User) ApiPatchUserRequest {
+func (r UserApiApiPatchUserRequest) User(user User) UserApiApiPatchUserRequest {
 	r.user = &user
 	return r
 }
 // 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. 
-func (r ApiPatchUserRequest) UpdateMask(updateMask []string) ApiPatchUserRequest {
+func (r UserApiApiPatchUserRequest) UpdateMask(updateMask []string) UserApiApiPatchUserRequest {
 	r.updateMask = &updateMask
 	return r
 }
 
-func (r ApiPatchUserRequest) Execute() (Role, *_nethttp.Response, error) {
+func (r UserApiApiPatchUserRequest) Execute() (Role, *_nethttp.Response, error) {
 	return r.ApiService.PatchUserExecute(r)
 }
 
@@ -503,10 +503,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param username The username of the user.  *New in version 2.1.0* 
- @return ApiPatchUserRequest
+ @return UserApiApiPatchUserRequest
 */
-func (a *UserApiService) PatchUser(ctx _context.Context, username string) ApiPatchUserRequest {
-	return ApiPatchUserRequest{
+func (a *UserApiService) PatchUser(ctx _context.Context, username string) UserApiApiPatchUserRequest {
+	return UserApiApiPatchUserRequest{
 		ApiService: a,
 		ctx: ctx,
 		username: username,
@@ -515,7 +515,7 @@
 
 // Execute executes the request
 //  @return Role
-func (a *UserApiService) PatchUserExecute(r ApiPatchUserRequest) (Role, *_nethttp.Response, error) {
+func (a *UserApiService) PatchUserExecute(r UserApiApiPatchUserRequest) (Role, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPatch
 		localVarPostBody     interface{}
@@ -638,18 +638,18 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPostUserRequest struct {
+type UserApiApiPostUserRequest struct {
 	ctx _context.Context
 	ApiService *UserApiService
 	user *User
 }
 
-func (r ApiPostUserRequest) User(user User) ApiPostUserRequest {
+func (r UserApiApiPostUserRequest) User(user User) UserApiApiPostUserRequest {
 	r.user = &user
 	return r
 }
 
-func (r ApiPostUserRequest) Execute() (User, *_nethttp.Response, error) {
+func (r UserApiApiPostUserRequest) Execute() (User, *_nethttp.Response, error) {
 	return r.ApiService.PostUserExecute(r)
 }
 
@@ -662,10 +662,10 @@
 
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiPostUserRequest
+ @return UserApiApiPostUserRequest
 */
-func (a *UserApiService) PostUser(ctx _context.Context) ApiPostUserRequest {
-	return ApiPostUserRequest{
+func (a *UserApiService) PostUser(ctx _context.Context) UserApiApiPostUserRequest {
+	return UserApiApiPostUserRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -673,7 +673,7 @@
 
 // Execute executes the request
 //  @return User
-func (a *UserApiService) PostUserExecute(r ApiPostUserRequest) (User, *_nethttp.Response, error) {
+func (a *UserApiService) PostUserExecute(r UserApiApiPostUserRequest) (User, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
diff --git a/airflow/api_variable.go b/airflow/api_variable.go
index f0f35f9..f9acf87 100644
--- a/airflow/api_variable.go
+++ b/airflow/api_variable.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -45,14 +45,14 @@
 // VariableApiService VariableApi service
 type VariableApiService service
 
-type ApiDeleteVariableRequest struct {
+type VariableApiApiDeleteVariableRequest struct {
 	ctx _context.Context
 	ApiService *VariableApiService
 	variableKey string
 }
 
 
-func (r ApiDeleteVariableRequest) Execute() (*_nethttp.Response, error) {
+func (r VariableApiApiDeleteVariableRequest) Execute() (*_nethttp.Response, error) {
 	return r.ApiService.DeleteVariableExecute(r)
 }
 
@@ -61,10 +61,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param variableKey The variable Key.
- @return ApiDeleteVariableRequest
+ @return VariableApiApiDeleteVariableRequest
 */
-func (a *VariableApiService) DeleteVariable(ctx _context.Context, variableKey string) ApiDeleteVariableRequest {
-	return ApiDeleteVariableRequest{
+func (a *VariableApiService) DeleteVariable(ctx _context.Context, variableKey string) VariableApiApiDeleteVariableRequest {
+	return VariableApiApiDeleteVariableRequest{
 		ApiService: a,
 		ctx: ctx,
 		variableKey: variableKey,
@@ -72,7 +72,7 @@
 }
 
 // Execute executes the request
-func (a *VariableApiService) DeleteVariableExecute(r ApiDeleteVariableRequest) (*_nethttp.Response, error) {
+func (a *VariableApiService) DeleteVariableExecute(r VariableApiApiDeleteVariableRequest) (*_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodDelete
 		localVarPostBody     interface{}
@@ -177,14 +177,14 @@
 	return localVarHTTPResponse, nil
 }
 
-type ApiGetVariableRequest struct {
+type VariableApiApiGetVariableRequest struct {
 	ctx _context.Context
 	ApiService *VariableApiService
 	variableKey string
 }
 
 
-func (r ApiGetVariableRequest) Execute() (Variable, *_nethttp.Response, error) {
+func (r VariableApiApiGetVariableRequest) Execute() (Variable, *_nethttp.Response, error) {
 	return r.ApiService.GetVariableExecute(r)
 }
 
@@ -195,10 +195,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param variableKey The variable Key.
- @return ApiGetVariableRequest
+ @return VariableApiApiGetVariableRequest
 */
-func (a *VariableApiService) GetVariable(ctx _context.Context, variableKey string) ApiGetVariableRequest {
-	return ApiGetVariableRequest{
+func (a *VariableApiService) GetVariable(ctx _context.Context, variableKey string) VariableApiApiGetVariableRequest {
+	return VariableApiApiGetVariableRequest{
 		ApiService: a,
 		ctx: ctx,
 		variableKey: variableKey,
@@ -207,7 +207,7 @@
 
 // Execute executes the request
 //  @return Variable
-func (a *VariableApiService) GetVariableExecute(r ApiGetVariableRequest) (Variable, *_nethttp.Response, error) {
+func (a *VariableApiService) GetVariableExecute(r VariableApiApiGetVariableRequest) (Variable, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -312,7 +312,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetVariablesRequest struct {
+type VariableApiApiGetVariablesRequest struct {
 	ctx _context.Context
 	ApiService *VariableApiService
 	limit *int32
@@ -321,22 +321,22 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetVariablesRequest) Limit(limit int32) ApiGetVariablesRequest {
+func (r VariableApiApiGetVariablesRequest) Limit(limit int32) VariableApiApiGetVariablesRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetVariablesRequest) Offset(offset int32) ApiGetVariablesRequest {
+func (r VariableApiApiGetVariablesRequest) Offset(offset int32) VariableApiApiGetVariablesRequest {
 	r.offset = &offset
 	return r
 }
 // The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
-func (r ApiGetVariablesRequest) OrderBy(orderBy string) ApiGetVariablesRequest {
+func (r VariableApiApiGetVariablesRequest) OrderBy(orderBy string) VariableApiApiGetVariablesRequest {
 	r.orderBy = &orderBy
 	return r
 }
 
-func (r ApiGetVariablesRequest) Execute() (VariableCollection, *_nethttp.Response, error) {
+func (r VariableApiApiGetVariablesRequest) Execute() (VariableCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetVariablesExecute(r)
 }
 
@@ -346,10 +346,10 @@
 The collection does not contain data. To get data, you must get a single entity.
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiGetVariablesRequest
+ @return VariableApiApiGetVariablesRequest
 */
-func (a *VariableApiService) GetVariables(ctx _context.Context) ApiGetVariablesRequest {
-	return ApiGetVariablesRequest{
+func (a *VariableApiService) GetVariables(ctx _context.Context) VariableApiApiGetVariablesRequest {
+	return VariableApiApiGetVariablesRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -357,7 +357,7 @@
 
 // Execute executes the request
 //  @return VariableCollection
-func (a *VariableApiService) GetVariablesExecute(r ApiGetVariablesRequest) (VariableCollection, *_nethttp.Response, error) {
+func (a *VariableApiService) GetVariablesExecute(r VariableApiApiGetVariablesRequest) (VariableCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -460,7 +460,7 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPatchVariableRequest struct {
+type VariableApiApiPatchVariableRequest struct {
 	ctx _context.Context
 	ApiService *VariableApiService
 	variableKey string
@@ -468,17 +468,17 @@
 	updateMask *[]string
 }
 
-func (r ApiPatchVariableRequest) Variable(variable Variable) ApiPatchVariableRequest {
+func (r VariableApiApiPatchVariableRequest) Variable(variable Variable) VariableApiApiPatchVariableRequest {
 	r.variable = &variable
 	return r
 }
 // 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. 
-func (r ApiPatchVariableRequest) UpdateMask(updateMask []string) ApiPatchVariableRequest {
+func (r VariableApiApiPatchVariableRequest) UpdateMask(updateMask []string) VariableApiApiPatchVariableRequest {
 	r.updateMask = &updateMask
 	return r
 }
 
-func (r ApiPatchVariableRequest) Execute() (Variable, *_nethttp.Response, error) {
+func (r VariableApiApiPatchVariableRequest) Execute() (Variable, *_nethttp.Response, error) {
 	return r.ApiService.PatchVariableExecute(r)
 }
 
@@ -489,10 +489,10 @@
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @param variableKey The variable Key.
- @return ApiPatchVariableRequest
+ @return VariableApiApiPatchVariableRequest
 */
-func (a *VariableApiService) PatchVariable(ctx _context.Context, variableKey string) ApiPatchVariableRequest {
-	return ApiPatchVariableRequest{
+func (a *VariableApiService) PatchVariable(ctx _context.Context, variableKey string) VariableApiApiPatchVariableRequest {
+	return VariableApiApiPatchVariableRequest{
 		ApiService: a,
 		ctx: ctx,
 		variableKey: variableKey,
@@ -501,7 +501,7 @@
 
 // Execute executes the request
 //  @return Variable
-func (a *VariableApiService) PatchVariableExecute(r ApiPatchVariableRequest) (Variable, *_nethttp.Response, error) {
+func (a *VariableApiService) PatchVariableExecute(r VariableApiApiPatchVariableRequest) (Variable, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPatch
 		localVarPostBody     interface{}
@@ -624,18 +624,18 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPostVariablesRequest struct {
+type VariableApiApiPostVariablesRequest struct {
 	ctx _context.Context
 	ApiService *VariableApiService
 	variable *Variable
 }
 
-func (r ApiPostVariablesRequest) Variable(variable Variable) ApiPostVariablesRequest {
+func (r VariableApiApiPostVariablesRequest) Variable(variable Variable) VariableApiApiPostVariablesRequest {
 	r.variable = &variable
 	return r
 }
 
-func (r ApiPostVariablesRequest) Execute() (Variable, *_nethttp.Response, error) {
+func (r VariableApiApiPostVariablesRequest) Execute() (Variable, *_nethttp.Response, error) {
 	return r.ApiService.PostVariablesExecute(r)
 }
 
@@ -643,10 +643,10 @@
 PostVariables Create a variable
 
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- @return ApiPostVariablesRequest
+ @return VariableApiApiPostVariablesRequest
 */
-func (a *VariableApiService) PostVariables(ctx _context.Context) ApiPostVariablesRequest {
-	return ApiPostVariablesRequest{
+func (a *VariableApiService) PostVariables(ctx _context.Context) VariableApiApiPostVariablesRequest {
+	return VariableApiApiPostVariablesRequest{
 		ApiService: a,
 		ctx: ctx,
 	}
@@ -654,7 +654,7 @@
 
 // Execute executes the request
 //  @return Variable
-func (a *VariableApiService) PostVariablesExecute(r ApiPostVariablesRequest) (Variable, *_nethttp.Response, error) {
+func (a *VariableApiService) PostVariablesExecute(r VariableApiApiPostVariablesRequest) (Variable, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodPost
 		localVarPostBody     interface{}
diff --git a/airflow/api_x_com.go b/airflow/api_x_com.go
index 4ca90fe..94ad07c 100644
--- a/airflow/api_x_com.go
+++ b/airflow/api_x_com.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -45,7 +45,7 @@
 // XComApiService XComApi service
 type XComApiService service
 
-type ApiGetXcomEntriesRequest struct {
+type XComApiApiGetXcomEntriesRequest struct {
 	ctx _context.Context
 	ApiService *XComApiService
 	dagId string
@@ -56,17 +56,17 @@
 }
 
 // The numbers of items to return.
-func (r ApiGetXcomEntriesRequest) Limit(limit int32) ApiGetXcomEntriesRequest {
+func (r XComApiApiGetXcomEntriesRequest) Limit(limit int32) XComApiApiGetXcomEntriesRequest {
 	r.limit = &limit
 	return r
 }
 // The number of items to skip before starting to collect the result set.
-func (r ApiGetXcomEntriesRequest) Offset(offset int32) ApiGetXcomEntriesRequest {
+func (r XComApiApiGetXcomEntriesRequest) Offset(offset int32) XComApiApiGetXcomEntriesRequest {
 	r.offset = &offset
 	return r
 }
 
-func (r ApiGetXcomEntriesRequest) Execute() (XComCollection, *_nethttp.Response, error) {
+func (r XComApiApiGetXcomEntriesRequest) Execute() (XComCollection, *_nethttp.Response, error) {
 	return r.ApiService.GetXcomEntriesExecute(r)
 }
 
@@ -79,10 +79,10 @@
  @param dagId The DAG ID.
  @param dagRunId The DAG run ID.
  @param taskId The task ID.
- @return ApiGetXcomEntriesRequest
+ @return XComApiApiGetXcomEntriesRequest
 */
-func (a *XComApiService) GetXcomEntries(ctx _context.Context, dagId string, dagRunId string, taskId string) ApiGetXcomEntriesRequest {
-	return ApiGetXcomEntriesRequest{
+func (a *XComApiService) GetXcomEntries(ctx _context.Context, dagId string, dagRunId string, taskId string) XComApiApiGetXcomEntriesRequest {
+	return XComApiApiGetXcomEntriesRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -93,7 +93,7 @@
 
 // Execute executes the request
 //  @return XComCollection
-func (a *XComApiService) GetXcomEntriesExecute(r ApiGetXcomEntriesRequest) (XComCollection, *_nethttp.Response, error) {
+func (a *XComApiService) GetXcomEntriesExecute(r XComApiApiGetXcomEntriesRequest) (XComCollection, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -196,17 +196,23 @@
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiGetXcomEntryRequest struct {
+type XComApiApiGetXcomEntryRequest struct {
 	ctx _context.Context
 	ApiService *XComApiService
 	dagId string
 	dagRunId string
 	taskId string
 	xcomKey string
+	deserialize *bool
 }
 
+// Whether to deserialize an XCom value when using a custom XCom backend.  The XCom API endpoint calls &#x60;orm_deserialize_value&#x60; by default since an XCom may contain value that is potentially expensive to deserialize in the web server. Setting this to true overrides the consideration, and calls &#x60;deserialize_value&#x60; instead.  This parameter is not meaningful when using the default XCom backend.  *New in version 2.4.0* 
+func (r XComApiApiGetXcomEntryRequest) Deserialize(deserialize bool) XComApiApiGetXcomEntryRequest {
+	r.deserialize = &deserialize
+	return r
+}
 
-func (r ApiGetXcomEntryRequest) Execute() (XCom, *_nethttp.Response, error) {
+func (r XComApiApiGetXcomEntryRequest) Execute() (XCom, *_nethttp.Response, error) {
 	return r.ApiService.GetXcomEntryExecute(r)
 }
 
@@ -218,10 +224,10 @@
  @param dagRunId The DAG run ID.
  @param taskId The task ID.
  @param xcomKey The XCom key.
- @return ApiGetXcomEntryRequest
+ @return XComApiApiGetXcomEntryRequest
 */
-func (a *XComApiService) GetXcomEntry(ctx _context.Context, dagId string, dagRunId string, taskId string, xcomKey string) ApiGetXcomEntryRequest {
-	return ApiGetXcomEntryRequest{
+func (a *XComApiService) GetXcomEntry(ctx _context.Context, dagId string, dagRunId string, taskId string, xcomKey string) XComApiApiGetXcomEntryRequest {
+	return XComApiApiGetXcomEntryRequest{
 		ApiService: a,
 		ctx: ctx,
 		dagId: dagId,
@@ -233,7 +239,7 @@
 
 // Execute executes the request
 //  @return XCom
-func (a *XComApiService) GetXcomEntryExecute(r ApiGetXcomEntryRequest) (XCom, *_nethttp.Response, error) {
+func (a *XComApiService) GetXcomEntryExecute(r XComApiApiGetXcomEntryRequest) (XCom, *_nethttp.Response, error) {
 	var (
 		localVarHTTPMethod   = _nethttp.MethodGet
 		localVarPostBody     interface{}
@@ -258,6 +264,9 @@
 	localVarQueryParams := _neturl.Values{}
 	localVarFormParams := _neturl.Values{}
 
+	if r.deserialize != nil {
+		localVarQueryParams.Add("deserialize", parameterToString(*r.deserialize, ""))
+	}
 	// to determine the Content-Type header
 	localVarHTTPContentTypes := []string{}
 
diff --git a/airflow/client.go b/airflow/client.go
index 38785fb..9566a78 100644
--- a/airflow/client.go
+++ b/airflow/client.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -59,7 +59,7 @@
 	xmlCheck  = regexp.MustCompile(`(?i:(?:application|text)/xml)`)
 )
 
-// APIClient manages communication with the Airflow API (Stable) API v1.0.0
+// APIClient manages communication with the Airflow API (Stable) API v2.5.0
 // In most cases there should be only one, shared, APIClient.
 type APIClient struct {
 	cfg    *Configuration
@@ -75,6 +75,10 @@
 
 	DAGRunApi *DAGRunApiService
 
+	DagWarningApi *DagWarningApiService
+
+	DatasetApi *DatasetApiService
+
 	EventLogApi *EventLogApiService
 
 	ImportErrorApi *ImportErrorApiService
@@ -120,6 +124,8 @@
 	c.ConnectionApi = (*ConnectionApiService)(&c.common)
 	c.DAGApi = (*DAGApiService)(&c.common)
 	c.DAGRunApi = (*DAGRunApiService)(&c.common)
+	c.DagWarningApi = (*DagWarningApiService)(&c.common)
+	c.DatasetApi = (*DatasetApiService)(&c.common)
 	c.EventLogApi = (*EventLogApiService)(&c.common)
 	c.ImportErrorApi = (*ImportErrorApiService)(&c.common)
 	c.MonitoringApi = (*MonitoringApiService)(&c.common)
diff --git a/airflow/configuration.go b/airflow/configuration.go
index a15cb58..baaccec 100644
--- a/airflow/configuration.go
+++ b/airflow/configuration.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -119,7 +119,7 @@
 func NewConfiguration() *Configuration {
 	cfg := &Configuration{
 		DefaultHeader:    make(map[string]string),
-		UserAgent:        "OpenAPI-Generator/2.1.0/go",
+		UserAgent:        "OpenAPI-Generator/2.5.0/go",
 		Debug:            false,
 		Servers:          ServerConfigurations{
 			{
diff --git a/airflow/docs/BasicDAGRun.md b/airflow/docs/BasicDAGRun.md
new file mode 100644
index 0000000..30cf805
--- /dev/null
+++ b/airflow/docs/BasicDAGRun.md
@@ -0,0 +1,297 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# BasicDAGRun
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**RunId** | Pointer to **string** | Run ID.  | [optional] 
+**DagId** | Pointer to **string** |  | [optional] [readonly] 
+**LogicalDate** | Pointer to **time.Time** | The logical date (previously called execution date). This is the time or interval covered by this DAG run, according to the DAG definition.  The value of this field can be set only when creating the object. If you try to modify the field of an existing object, the request fails with an BAD_REQUEST error.  This together with DAG_ID are a unique key.  *New in version 2.2.0*  | [optional] 
+**StartDate** | Pointer to **NullableTime** | The start time. The time when DAG run was actually created.  *Changed in version 2.1.3*&amp;#58; Field becomes nullable.  | [optional] [readonly] 
+**EndDate** | Pointer to **NullableTime** |  | [optional] [readonly] 
+**DataIntervalStart** | Pointer to **NullableTime** |  | [optional] [readonly] 
+**DataIntervalEnd** | Pointer to **NullableTime** |  | [optional] [readonly] 
+**State** | Pointer to [**DagState**](DagState.md) |  | [optional] 
+
+## Methods
+
+### NewBasicDAGRun
+
+`func NewBasicDAGRun() *BasicDAGRun`
+
+NewBasicDAGRun instantiates a new BasicDAGRun object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewBasicDAGRunWithDefaults
+
+`func NewBasicDAGRunWithDefaults() *BasicDAGRun`
+
+NewBasicDAGRunWithDefaults instantiates a new BasicDAGRun object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetRunId
+
+`func (o *BasicDAGRun) GetRunId() string`
+
+GetRunId returns the RunId field if non-nil, zero value otherwise.
+
+### GetRunIdOk
+
+`func (o *BasicDAGRun) GetRunIdOk() (*string, bool)`
+
+GetRunIdOk returns a tuple with the RunId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRunId
+
+`func (o *BasicDAGRun) SetRunId(v string)`
+
+SetRunId sets RunId field to given value.
+
+### HasRunId
+
+`func (o *BasicDAGRun) HasRunId() bool`
+
+HasRunId returns a boolean if a field has been set.
+
+### GetDagId
+
+`func (o *BasicDAGRun) GetDagId() string`
+
+GetDagId returns the DagId field if non-nil, zero value otherwise.
+
+### GetDagIdOk
+
+`func (o *BasicDAGRun) GetDagIdOk() (*string, bool)`
+
+GetDagIdOk returns a tuple with the DagId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDagId
+
+`func (o *BasicDAGRun) SetDagId(v string)`
+
+SetDagId sets DagId field to given value.
+
+### HasDagId
+
+`func (o *BasicDAGRun) HasDagId() bool`
+
+HasDagId returns a boolean if a field has been set.
+
+### GetLogicalDate
+
+`func (o *BasicDAGRun) GetLogicalDate() time.Time`
+
+GetLogicalDate returns the LogicalDate field if non-nil, zero value otherwise.
+
+### GetLogicalDateOk
+
+`func (o *BasicDAGRun) GetLogicalDateOk() (*time.Time, bool)`
+
+GetLogicalDateOk returns a tuple with the LogicalDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLogicalDate
+
+`func (o *BasicDAGRun) SetLogicalDate(v time.Time)`
+
+SetLogicalDate sets LogicalDate field to given value.
+
+### HasLogicalDate
+
+`func (o *BasicDAGRun) HasLogicalDate() bool`
+
+HasLogicalDate returns a boolean if a field has been set.
+
+### GetStartDate
+
+`func (o *BasicDAGRun) GetStartDate() time.Time`
+
+GetStartDate returns the StartDate field if non-nil, zero value otherwise.
+
+### GetStartDateOk
+
+`func (o *BasicDAGRun) GetStartDateOk() (*time.Time, bool)`
+
+GetStartDateOk returns a tuple with the StartDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetStartDate
+
+`func (o *BasicDAGRun) SetStartDate(v time.Time)`
+
+SetStartDate sets StartDate field to given value.
+
+### HasStartDate
+
+`func (o *BasicDAGRun) HasStartDate() bool`
+
+HasStartDate returns a boolean if a field has been set.
+
+### SetStartDateNil
+
+`func (o *BasicDAGRun) SetStartDateNil(b bool)`
+
+ SetStartDateNil sets the value for StartDate to be an explicit nil
+
+### UnsetStartDate
+`func (o *BasicDAGRun) UnsetStartDate()`
+
+UnsetStartDate ensures that no value is present for StartDate, not even an explicit nil
+### GetEndDate
+
+`func (o *BasicDAGRun) GetEndDate() time.Time`
+
+GetEndDate returns the EndDate field if non-nil, zero value otherwise.
+
+### GetEndDateOk
+
+`func (o *BasicDAGRun) GetEndDateOk() (*time.Time, bool)`
+
+GetEndDateOk returns a tuple with the EndDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEndDate
+
+`func (o *BasicDAGRun) SetEndDate(v time.Time)`
+
+SetEndDate sets EndDate field to given value.
+
+### HasEndDate
+
+`func (o *BasicDAGRun) HasEndDate() bool`
+
+HasEndDate returns a boolean if a field has been set.
+
+### SetEndDateNil
+
+`func (o *BasicDAGRun) SetEndDateNil(b bool)`
+
+ SetEndDateNil sets the value for EndDate to be an explicit nil
+
+### UnsetEndDate
+`func (o *BasicDAGRun) UnsetEndDate()`
+
+UnsetEndDate ensures that no value is present for EndDate, not even an explicit nil
+### GetDataIntervalStart
+
+`func (o *BasicDAGRun) GetDataIntervalStart() time.Time`
+
+GetDataIntervalStart returns the DataIntervalStart field if non-nil, zero value otherwise.
+
+### GetDataIntervalStartOk
+
+`func (o *BasicDAGRun) GetDataIntervalStartOk() (*time.Time, bool)`
+
+GetDataIntervalStartOk returns a tuple with the DataIntervalStart field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDataIntervalStart
+
+`func (o *BasicDAGRun) SetDataIntervalStart(v time.Time)`
+
+SetDataIntervalStart sets DataIntervalStart field to given value.
+
+### HasDataIntervalStart
+
+`func (o *BasicDAGRun) HasDataIntervalStart() bool`
+
+HasDataIntervalStart returns a boolean if a field has been set.
+
+### SetDataIntervalStartNil
+
+`func (o *BasicDAGRun) SetDataIntervalStartNil(b bool)`
+
+ SetDataIntervalStartNil sets the value for DataIntervalStart to be an explicit nil
+
+### UnsetDataIntervalStart
+`func (o *BasicDAGRun) UnsetDataIntervalStart()`
+
+UnsetDataIntervalStart ensures that no value is present for DataIntervalStart, not even an explicit nil
+### GetDataIntervalEnd
+
+`func (o *BasicDAGRun) GetDataIntervalEnd() time.Time`
+
+GetDataIntervalEnd returns the DataIntervalEnd field if non-nil, zero value otherwise.
+
+### GetDataIntervalEndOk
+
+`func (o *BasicDAGRun) GetDataIntervalEndOk() (*time.Time, bool)`
+
+GetDataIntervalEndOk returns a tuple with the DataIntervalEnd field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDataIntervalEnd
+
+`func (o *BasicDAGRun) SetDataIntervalEnd(v time.Time)`
+
+SetDataIntervalEnd sets DataIntervalEnd field to given value.
+
+### HasDataIntervalEnd
+
+`func (o *BasicDAGRun) HasDataIntervalEnd() bool`
+
+HasDataIntervalEnd returns a boolean if a field has been set.
+
+### SetDataIntervalEndNil
+
+`func (o *BasicDAGRun) SetDataIntervalEndNil(b bool)`
+
+ SetDataIntervalEndNil sets the value for DataIntervalEnd to be an explicit nil
+
+### UnsetDataIntervalEnd
+`func (o *BasicDAGRun) UnsetDataIntervalEnd()`
+
+UnsetDataIntervalEnd ensures that no value is present for DataIntervalEnd, not even an explicit nil
+### GetState
+
+`func (o *BasicDAGRun) GetState() DagState`
+
+GetState returns the State field if non-nil, zero value otherwise.
+
+### GetStateOk
+
+`func (o *BasicDAGRun) GetStateOk() (*DagState, bool)`
+
+GetStateOk returns a tuple with the State field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetState
+
+`func (o *BasicDAGRun) SetState(v DagState)`
+
+SetState sets State field to given value.
+
+### HasState
+
+`func (o *BasicDAGRun) HasState() bool`
+
+HasState returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/ClearDagRun.md b/airflow/docs/ClearDagRun.md
new file mode 100644
index 0000000..366f798
--- /dev/null
+++ b/airflow/docs/ClearDagRun.md
@@ -0,0 +1,75 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# ClearDagRun
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DryRun** | Pointer to **bool** | If set, don&#39;t actually run this operation. The response will contain a list of task instances planned to be cleaned, but not modified in any way.  | [optional] [default to true]
+
+## Methods
+
+### NewClearDagRun
+
+`func NewClearDagRun() *ClearDagRun`
+
+NewClearDagRun instantiates a new ClearDagRun object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewClearDagRunWithDefaults
+
+`func NewClearDagRunWithDefaults() *ClearDagRun`
+
+NewClearDagRunWithDefaults instantiates a new ClearDagRun object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDryRun
+
+`func (o *ClearDagRun) GetDryRun() bool`
+
+GetDryRun returns the DryRun field if non-nil, zero value otherwise.
+
+### GetDryRunOk
+
+`func (o *ClearDagRun) GetDryRunOk() (*bool, bool)`
+
+GetDryRunOk returns a tuple with the DryRun field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDryRun
+
+`func (o *ClearDagRun) SetDryRun(v bool)`
+
+SetDryRun sets DryRun field to given value.
+
+### HasDryRun
+
+`func (o *ClearDagRun) HasDryRun() bool`
+
+HasDryRun returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/ClearTaskInstance.md b/airflow/docs/ClearTaskInstance.md
deleted file mode 100644
index 6d821fc..0000000
--- a/airflow/docs/ClearTaskInstance.md
+++ /dev/null
@@ -1,283 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-
-# ClearTaskInstance
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**DryRun** | Pointer to **bool** | If set, don&#39;t actually run this operation. The response will contain a list of task instances planned to be cleaned, but not modified in any way.  | [optional] [default to true]
-**TaskIds** | Pointer to **[]string** | A list of task ids to clear.  *New in version 2.1.0*  | [optional] 
-**StartDate** | Pointer to **string** | The minimum execution date to clear. | [optional] 
-**EndDate** | Pointer to **string** | The maximum execution date to clear. | [optional] 
-**OnlyFailed** | Pointer to **bool** | Only clear failed tasks. | [optional] [default to true]
-**OnlyRunning** | Pointer to **bool** | Only clear running tasks. | [optional] [default to false]
-**IncludeSubdags** | Pointer to **bool** | Clear tasks in subdags and clear external tasks indicated by ExternalTaskMarker. | [optional] 
-**IncludeParentdag** | Pointer to **bool** | Clear tasks in the parent dag of the subdag. | [optional] 
-**ResetDagRuns** | Pointer to **bool** | Set state of DAG runs to RUNNING. | [optional] 
-
-## Methods
-
-### NewClearTaskInstance
-
-`func NewClearTaskInstance() *ClearTaskInstance`
-
-NewClearTaskInstance instantiates a new ClearTaskInstance object
-This constructor will assign default values to properties that have it defined,
-and makes sure properties required by API are set, but the set of arguments
-will change when the set of required properties is changed
-
-### NewClearTaskInstanceWithDefaults
-
-`func NewClearTaskInstanceWithDefaults() *ClearTaskInstance`
-
-NewClearTaskInstanceWithDefaults instantiates a new ClearTaskInstance object
-This constructor will only assign default values to properties that have it defined,
-but it doesn't guarantee that properties required by API are set
-
-### GetDryRun
-
-`func (o *ClearTaskInstance) GetDryRun() bool`
-
-GetDryRun returns the DryRun field if non-nil, zero value otherwise.
-
-### GetDryRunOk
-
-`func (o *ClearTaskInstance) GetDryRunOk() (*bool, bool)`
-
-GetDryRunOk returns a tuple with the DryRun field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetDryRun
-
-`func (o *ClearTaskInstance) SetDryRun(v bool)`
-
-SetDryRun sets DryRun field to given value.
-
-### HasDryRun
-
-`func (o *ClearTaskInstance) HasDryRun() bool`
-
-HasDryRun returns a boolean if a field has been set.
-
-### GetTaskIds
-
-`func (o *ClearTaskInstance) GetTaskIds() []string`
-
-GetTaskIds returns the TaskIds field if non-nil, zero value otherwise.
-
-### GetTaskIdsOk
-
-`func (o *ClearTaskInstance) GetTaskIdsOk() (*[]string, bool)`
-
-GetTaskIdsOk returns a tuple with the TaskIds field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetTaskIds
-
-`func (o *ClearTaskInstance) SetTaskIds(v []string)`
-
-SetTaskIds sets TaskIds field to given value.
-
-### HasTaskIds
-
-`func (o *ClearTaskInstance) HasTaskIds() bool`
-
-HasTaskIds returns a boolean if a field has been set.
-
-### GetStartDate
-
-`func (o *ClearTaskInstance) GetStartDate() string`
-
-GetStartDate returns the StartDate field if non-nil, zero value otherwise.
-
-### GetStartDateOk
-
-`func (o *ClearTaskInstance) GetStartDateOk() (*string, bool)`
-
-GetStartDateOk returns a tuple with the StartDate field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetStartDate
-
-`func (o *ClearTaskInstance) SetStartDate(v string)`
-
-SetStartDate sets StartDate field to given value.
-
-### HasStartDate
-
-`func (o *ClearTaskInstance) HasStartDate() bool`
-
-HasStartDate returns a boolean if a field has been set.
-
-### GetEndDate
-
-`func (o *ClearTaskInstance) GetEndDate() string`
-
-GetEndDate returns the EndDate field if non-nil, zero value otherwise.
-
-### GetEndDateOk
-
-`func (o *ClearTaskInstance) GetEndDateOk() (*string, bool)`
-
-GetEndDateOk returns a tuple with the EndDate field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetEndDate
-
-`func (o *ClearTaskInstance) SetEndDate(v string)`
-
-SetEndDate sets EndDate field to given value.
-
-### HasEndDate
-
-`func (o *ClearTaskInstance) HasEndDate() bool`
-
-HasEndDate returns a boolean if a field has been set.
-
-### GetOnlyFailed
-
-`func (o *ClearTaskInstance) GetOnlyFailed() bool`
-
-GetOnlyFailed returns the OnlyFailed field if non-nil, zero value otherwise.
-
-### GetOnlyFailedOk
-
-`func (o *ClearTaskInstance) GetOnlyFailedOk() (*bool, bool)`
-
-GetOnlyFailedOk returns a tuple with the OnlyFailed field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetOnlyFailed
-
-`func (o *ClearTaskInstance) SetOnlyFailed(v bool)`
-
-SetOnlyFailed sets OnlyFailed field to given value.
-
-### HasOnlyFailed
-
-`func (o *ClearTaskInstance) HasOnlyFailed() bool`
-
-HasOnlyFailed returns a boolean if a field has been set.
-
-### GetOnlyRunning
-
-`func (o *ClearTaskInstance) GetOnlyRunning() bool`
-
-GetOnlyRunning returns the OnlyRunning field if non-nil, zero value otherwise.
-
-### GetOnlyRunningOk
-
-`func (o *ClearTaskInstance) GetOnlyRunningOk() (*bool, bool)`
-
-GetOnlyRunningOk returns a tuple with the OnlyRunning field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetOnlyRunning
-
-`func (o *ClearTaskInstance) SetOnlyRunning(v bool)`
-
-SetOnlyRunning sets OnlyRunning field to given value.
-
-### HasOnlyRunning
-
-`func (o *ClearTaskInstance) HasOnlyRunning() bool`
-
-HasOnlyRunning returns a boolean if a field has been set.
-
-### GetIncludeSubdags
-
-`func (o *ClearTaskInstance) GetIncludeSubdags() bool`
-
-GetIncludeSubdags returns the IncludeSubdags field if non-nil, zero value otherwise.
-
-### GetIncludeSubdagsOk
-
-`func (o *ClearTaskInstance) GetIncludeSubdagsOk() (*bool, bool)`
-
-GetIncludeSubdagsOk returns a tuple with the IncludeSubdags field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetIncludeSubdags
-
-`func (o *ClearTaskInstance) SetIncludeSubdags(v bool)`
-
-SetIncludeSubdags sets IncludeSubdags field to given value.
-
-### HasIncludeSubdags
-
-`func (o *ClearTaskInstance) HasIncludeSubdags() bool`
-
-HasIncludeSubdags returns a boolean if a field has been set.
-
-### GetIncludeParentdag
-
-`func (o *ClearTaskInstance) GetIncludeParentdag() bool`
-
-GetIncludeParentdag returns the IncludeParentdag field if non-nil, zero value otherwise.
-
-### GetIncludeParentdagOk
-
-`func (o *ClearTaskInstance) GetIncludeParentdagOk() (*bool, bool)`
-
-GetIncludeParentdagOk returns a tuple with the IncludeParentdag field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetIncludeParentdag
-
-`func (o *ClearTaskInstance) SetIncludeParentdag(v bool)`
-
-SetIncludeParentdag sets IncludeParentdag field to given value.
-
-### HasIncludeParentdag
-
-`func (o *ClearTaskInstance) HasIncludeParentdag() bool`
-
-HasIncludeParentdag returns a boolean if a field has been set.
-
-### GetResetDagRuns
-
-`func (o *ClearTaskInstance) GetResetDagRuns() bool`
-
-GetResetDagRuns returns the ResetDagRuns field if non-nil, zero value otherwise.
-
-### GetResetDagRunsOk
-
-`func (o *ClearTaskInstance) GetResetDagRunsOk() (*bool, bool)`
-
-GetResetDagRunsOk returns a tuple with the ResetDagRuns field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetResetDagRuns
-
-`func (o *ClearTaskInstance) SetResetDagRuns(v bool)`
-
-SetResetDagRuns sets ResetDagRuns field to given value.
-
-### HasResetDagRuns
-
-`func (o *ClearTaskInstance) HasResetDagRuns() bool`
-
-HasResetDagRuns returns a boolean if a field has been set.
-
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/airflow/docs/ClearTaskInstances.md b/airflow/docs/ClearTaskInstances.md
new file mode 100644
index 0000000..073a7aa
--- /dev/null
+++ b/airflow/docs/ClearTaskInstances.md
@@ -0,0 +1,423 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# ClearTaskInstances
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DryRun** | Pointer to **bool** | If set, don&#39;t actually run this operation. The response will contain a list of task instances planned to be cleaned, but not modified in any way.  | [optional] [default to true]
+**TaskIds** | Pointer to **[]string** | A list of task ids to clear.  *New in version 2.1.0*  | [optional] 
+**StartDate** | Pointer to **string** | The minimum execution date to clear. | [optional] 
+**EndDate** | Pointer to **string** | The maximum execution date to clear. | [optional] 
+**OnlyFailed** | Pointer to **bool** | Only clear failed tasks. | [optional] [default to true]
+**OnlyRunning** | Pointer to **bool** | Only clear running tasks. | [optional] [default to false]
+**IncludeSubdags** | Pointer to **bool** | Clear tasks in subdags and clear external tasks indicated by ExternalTaskMarker. | [optional] 
+**IncludeParentdag** | Pointer to **bool** | Clear tasks in the parent dag of the subdag. | [optional] 
+**ResetDagRuns** | Pointer to **bool** | Set state of DAG runs to RUNNING. | [optional] 
+**DagRunId** | Pointer to **NullableString** | The DagRun ID for this task instance | [optional] 
+**IncludeUpstream** | Pointer to **bool** | If set to true, upstream tasks are also affected. | [optional] [default to false]
+**IncludeDownstream** | Pointer to **bool** | If set to true, downstream tasks are also affected. | [optional] [default to false]
+**IncludeFuture** | Pointer to **bool** | If set to True, also tasks from future DAG Runs are affected. | [optional] [default to false]
+**IncludePast** | Pointer to **bool** | If set to True, also tasks from past DAG Runs are affected. | [optional] [default to false]
+
+## Methods
+
+### NewClearTaskInstances
+
+`func NewClearTaskInstances() *ClearTaskInstances`
+
+NewClearTaskInstances instantiates a new ClearTaskInstances object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewClearTaskInstancesWithDefaults
+
+`func NewClearTaskInstancesWithDefaults() *ClearTaskInstances`
+
+NewClearTaskInstancesWithDefaults instantiates a new ClearTaskInstances object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDryRun
+
+`func (o *ClearTaskInstances) GetDryRun() bool`
+
+GetDryRun returns the DryRun field if non-nil, zero value otherwise.
+
+### GetDryRunOk
+
+`func (o *ClearTaskInstances) GetDryRunOk() (*bool, bool)`
+
+GetDryRunOk returns a tuple with the DryRun field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDryRun
+
+`func (o *ClearTaskInstances) SetDryRun(v bool)`
+
+SetDryRun sets DryRun field to given value.
+
+### HasDryRun
+
+`func (o *ClearTaskInstances) HasDryRun() bool`
+
+HasDryRun returns a boolean if a field has been set.
+
+### GetTaskIds
+
+`func (o *ClearTaskInstances) GetTaskIds() []string`
+
+GetTaskIds returns the TaskIds field if non-nil, zero value otherwise.
+
+### GetTaskIdsOk
+
+`func (o *ClearTaskInstances) GetTaskIdsOk() (*[]string, bool)`
+
+GetTaskIdsOk returns a tuple with the TaskIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTaskIds
+
+`func (o *ClearTaskInstances) SetTaskIds(v []string)`
+
+SetTaskIds sets TaskIds field to given value.
+
+### HasTaskIds
+
+`func (o *ClearTaskInstances) HasTaskIds() bool`
+
+HasTaskIds returns a boolean if a field has been set.
+
+### GetStartDate
+
+`func (o *ClearTaskInstances) GetStartDate() string`
+
+GetStartDate returns the StartDate field if non-nil, zero value otherwise.
+
+### GetStartDateOk
+
+`func (o *ClearTaskInstances) GetStartDateOk() (*string, bool)`
+
+GetStartDateOk returns a tuple with the StartDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetStartDate
+
+`func (o *ClearTaskInstances) SetStartDate(v string)`
+
+SetStartDate sets StartDate field to given value.
+
+### HasStartDate
+
+`func (o *ClearTaskInstances) HasStartDate() bool`
+
+HasStartDate returns a boolean if a field has been set.
+
+### GetEndDate
+
+`func (o *ClearTaskInstances) GetEndDate() string`
+
+GetEndDate returns the EndDate field if non-nil, zero value otherwise.
+
+### GetEndDateOk
+
+`func (o *ClearTaskInstances) GetEndDateOk() (*string, bool)`
+
+GetEndDateOk returns a tuple with the EndDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEndDate
+
+`func (o *ClearTaskInstances) SetEndDate(v string)`
+
+SetEndDate sets EndDate field to given value.
+
+### HasEndDate
+
+`func (o *ClearTaskInstances) HasEndDate() bool`
+
+HasEndDate returns a boolean if a field has been set.
+
+### GetOnlyFailed
+
+`func (o *ClearTaskInstances) GetOnlyFailed() bool`
+
+GetOnlyFailed returns the OnlyFailed field if non-nil, zero value otherwise.
+
+### GetOnlyFailedOk
+
+`func (o *ClearTaskInstances) GetOnlyFailedOk() (*bool, bool)`
+
+GetOnlyFailedOk returns a tuple with the OnlyFailed field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOnlyFailed
+
+`func (o *ClearTaskInstances) SetOnlyFailed(v bool)`
+
+SetOnlyFailed sets OnlyFailed field to given value.
+
+### HasOnlyFailed
+
+`func (o *ClearTaskInstances) HasOnlyFailed() bool`
+
+HasOnlyFailed returns a boolean if a field has been set.
+
+### GetOnlyRunning
+
+`func (o *ClearTaskInstances) GetOnlyRunning() bool`
+
+GetOnlyRunning returns the OnlyRunning field if non-nil, zero value otherwise.
+
+### GetOnlyRunningOk
+
+`func (o *ClearTaskInstances) GetOnlyRunningOk() (*bool, bool)`
+
+GetOnlyRunningOk returns a tuple with the OnlyRunning field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOnlyRunning
+
+`func (o *ClearTaskInstances) SetOnlyRunning(v bool)`
+
+SetOnlyRunning sets OnlyRunning field to given value.
+
+### HasOnlyRunning
+
+`func (o *ClearTaskInstances) HasOnlyRunning() bool`
+
+HasOnlyRunning returns a boolean if a field has been set.
+
+### GetIncludeSubdags
+
+`func (o *ClearTaskInstances) GetIncludeSubdags() bool`
+
+GetIncludeSubdags returns the IncludeSubdags field if non-nil, zero value otherwise.
+
+### GetIncludeSubdagsOk
+
+`func (o *ClearTaskInstances) GetIncludeSubdagsOk() (*bool, bool)`
+
+GetIncludeSubdagsOk returns a tuple with the IncludeSubdags field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeSubdags
+
+`func (o *ClearTaskInstances) SetIncludeSubdags(v bool)`
+
+SetIncludeSubdags sets IncludeSubdags field to given value.
+
+### HasIncludeSubdags
+
+`func (o *ClearTaskInstances) HasIncludeSubdags() bool`
+
+HasIncludeSubdags returns a boolean if a field has been set.
+
+### GetIncludeParentdag
+
+`func (o *ClearTaskInstances) GetIncludeParentdag() bool`
+
+GetIncludeParentdag returns the IncludeParentdag field if non-nil, zero value otherwise.
+
+### GetIncludeParentdagOk
+
+`func (o *ClearTaskInstances) GetIncludeParentdagOk() (*bool, bool)`
+
+GetIncludeParentdagOk returns a tuple with the IncludeParentdag field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeParentdag
+
+`func (o *ClearTaskInstances) SetIncludeParentdag(v bool)`
+
+SetIncludeParentdag sets IncludeParentdag field to given value.
+
+### HasIncludeParentdag
+
+`func (o *ClearTaskInstances) HasIncludeParentdag() bool`
+
+HasIncludeParentdag returns a boolean if a field has been set.
+
+### GetResetDagRuns
+
+`func (o *ClearTaskInstances) GetResetDagRuns() bool`
+
+GetResetDagRuns returns the ResetDagRuns field if non-nil, zero value otherwise.
+
+### GetResetDagRunsOk
+
+`func (o *ClearTaskInstances) GetResetDagRunsOk() (*bool, bool)`
+
+GetResetDagRunsOk returns a tuple with the ResetDagRuns field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetResetDagRuns
+
+`func (o *ClearTaskInstances) SetResetDagRuns(v bool)`
+
+SetResetDagRuns sets ResetDagRuns field to given value.
+
+### HasResetDagRuns
+
+`func (o *ClearTaskInstances) HasResetDagRuns() bool`
+
+HasResetDagRuns returns a boolean if a field has been set.
+
+### GetDagRunId
+
+`func (o *ClearTaskInstances) GetDagRunId() string`
+
+GetDagRunId returns the DagRunId field if non-nil, zero value otherwise.
+
+### GetDagRunIdOk
+
+`func (o *ClearTaskInstances) GetDagRunIdOk() (*string, bool)`
+
+GetDagRunIdOk returns a tuple with the DagRunId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDagRunId
+
+`func (o *ClearTaskInstances) SetDagRunId(v string)`
+
+SetDagRunId sets DagRunId field to given value.
+
+### HasDagRunId
+
+`func (o *ClearTaskInstances) HasDagRunId() bool`
+
+HasDagRunId returns a boolean if a field has been set.
+
+### SetDagRunIdNil
+
+`func (o *ClearTaskInstances) SetDagRunIdNil(b bool)`
+
+ SetDagRunIdNil sets the value for DagRunId to be an explicit nil
+
+### UnsetDagRunId
+`func (o *ClearTaskInstances) UnsetDagRunId()`
+
+UnsetDagRunId ensures that no value is present for DagRunId, not even an explicit nil
+### GetIncludeUpstream
+
+`func (o *ClearTaskInstances) GetIncludeUpstream() bool`
+
+GetIncludeUpstream returns the IncludeUpstream field if non-nil, zero value otherwise.
+
+### GetIncludeUpstreamOk
+
+`func (o *ClearTaskInstances) GetIncludeUpstreamOk() (*bool, bool)`
+
+GetIncludeUpstreamOk returns a tuple with the IncludeUpstream field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeUpstream
+
+`func (o *ClearTaskInstances) SetIncludeUpstream(v bool)`
+
+SetIncludeUpstream sets IncludeUpstream field to given value.
+
+### HasIncludeUpstream
+
+`func (o *ClearTaskInstances) HasIncludeUpstream() bool`
+
+HasIncludeUpstream returns a boolean if a field has been set.
+
+### GetIncludeDownstream
+
+`func (o *ClearTaskInstances) GetIncludeDownstream() bool`
+
+GetIncludeDownstream returns the IncludeDownstream field if non-nil, zero value otherwise.
+
+### GetIncludeDownstreamOk
+
+`func (o *ClearTaskInstances) GetIncludeDownstreamOk() (*bool, bool)`
+
+GetIncludeDownstreamOk returns a tuple with the IncludeDownstream field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeDownstream
+
+`func (o *ClearTaskInstances) SetIncludeDownstream(v bool)`
+
+SetIncludeDownstream sets IncludeDownstream field to given value.
+
+### HasIncludeDownstream
+
+`func (o *ClearTaskInstances) HasIncludeDownstream() bool`
+
+HasIncludeDownstream returns a boolean if a field has been set.
+
+### GetIncludeFuture
+
+`func (o *ClearTaskInstances) GetIncludeFuture() bool`
+
+GetIncludeFuture returns the IncludeFuture field if non-nil, zero value otherwise.
+
+### GetIncludeFutureOk
+
+`func (o *ClearTaskInstances) GetIncludeFutureOk() (*bool, bool)`
+
+GetIncludeFutureOk returns a tuple with the IncludeFuture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeFuture
+
+`func (o *ClearTaskInstances) SetIncludeFuture(v bool)`
+
+SetIncludeFuture sets IncludeFuture field to given value.
+
+### HasIncludeFuture
+
+`func (o *ClearTaskInstances) HasIncludeFuture() bool`
+
+HasIncludeFuture returns a boolean if a field has been set.
+
+### GetIncludePast
+
+`func (o *ClearTaskInstances) GetIncludePast() bool`
+
+GetIncludePast returns the IncludePast field if non-nil, zero value otherwise.
+
+### GetIncludePastOk
+
+`func (o *ClearTaskInstances) GetIncludePastOk() (*bool, bool)`
+
+GetIncludePastOk returns a tuple with the IncludePast field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludePast
+
+`func (o *ClearTaskInstances) SetIncludePast(v bool)`
+
+SetIncludePast sets IncludePast field to given value.
+
+### HasIncludePast
+
+`func (o *ClearTaskInstances) HasIncludePast() bool`
+
+HasIncludePast returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/ConfigApi.md b/airflow/docs/ConfigApi.md
index 5f45281..4d5af02 100644
--- a/airflow/docs/ConfigApi.md
+++ b/airflow/docs/ConfigApi.md
@@ -74,7 +74,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/Connection.md b/airflow/docs/Connection.md
index 6f6cb8f..3ac0de2 100644
--- a/airflow/docs/Connection.md
+++ b/airflow/docs/Connection.md
@@ -25,6 +25,7 @@
 ------------ | ------------- | ------------- | -------------
 **ConnectionId** | Pointer to **string** | The connection ID. | [optional] 
 **ConnType** | Pointer to **string** | The connection type. | [optional] 
+**Description** | Pointer to **NullableString** | The description of the connection. | [optional] 
 **Host** | Pointer to **NullableString** | Host of the connection. | [optional] 
 **Login** | Pointer to **NullableString** | Login of the connection. | [optional] 
 **Schema** | Pointer to **NullableString** | Schema of the connection. | [optional] 
@@ -101,6 +102,41 @@
 
 HasConnType returns a boolean if a field has been set.
 
+### GetDescription
+
+`func (o *Connection) GetDescription() string`
+
+GetDescription returns the Description field if non-nil, zero value otherwise.
+
+### GetDescriptionOk
+
+`func (o *Connection) GetDescriptionOk() (*string, bool)`
+
+GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDescription
+
+`func (o *Connection) SetDescription(v string)`
+
+SetDescription sets Description field to given value.
+
+### HasDescription
+
+`func (o *Connection) HasDescription() bool`
+
+HasDescription returns a boolean if a field has been set.
+
+### SetDescriptionNil
+
+`func (o *Connection) SetDescriptionNil(b bool)`
+
+ SetDescriptionNil sets the value for Description to be an explicit nil
+
+### UnsetDescription
+`func (o *Connection) UnsetDescription()`
+
+UnsetDescription ensures that no value is present for Description, not even an explicit nil
 ### GetHost
 
 `func (o *Connection) GetHost() string`
diff --git a/airflow/docs/ConnectionApi.md b/airflow/docs/ConnectionApi.md
index 4e47d8b..edc5524 100644
--- a/airflow/docs/ConnectionApi.md
+++ b/airflow/docs/ConnectionApi.md
@@ -86,7 +86,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -154,7 +154,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -222,7 +222,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -294,7 +294,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -358,7 +358,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -424,7 +424,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/ConnectionCollectionItem.md b/airflow/docs/ConnectionCollectionItem.md
index e5a8bb7..ec03e36 100644
--- a/airflow/docs/ConnectionCollectionItem.md
+++ b/airflow/docs/ConnectionCollectionItem.md
@@ -25,6 +25,7 @@
 ------------ | ------------- | ------------- | -------------
 **ConnectionId** | Pointer to **string** | The connection ID. | [optional] 
 **ConnType** | Pointer to **string** | The connection type. | [optional] 
+**Description** | Pointer to **NullableString** | The description of the connection. | [optional] 
 **Host** | Pointer to **NullableString** | Host of the connection. | [optional] 
 **Login** | Pointer to **NullableString** | Login of the connection. | [optional] 
 **Schema** | Pointer to **NullableString** | Schema of the connection. | [optional] 
@@ -99,6 +100,41 @@
 
 HasConnType returns a boolean if a field has been set.
 
+### GetDescription
+
+`func (o *ConnectionCollectionItem) GetDescription() string`
+
+GetDescription returns the Description field if non-nil, zero value otherwise.
+
+### GetDescriptionOk
+
+`func (o *ConnectionCollectionItem) GetDescriptionOk() (*string, bool)`
+
+GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDescription
+
+`func (o *ConnectionCollectionItem) SetDescription(v string)`
+
+SetDescription sets Description field to given value.
+
+### HasDescription
+
+`func (o *ConnectionCollectionItem) HasDescription() bool`
+
+HasDescription returns a boolean if a field has been set.
+
+### SetDescriptionNil
+
+`func (o *ConnectionCollectionItem) SetDescriptionNil(b bool)`
+
+ SetDescriptionNil sets the value for Description to be an explicit nil
+
+### UnsetDescription
+`func (o *ConnectionCollectionItem) UnsetDescription()`
+
+UnsetDescription ensures that no value is present for Description, not even an explicit nil
 ### GetHost
 
 `func (o *ConnectionCollectionItem) GetHost() string`
diff --git a/airflow/docs/Dag.md b/airflow/docs/DAG.md
similarity index 98%
rename from airflow/docs/Dag.md
rename to airflow/docs/DAG.md
index 705e7b6..818b053 100644
--- a/airflow/docs/Dag.md
+++ b/airflow/docs/DAG.md
@@ -38,7 +38,7 @@
 **FileToken** | Pointer to **string** | 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.  | [optional] [readonly] 
 **Owners** | Pointer to **[]string** |  | [optional] [readonly] 
 **Description** | Pointer to **NullableString** | User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.  | [optional] [readonly] 
-**ScheduleInterval** | Pointer to [**ScheduleInterval**](ScheduleInterval.md) |  | [optional] 
+**ScheduleInterval** | Pointer to [**NullableScheduleInterval**](ScheduleInterval.md) |  | [optional] 
 **TimetableDescription** | Pointer to **NullableString** | Timetable/Schedule Interval description.  *New in version 2.3.0*  | [optional] [readonly] 
 **Tags** | Pointer to [**[]Tag**](Tag.md) | List of tags. | [optional] [readonly] 
 **MaxActiveTasks** | Pointer to **NullableInt32** | Maximum number of active tasks that can be run on the DAG  *New in version 2.3.0*  | [optional] [readonly] 
@@ -569,6 +569,16 @@
 
 HasScheduleInterval returns a boolean if a field has been set.
 
+### SetScheduleIntervalNil
+
+`func (o *DAG) SetScheduleIntervalNil(b bool)`
+
+ SetScheduleIntervalNil sets the value for ScheduleInterval to be an explicit nil
+
+### UnsetScheduleInterval
+`func (o *DAG) UnsetScheduleInterval()`
+
+UnsetScheduleInterval ensures that no value is present for ScheduleInterval, not even an explicit nil
 ### GetTimetableDescription
 
 `func (o *DAG) GetTimetableDescription() string`
diff --git a/airflow/docs/DAGApi.md b/airflow/docs/DAGApi.md
index 4948fdc..4de7eb7 100644
--- a/airflow/docs/DAGApi.md
+++ b/airflow/docs/DAGApi.md
@@ -34,6 +34,8 @@
 [**PatchDags**](DAGApi.md#PatchDags) | **Patch** /dags | Update DAGs
 [**PostClearTaskInstances**](DAGApi.md#PostClearTaskInstances) | **Post** /dags/{dag_id}/clearTaskInstances | Clear a set of task instances
 [**PostSetTaskInstancesState**](DAGApi.md#PostSetTaskInstancesState) | **Post** /dags/{dag_id}/updateTaskInstancesState | Set a state of task instances
+[**SetMappedTaskInstanceNote**](DAGApi.md#SetMappedTaskInstanceNote) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/setNote | Update the TaskInstance note.
+[**SetTaskInstanceNote**](DAGApi.md#SetTaskInstanceNote) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/setNote | Update the TaskInstance note.
 
 
 
@@ -93,7 +95,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -163,7 +165,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -233,7 +235,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -303,7 +305,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -379,7 +381,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -450,7 +452,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -520,7 +522,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -592,7 +594,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -670,7 +672,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -684,7 +686,7 @@
 
 ## PostClearTaskInstances
 
-> TaskInstanceReferenceCollection PostClearTaskInstances(ctx, dagId).ClearTaskInstance(clearTaskInstance).Execute()
+> TaskInstanceReferenceCollection PostClearTaskInstances(ctx, dagId).ClearTaskInstances(clearTaskInstances).Execute()
 
 Clear a set of task instances
 
@@ -704,11 +706,11 @@
 
 func main() {
     dagId := "dagId_example" // string | The DAG ID.
-    clearTaskInstance := *openapiclient.NewClearTaskInstance() // ClearTaskInstance | Parameters of action
+    clearTaskInstances := *openapiclient.NewClearTaskInstances() // ClearTaskInstances | Parameters of action
 
     configuration := openapiclient.NewConfiguration()
     api_client := openapiclient.NewAPIClient(configuration)
-    resp, r, err := api_client.DAGApi.PostClearTaskInstances(context.Background(), dagId).ClearTaskInstance(clearTaskInstance).Execute()
+    resp, r, err := api_client.DAGApi.PostClearTaskInstances(context.Background(), dagId).ClearTaskInstances(clearTaskInstances).Execute()
     if err != nil {
         fmt.Fprintf(os.Stderr, "Error when calling `DAGApi.PostClearTaskInstances``: %v\n", err)
         fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
@@ -734,7 +736,7 @@
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 
- **clearTaskInstance** | [**ClearTaskInstance**](ClearTaskInstance.md) | Parameters of action | 
+ **clearTaskInstances** | [**ClearTaskInstances**](ClearTaskInstances.md) | Parameters of action | 
 
 ### Return type
 
@@ -742,7 +744,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -814,7 +816,166 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## SetMappedTaskInstanceNote
+
+> TaskInstance SetMappedTaskInstanceNote(ctx, dagId, dagRunId, taskId, mapIndex).SetTaskInstanceNote(setTaskInstanceNote).Execute()
+
+Update the TaskInstance note.
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+    taskId := "taskId_example" // string | The task ID.
+    mapIndex := int32(56) // int32 | The map index.
+    setTaskInstanceNote := *openapiclient.NewSetTaskInstanceNote("Note_example") // SetTaskInstanceNote | Parameters of set Task Instance note.
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DAGApi.SetMappedTaskInstanceNote(context.Background(), dagId, dagRunId, taskId, mapIndex).SetTaskInstanceNote(setTaskInstanceNote).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DAGApi.SetMappedTaskInstanceNote``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `SetMappedTaskInstanceNote`: TaskInstance
+    fmt.Fprintf(os.Stdout, "Response from `DAGApi.SetMappedTaskInstanceNote`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+**taskId** | **string** | The task ID. | 
+**mapIndex** | **int32** | The map index. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiSetMappedTaskInstanceNoteRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+
+ **setTaskInstanceNote** | [**SetTaskInstanceNote**](SetTaskInstanceNote.md) | Parameters of set Task Instance note. | 
+
+### Return type
+
+[**TaskInstance**](TaskInstance.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## SetTaskInstanceNote
+
+> TaskInstance SetTaskInstanceNote(ctx, dagId, dagRunId, taskId).SetTaskInstanceNote(setTaskInstanceNote).Execute()
+
+Update the TaskInstance note.
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+    taskId := "taskId_example" // string | The task ID.
+    setTaskInstanceNote := *openapiclient.NewSetTaskInstanceNote("Note_example") // SetTaskInstanceNote | Parameters of set Task Instance note.
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DAGApi.SetTaskInstanceNote(context.Background(), dagId, dagRunId, taskId).SetTaskInstanceNote(setTaskInstanceNote).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DAGApi.SetTaskInstanceNote``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `SetTaskInstanceNote`: TaskInstance
+    fmt.Fprintf(os.Stdout, "Response from `DAGApi.SetTaskInstanceNote`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+**taskId** | **string** | The task ID. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiSetTaskInstanceNoteRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+ **setTaskInstanceNote** | [**SetTaskInstanceNote**](SetTaskInstanceNote.md) | Parameters of set Task Instance note. | 
+
+### Return type
+
+[**TaskInstance**](TaskInstance.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/DagCollection.md b/airflow/docs/DAGCollection.md
similarity index 100%
rename from airflow/docs/DagCollection.md
rename to airflow/docs/DAGCollection.md
diff --git a/airflow/docs/DagDetail.md b/airflow/docs/DAGDetail.md
similarity index 98%
rename from airflow/docs/DagDetail.md
rename to airflow/docs/DAGDetail.md
index 00daa58..7e4c9ed 100644
--- a/airflow/docs/DagDetail.md
+++ b/airflow/docs/DAGDetail.md
@@ -38,7 +38,7 @@
 **FileToken** | Pointer to **string** | 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.  | [optional] [readonly] 
 **Owners** | Pointer to **[]string** |  | [optional] [readonly] 
 **Description** | Pointer to **NullableString** | User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.  | [optional] [readonly] 
-**ScheduleInterval** | Pointer to [**ScheduleInterval**](ScheduleInterval.md) |  | [optional] 
+**ScheduleInterval** | Pointer to [**NullableScheduleInterval**](ScheduleInterval.md) |  | [optional] 
 **TimetableDescription** | Pointer to **NullableString** | Timetable/Schedule Interval description.  *New in version 2.3.0*  | [optional] [readonly] 
 **Tags** | Pointer to [**[]Tag**](Tag.md) | List of tags. | [optional] [readonly] 
 **MaxActiveTasks** | Pointer to **NullableInt32** | Maximum number of active tasks that can be run on the DAG  *New in version 2.3.0*  | [optional] [readonly] 
@@ -572,6 +572,16 @@
 
 HasScheduleInterval returns a boolean if a field has been set.
 
+### SetScheduleIntervalNil
+
+`func (o *DAGDetail) SetScheduleIntervalNil(b bool)`
+
+ SetScheduleIntervalNil sets the value for ScheduleInterval to be an explicit nil
+
+### UnsetScheduleInterval
+`func (o *DAGDetail) UnsetScheduleInterval()`
+
+UnsetScheduleInterval ensures that no value is present for ScheduleInterval, not even an explicit nil
 ### GetTimetableDescription
 
 `func (o *DAGDetail) GetTimetableDescription() string`
diff --git a/airflow/docs/DagDetailAllOf.md b/airflow/docs/DAGDetailAllOf.md
similarity index 100%
rename from airflow/docs/DagDetailAllOf.md
rename to airflow/docs/DAGDetailAllOf.md
diff --git a/airflow/docs/DagRun.md b/airflow/docs/DAGRun.md
similarity index 94%
rename from airflow/docs/DagRun.md
rename to airflow/docs/DAGRun.md
index 70a8e89..d58e995 100644
--- a/airflow/docs/DagRun.md
+++ b/airflow/docs/DAGRun.md
@@ -36,6 +36,7 @@
 **State** | Pointer to [**DagState**](DagState.md) |  | [optional] 
 **ExternalTrigger** | Pointer to **bool** |  | [optional] [readonly] [default to true]
 **Conf** | Pointer to **map[string]interface{}** | 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.  | [optional] 
+**Note** | Pointer to **NullableString** | Contains manually entered notes by the user about the DagRun.  *New in version 2.5.0*  | [optional] 
 
 ## Methods
 
@@ -461,6 +462,41 @@
 
 HasConf returns a boolean if a field has been set.
 
+### GetNote
+
+`func (o *DAGRun) GetNote() string`
+
+GetNote returns the Note field if non-nil, zero value otherwise.
+
+### GetNoteOk
+
+`func (o *DAGRun) GetNoteOk() (*string, bool)`
+
+GetNoteOk returns a tuple with the Note field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNote
+
+`func (o *DAGRun) SetNote(v string)`
+
+SetNote sets Note field to given value.
+
+### HasNote
+
+`func (o *DAGRun) HasNote() bool`
+
+HasNote returns a boolean if a field has been set.
+
+### SetNoteNil
+
+`func (o *DAGRun) SetNoteNil(b bool)`
+
+ SetNoteNil sets the value for Note to be an explicit nil
+
+### UnsetNote
+`func (o *DAGRun) UnsetNote()`
+
+UnsetNote ensures that no value is present for Note, not even an explicit nil
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
diff --git a/airflow/docs/DAGRunApi.md b/airflow/docs/DAGRunApi.md
index 8cc59b6..5e3e57b 100644
--- a/airflow/docs/DAGRunApi.md
+++ b/airflow/docs/DAGRunApi.md
@@ -23,15 +23,93 @@
 
 Method | HTTP request | Description
 ------------- | ------------- | -------------
+[**ClearDagRun**](DAGRunApi.md#ClearDagRun) | **Post** /dags/{dag_id}/dagRuns/{dag_run_id}/clear | Clear a DAG run
 [**DeleteDagRun**](DAGRunApi.md#DeleteDagRun) | **Delete** /dags/{dag_id}/dagRuns/{dag_run_id} | Delete a DAG run
 [**GetDagRun**](DAGRunApi.md#GetDagRun) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id} | Get a DAG run
 [**GetDagRuns**](DAGRunApi.md#GetDagRuns) | **Get** /dags/{dag_id}/dagRuns | List DAG runs
 [**GetDagRunsBatch**](DAGRunApi.md#GetDagRunsBatch) | **Post** /dags/~/dagRuns/list | List DAG runs (batch)
+[**GetUpstreamDatasetEvents**](DAGRunApi.md#GetUpstreamDatasetEvents) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | Get dataset events for a DAG run
 [**PostDagRun**](DAGRunApi.md#PostDagRun) | **Post** /dags/{dag_id}/dagRuns | Trigger a new DAG run
+[**SetDagRunNote**](DAGRunApi.md#SetDagRunNote) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/setNote | Update the DagRun note.
 [**UpdateDagRunState**](DAGRunApi.md#UpdateDagRunState) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id} | Modify a DAG run
 
 
 
+## ClearDagRun
+
+> DAGRun ClearDagRun(ctx, dagId, dagRunId).ClearDagRun(clearDagRun).Execute()
+
+Clear a DAG run
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+    clearDagRun := *openapiclient.NewClearDagRun() // ClearDagRun | 
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DAGRunApi.ClearDagRun(context.Background(), dagId, dagRunId).ClearDagRun(clearDagRun).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DAGRunApi.ClearDagRun``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `ClearDagRun`: DAGRun
+    fmt.Fprintf(os.Stdout, "Response from `DAGRunApi.ClearDagRun`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiClearDagRunRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+ **clearDagRun** | [**ClearDagRun**](ClearDagRun.md) |  | 
+
+### Return type
+
+[**DAGRun**](DAGRun.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
 ## DeleteDagRun
 
 > DeleteDagRun(ctx, dagId, dagRunId).Execute()
@@ -89,7 +167,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -160,7 +238,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -251,7 +329,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -317,7 +395,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -329,6 +407,79 @@
 [[Back to README]](../README.md)
 
 
+## GetUpstreamDatasetEvents
+
+> DatasetEventCollection GetUpstreamDatasetEvents(ctx, dagId, dagRunId).Execute()
+
+Get dataset events for a DAG run
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DAGRunApi.GetUpstreamDatasetEvents(context.Background(), dagId, dagRunId).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DAGRunApi.GetUpstreamDatasetEvents``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetUpstreamDatasetEvents`: DatasetEventCollection
+    fmt.Fprintf(os.Stdout, "Response from `DAGRunApi.GetUpstreamDatasetEvents`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetUpstreamDatasetEventsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+### Return type
+
+[**DatasetEventCollection**](DatasetEventCollection.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
 ## PostDagRun
 
 > DAGRun PostDagRun(ctx, dagId).DAGRun(dAGRun).Execute()
@@ -387,7 +538,82 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## SetDagRunNote
+
+> DAGRun SetDagRunNote(ctx, dagId, dagRunId).SetDagRunNote(setDagRunNote).Execute()
+
+Update the DagRun note.
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+    setDagRunNote := *openapiclient.NewSetDagRunNote() // SetDagRunNote | Parameters of set DagRun note.
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DAGRunApi.SetDagRunNote(context.Background(), dagId, dagRunId).SetDagRunNote(setDagRunNote).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DAGRunApi.SetDagRunNote``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `SetDagRunNote`: DAGRun
+    fmt.Fprintf(os.Stdout, "Response from `DAGRunApi.SetDagRunNote`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiSetDagRunNoteRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+ **setDagRunNote** | [**SetDagRunNote**](SetDagRunNote.md) | Parameters of set DagRun note. | 
+
+### Return type
+
+[**DAGRun**](DAGRun.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -462,7 +688,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/DagRunCollection.md b/airflow/docs/DAGRunCollection.md
similarity index 100%
rename from airflow/docs/DagRunCollection.md
rename to airflow/docs/DAGRunCollection.md
diff --git a/airflow/docs/DagScheduleDatasetReference.md b/airflow/docs/DagScheduleDatasetReference.md
new file mode 100644
index 0000000..cd9828b
--- /dev/null
+++ b/airflow/docs/DagScheduleDatasetReference.md
@@ -0,0 +1,137 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DagScheduleDatasetReference
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DagId** | Pointer to **NullableString** | The DAG ID that depends on the dataset. | [optional] 
+**CreatedAt** | Pointer to **string** | The dataset reference creation time | [optional] 
+**UpdatedAt** | Pointer to **string** | The dataset reference update time | [optional] 
+
+## Methods
+
+### NewDagScheduleDatasetReference
+
+`func NewDagScheduleDatasetReference() *DagScheduleDatasetReference`
+
+NewDagScheduleDatasetReference instantiates a new DagScheduleDatasetReference object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDagScheduleDatasetReferenceWithDefaults
+
+`func NewDagScheduleDatasetReferenceWithDefaults() *DagScheduleDatasetReference`
+
+NewDagScheduleDatasetReferenceWithDefaults instantiates a new DagScheduleDatasetReference object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDagId
+
+`func (o *DagScheduleDatasetReference) GetDagId() string`
+
+GetDagId returns the DagId field if non-nil, zero value otherwise.
+
+### GetDagIdOk
+
+`func (o *DagScheduleDatasetReference) GetDagIdOk() (*string, bool)`
+
+GetDagIdOk returns a tuple with the DagId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDagId
+
+`func (o *DagScheduleDatasetReference) SetDagId(v string)`
+
+SetDagId sets DagId field to given value.
+
+### HasDagId
+
+`func (o *DagScheduleDatasetReference) HasDagId() bool`
+
+HasDagId returns a boolean if a field has been set.
+
+### SetDagIdNil
+
+`func (o *DagScheduleDatasetReference) SetDagIdNil(b bool)`
+
+ SetDagIdNil sets the value for DagId to be an explicit nil
+
+### UnsetDagId
+`func (o *DagScheduleDatasetReference) UnsetDagId()`
+
+UnsetDagId ensures that no value is present for DagId, not even an explicit nil
+### GetCreatedAt
+
+`func (o *DagScheduleDatasetReference) GetCreatedAt() string`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *DagScheduleDatasetReference) GetCreatedAtOk() (*string, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *DagScheduleDatasetReference) SetCreatedAt(v string)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *DagScheduleDatasetReference) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *DagScheduleDatasetReference) GetUpdatedAt() string`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *DagScheduleDatasetReference) GetUpdatedAtOk() (*string, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *DagScheduleDatasetReference) SetUpdatedAt(v string)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *DagScheduleDatasetReference) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/DagWarning.md b/airflow/docs/DagWarning.md
new file mode 100644
index 0000000..6ba0d94
--- /dev/null
+++ b/airflow/docs/DagWarning.md
@@ -0,0 +1,153 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DagWarning
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DagId** | Pointer to **string** | The dag_id. | [optional] [readonly] 
+**WarningType** | Pointer to **string** | The warning type for the dag warning. | [optional] [readonly] 
+**Message** | Pointer to **string** | The message for the dag warning. | [optional] [readonly] 
+**Timestamp** | Pointer to **string** | The time when this warning was logged. | [optional] [readonly] 
+
+## Methods
+
+### NewDagWarning
+
+`func NewDagWarning() *DagWarning`
+
+NewDagWarning instantiates a new DagWarning object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDagWarningWithDefaults
+
+`func NewDagWarningWithDefaults() *DagWarning`
+
+NewDagWarningWithDefaults instantiates a new DagWarning object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDagId
+
+`func (o *DagWarning) GetDagId() string`
+
+GetDagId returns the DagId field if non-nil, zero value otherwise.
+
+### GetDagIdOk
+
+`func (o *DagWarning) GetDagIdOk() (*string, bool)`
+
+GetDagIdOk returns a tuple with the DagId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDagId
+
+`func (o *DagWarning) SetDagId(v string)`
+
+SetDagId sets DagId field to given value.
+
+### HasDagId
+
+`func (o *DagWarning) HasDagId() bool`
+
+HasDagId returns a boolean if a field has been set.
+
+### GetWarningType
+
+`func (o *DagWarning) GetWarningType() string`
+
+GetWarningType returns the WarningType field if non-nil, zero value otherwise.
+
+### GetWarningTypeOk
+
+`func (o *DagWarning) GetWarningTypeOk() (*string, bool)`
+
+GetWarningTypeOk returns a tuple with the WarningType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWarningType
+
+`func (o *DagWarning) SetWarningType(v string)`
+
+SetWarningType sets WarningType field to given value.
+
+### HasWarningType
+
+`func (o *DagWarning) HasWarningType() bool`
+
+HasWarningType returns a boolean if a field has been set.
+
+### GetMessage
+
+`func (o *DagWarning) GetMessage() string`
+
+GetMessage returns the Message field if non-nil, zero value otherwise.
+
+### GetMessageOk
+
+`func (o *DagWarning) GetMessageOk() (*string, bool)`
+
+GetMessageOk returns a tuple with the Message field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMessage
+
+`func (o *DagWarning) SetMessage(v string)`
+
+SetMessage sets Message field to given value.
+
+### HasMessage
+
+`func (o *DagWarning) HasMessage() bool`
+
+HasMessage returns a boolean if a field has been set.
+
+### GetTimestamp
+
+`func (o *DagWarning) GetTimestamp() string`
+
+GetTimestamp returns the Timestamp field if non-nil, zero value otherwise.
+
+### GetTimestampOk
+
+`func (o *DagWarning) GetTimestampOk() (*string, bool)`
+
+GetTimestampOk returns a tuple with the Timestamp field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTimestamp
+
+`func (o *DagWarning) SetTimestamp(v string)`
+
+SetTimestamp sets Timestamp field to given value.
+
+### HasTimestamp
+
+`func (o *DagWarning) HasTimestamp() bool`
+
+HasTimestamp returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/DagWarningApi.md b/airflow/docs/DagWarningApi.md
new file mode 100644
index 0000000..dca8de8
--- /dev/null
+++ b/airflow/docs/DagWarningApi.md
@@ -0,0 +1,100 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# \DagWarningApi
+
+All URIs are relative to *http://localhost/api/v1*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**GetDagWarnings**](DagWarningApi.md#GetDagWarnings) | **Get** /dagWarnings | List dag warnings
+
+
+
+## GetDagWarnings
+
+> DagWarningCollection GetDagWarnings(ctx).DagId(dagId).WarningType(warningType).Limit(limit).Offset(offset).OrderBy(orderBy).Execute()
+
+List dag warnings
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | If set, only return DAG warnings with this dag_id. (optional)
+    warningType := "warningType_example" // string | If set, only return DAG warnings with this type. (optional)
+    limit := int32(56) // int32 | The numbers of items to return. (optional) (default to 100)
+    offset := int32(56) // int32 | The number of items to skip before starting to collect the result set. (optional)
+    orderBy := "orderBy_example" // string | The name of the field to order the results by. Prefix a field name with `-` to reverse the sort order.  *New in version 2.1.0*  (optional)
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DagWarningApi.GetDagWarnings(context.Background()).DagId(dagId).WarningType(warningType).Limit(limit).Offset(offset).OrderBy(orderBy).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DagWarningApi.GetDagWarnings``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetDagWarnings`: DagWarningCollection
+    fmt.Fprintf(os.Stdout, "Response from `DagWarningApi.GetDagWarnings`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetDagWarningsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **dagId** | **string** | If set, only return DAG warnings with this dag_id. | 
+ **warningType** | **string** | If set, only return DAG warnings with this type. | 
+ **limit** | **int32** | The numbers of items to return. | [default to 100]
+ **offset** | **int32** | The number of items to skip before starting to collect the result set. | 
+ **orderBy** | **string** | The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0*  | 
+
+### Return type
+
+[**DagWarningCollection**](DagWarningCollection.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/airflow/docs/DagWarningCollection.md b/airflow/docs/DagWarningCollection.md
new file mode 100644
index 0000000..2a0c9e9
--- /dev/null
+++ b/airflow/docs/DagWarningCollection.md
@@ -0,0 +1,101 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DagWarningCollection
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ImportErrors** | Pointer to [**[]DagWarning**](DagWarning.md) |  | [optional] 
+**TotalEntries** | Pointer to **int32** | Count of objects in the current result set. | [optional] 
+
+## Methods
+
+### NewDagWarningCollection
+
+`func NewDagWarningCollection() *DagWarningCollection`
+
+NewDagWarningCollection instantiates a new DagWarningCollection object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDagWarningCollectionWithDefaults
+
+`func NewDagWarningCollectionWithDefaults() *DagWarningCollection`
+
+NewDagWarningCollectionWithDefaults instantiates a new DagWarningCollection object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetImportErrors
+
+`func (o *DagWarningCollection) GetImportErrors() []DagWarning`
+
+GetImportErrors returns the ImportErrors field if non-nil, zero value otherwise.
+
+### GetImportErrorsOk
+
+`func (o *DagWarningCollection) GetImportErrorsOk() (*[]DagWarning, bool)`
+
+GetImportErrorsOk returns a tuple with the ImportErrors field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetImportErrors
+
+`func (o *DagWarningCollection) SetImportErrors(v []DagWarning)`
+
+SetImportErrors sets ImportErrors field to given value.
+
+### HasImportErrors
+
+`func (o *DagWarningCollection) HasImportErrors() bool`
+
+HasImportErrors returns a boolean if a field has been set.
+
+### GetTotalEntries
+
+`func (o *DagWarningCollection) GetTotalEntries() int32`
+
+GetTotalEntries returns the TotalEntries field if non-nil, zero value otherwise.
+
+### GetTotalEntriesOk
+
+`func (o *DagWarningCollection) GetTotalEntriesOk() (*int32, bool)`
+
+GetTotalEntriesOk returns a tuple with the TotalEntries field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTotalEntries
+
+`func (o *DagWarningCollection) SetTotalEntries(v int32)`
+
+SetTotalEntries sets TotalEntries field to given value.
+
+### HasTotalEntries
+
+`func (o *DagWarningCollection) HasTotalEntries() bool`
+
+HasTotalEntries returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/DagWarningCollectionAllOf.md b/airflow/docs/DagWarningCollectionAllOf.md
new file mode 100644
index 0000000..dce99ea
--- /dev/null
+++ b/airflow/docs/DagWarningCollectionAllOf.md
@@ -0,0 +1,75 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DagWarningCollectionAllOf
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ImportErrors** | Pointer to [**[]DagWarning**](DagWarning.md) |  | [optional] 
+
+## Methods
+
+### NewDagWarningCollectionAllOf
+
+`func NewDagWarningCollectionAllOf() *DagWarningCollectionAllOf`
+
+NewDagWarningCollectionAllOf instantiates a new DagWarningCollectionAllOf object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDagWarningCollectionAllOfWithDefaults
+
+`func NewDagWarningCollectionAllOfWithDefaults() *DagWarningCollectionAllOf`
+
+NewDagWarningCollectionAllOfWithDefaults instantiates a new DagWarningCollectionAllOf object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetImportErrors
+
+`func (o *DagWarningCollectionAllOf) GetImportErrors() []DagWarning`
+
+GetImportErrors returns the ImportErrors field if non-nil, zero value otherwise.
+
+### GetImportErrorsOk
+
+`func (o *DagWarningCollectionAllOf) GetImportErrorsOk() (*[]DagWarning, bool)`
+
+GetImportErrorsOk returns a tuple with the ImportErrors field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetImportErrors
+
+`func (o *DagWarningCollectionAllOf) SetImportErrors(v []DagWarning)`
+
+SetImportErrors sets ImportErrors field to given value.
+
+### HasImportErrors
+
+`func (o *DagWarningCollectionAllOf) HasImportErrors() bool`
+
+HasImportErrors returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/Dataset.md b/airflow/docs/Dataset.md
new file mode 100644
index 0000000..16c22be
--- /dev/null
+++ b/airflow/docs/Dataset.md
@@ -0,0 +1,241 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# Dataset
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | Pointer to **int32** | The dataset id | [optional] 
+**Uri** | Pointer to **string** | The dataset uri | [optional] 
+**Extra** | Pointer to **map[string]interface{}** | The dataset extra | [optional] 
+**CreatedAt** | Pointer to **string** | The dataset creation time | [optional] 
+**UpdatedAt** | Pointer to **string** | The dataset update time | [optional] 
+**ConsumingDags** | Pointer to [**[]DagScheduleDatasetReference**](DagScheduleDatasetReference.md) |  | [optional] 
+**ProducingTasks** | Pointer to [**[]TaskOutletDatasetReference**](TaskOutletDatasetReference.md) |  | [optional] 
+
+## Methods
+
+### NewDataset
+
+`func NewDataset() *Dataset`
+
+NewDataset instantiates a new Dataset object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDatasetWithDefaults
+
+`func NewDatasetWithDefaults() *Dataset`
+
+NewDatasetWithDefaults instantiates a new Dataset object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *Dataset) GetId() int32`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *Dataset) GetIdOk() (*int32, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *Dataset) SetId(v int32)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *Dataset) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetUri
+
+`func (o *Dataset) GetUri() string`
+
+GetUri returns the Uri field if non-nil, zero value otherwise.
+
+### GetUriOk
+
+`func (o *Dataset) GetUriOk() (*string, bool)`
+
+GetUriOk returns a tuple with the Uri field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUri
+
+`func (o *Dataset) SetUri(v string)`
+
+SetUri sets Uri field to given value.
+
+### HasUri
+
+`func (o *Dataset) HasUri() bool`
+
+HasUri returns a boolean if a field has been set.
+
+### GetExtra
+
+`func (o *Dataset) GetExtra() map[string]interface{}`
+
+GetExtra returns the Extra field if non-nil, zero value otherwise.
+
+### GetExtraOk
+
+`func (o *Dataset) GetExtraOk() (*map[string]interface{}, bool)`
+
+GetExtraOk returns a tuple with the Extra field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExtra
+
+`func (o *Dataset) SetExtra(v map[string]interface{})`
+
+SetExtra sets Extra field to given value.
+
+### HasExtra
+
+`func (o *Dataset) HasExtra() bool`
+
+HasExtra returns a boolean if a field has been set.
+
+### SetExtraNil
+
+`func (o *Dataset) SetExtraNil(b bool)`
+
+ SetExtraNil sets the value for Extra to be an explicit nil
+
+### UnsetExtra
+`func (o *Dataset) UnsetExtra()`
+
+UnsetExtra ensures that no value is present for Extra, not even an explicit nil
+### GetCreatedAt
+
+`func (o *Dataset) GetCreatedAt() string`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *Dataset) GetCreatedAtOk() (*string, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *Dataset) SetCreatedAt(v string)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *Dataset) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *Dataset) GetUpdatedAt() string`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *Dataset) GetUpdatedAtOk() (*string, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *Dataset) SetUpdatedAt(v string)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *Dataset) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+### GetConsumingDags
+
+`func (o *Dataset) GetConsumingDags() []DagScheduleDatasetReference`
+
+GetConsumingDags returns the ConsumingDags field if non-nil, zero value otherwise.
+
+### GetConsumingDagsOk
+
+`func (o *Dataset) GetConsumingDagsOk() (*[]DagScheduleDatasetReference, bool)`
+
+GetConsumingDagsOk returns a tuple with the ConsumingDags field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetConsumingDags
+
+`func (o *Dataset) SetConsumingDags(v []DagScheduleDatasetReference)`
+
+SetConsumingDags sets ConsumingDags field to given value.
+
+### HasConsumingDags
+
+`func (o *Dataset) HasConsumingDags() bool`
+
+HasConsumingDags returns a boolean if a field has been set.
+
+### GetProducingTasks
+
+`func (o *Dataset) GetProducingTasks() []TaskOutletDatasetReference`
+
+GetProducingTasks returns the ProducingTasks field if non-nil, zero value otherwise.
+
+### GetProducingTasksOk
+
+`func (o *Dataset) GetProducingTasksOk() (*[]TaskOutletDatasetReference, bool)`
+
+GetProducingTasksOk returns a tuple with the ProducingTasks field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetProducingTasks
+
+`func (o *Dataset) SetProducingTasks(v []TaskOutletDatasetReference)`
+
+SetProducingTasks sets ProducingTasks field to given value.
+
+### HasProducingTasks
+
+`func (o *Dataset) HasProducingTasks() bool`
+
+HasProducingTasks returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/DatasetApi.md b/airflow/docs/DatasetApi.md
new file mode 100644
index 0000000..dc0d1a7
--- /dev/null
+++ b/airflow/docs/DatasetApi.md
@@ -0,0 +1,324 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# \DatasetApi
+
+All URIs are relative to *http://localhost/api/v1*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**GetDataset**](DatasetApi.md#GetDataset) | **Get** /datasets/{uri} | Get a dataset
+[**GetDatasetEvents**](DatasetApi.md#GetDatasetEvents) | **Get** /datasets/events | Get dataset events
+[**GetDatasets**](DatasetApi.md#GetDatasets) | **Get** /datasets | List datasets
+[**GetUpstreamDatasetEvents**](DatasetApi.md#GetUpstreamDatasetEvents) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents | Get dataset events for a DAG run
+
+
+
+## GetDataset
+
+> Dataset GetDataset(ctx, uri).Execute()
+
+Get a dataset
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    uri := "uri_example" // string | The encoded Dataset URI
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DatasetApi.GetDataset(context.Background(), uri).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DatasetApi.GetDataset``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetDataset`: Dataset
+    fmt.Fprintf(os.Stdout, "Response from `DatasetApi.GetDataset`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**uri** | **string** | The encoded Dataset URI | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetDatasetRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+[**Dataset**](Dataset.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetDatasetEvents
+
+> DatasetEventCollection GetDatasetEvents(ctx).Limit(limit).Offset(offset).OrderBy(orderBy).DatasetId(datasetId).SourceDagId(sourceDagId).SourceTaskId(sourceTaskId).SourceRunId(sourceRunId).SourceMapIndex(sourceMapIndex).Execute()
+
+Get dataset events
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    limit := int32(56) // int32 | The numbers of items to return. (optional) (default to 100)
+    offset := int32(56) // int32 | The number of items to skip before starting to collect the result set. (optional)
+    orderBy := "orderBy_example" // string | The name of the field to order the results by. Prefix a field name with `-` to reverse the sort order.  *New in version 2.1.0*  (optional)
+    datasetId := int32(56) // int32 | The Dataset ID that updated the dataset. (optional)
+    sourceDagId := "sourceDagId_example" // string | The DAG ID that updated the dataset. (optional)
+    sourceTaskId := "sourceTaskId_example" // string | The task ID that updated the dataset. (optional)
+    sourceRunId := "sourceRunId_example" // string | The DAG run ID that updated the dataset. (optional)
+    sourceMapIndex := int32(56) // int32 | The map index that updated the dataset. (optional)
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DatasetApi.GetDatasetEvents(context.Background()).Limit(limit).Offset(offset).OrderBy(orderBy).DatasetId(datasetId).SourceDagId(sourceDagId).SourceTaskId(sourceTaskId).SourceRunId(sourceRunId).SourceMapIndex(sourceMapIndex).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DatasetApi.GetDatasetEvents``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetDatasetEvents`: DatasetEventCollection
+    fmt.Fprintf(os.Stdout, "Response from `DatasetApi.GetDatasetEvents`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetDatasetEventsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **limit** | **int32** | The numbers of items to return. | [default to 100]
+ **offset** | **int32** | The number of items to skip before starting to collect the result set. | 
+ **orderBy** | **string** | The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0*  | 
+ **datasetId** | **int32** | The Dataset ID that updated the dataset. | 
+ **sourceDagId** | **string** | The DAG ID that updated the dataset. | 
+ **sourceTaskId** | **string** | The task ID that updated the dataset. | 
+ **sourceRunId** | **string** | The DAG run ID that updated the dataset. | 
+ **sourceMapIndex** | **int32** | The map index that updated the dataset. | 
+
+### Return type
+
+[**DatasetEventCollection**](DatasetEventCollection.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetDatasets
+
+> DatasetCollection GetDatasets(ctx).Limit(limit).Offset(offset).OrderBy(orderBy).UriPattern(uriPattern).Execute()
+
+List datasets
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    limit := int32(56) // int32 | The numbers of items to return. (optional) (default to 100)
+    offset := int32(56) // int32 | The number of items to skip before starting to collect the result set. (optional)
+    orderBy := "orderBy_example" // string | The name of the field to order the results by. Prefix a field name with `-` to reverse the sort order.  *New in version 2.1.0*  (optional)
+    uriPattern := "uriPattern_example" // string | If set, only return datasets with uris matching this pattern.  (optional)
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DatasetApi.GetDatasets(context.Background()).Limit(limit).Offset(offset).OrderBy(orderBy).UriPattern(uriPattern).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DatasetApi.GetDatasets``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetDatasets`: DatasetCollection
+    fmt.Fprintf(os.Stdout, "Response from `DatasetApi.GetDatasets`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetDatasetsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **limit** | **int32** | The numbers of items to return. | [default to 100]
+ **offset** | **int32** | The number of items to skip before starting to collect the result set. | 
+ **orderBy** | **string** | The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0*  | 
+ **uriPattern** | **string** | If set, only return datasets with uris matching this pattern.  | 
+
+### Return type
+
+[**DatasetCollection**](DatasetCollection.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetUpstreamDatasetEvents
+
+> DatasetEventCollection GetUpstreamDatasetEvents(ctx, dagId, dagRunId).Execute()
+
+Get dataset events for a DAG run
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DatasetApi.GetUpstreamDatasetEvents(context.Background(), dagId, dagRunId).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DatasetApi.GetUpstreamDatasetEvents``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetUpstreamDatasetEvents`: DatasetEventCollection
+    fmt.Fprintf(os.Stdout, "Response from `DatasetApi.GetUpstreamDatasetEvents`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetUpstreamDatasetEventsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+### Return type
+
+[**DatasetEventCollection**](DatasetEventCollection.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/airflow/docs/DatasetCollection.md b/airflow/docs/DatasetCollection.md
new file mode 100644
index 0000000..94a0309
--- /dev/null
+++ b/airflow/docs/DatasetCollection.md
@@ -0,0 +1,101 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DatasetCollection
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Datasets** | Pointer to [**[]Dataset**](Dataset.md) |  | [optional] 
+**TotalEntries** | Pointer to **int32** | Count of objects in the current result set. | [optional] 
+
+## Methods
+
+### NewDatasetCollection
+
+`func NewDatasetCollection() *DatasetCollection`
+
+NewDatasetCollection instantiates a new DatasetCollection object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDatasetCollectionWithDefaults
+
+`func NewDatasetCollectionWithDefaults() *DatasetCollection`
+
+NewDatasetCollectionWithDefaults instantiates a new DatasetCollection object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDatasets
+
+`func (o *DatasetCollection) GetDatasets() []Dataset`
+
+GetDatasets returns the Datasets field if non-nil, zero value otherwise.
+
+### GetDatasetsOk
+
+`func (o *DatasetCollection) GetDatasetsOk() (*[]Dataset, bool)`
+
+GetDatasetsOk returns a tuple with the Datasets field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDatasets
+
+`func (o *DatasetCollection) SetDatasets(v []Dataset)`
+
+SetDatasets sets Datasets field to given value.
+
+### HasDatasets
+
+`func (o *DatasetCollection) HasDatasets() bool`
+
+HasDatasets returns a boolean if a field has been set.
+
+### GetTotalEntries
+
+`func (o *DatasetCollection) GetTotalEntries() int32`
+
+GetTotalEntries returns the TotalEntries field if non-nil, zero value otherwise.
+
+### GetTotalEntriesOk
+
+`func (o *DatasetCollection) GetTotalEntriesOk() (*int32, bool)`
+
+GetTotalEntriesOk returns a tuple with the TotalEntries field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTotalEntries
+
+`func (o *DatasetCollection) SetTotalEntries(v int32)`
+
+SetTotalEntries sets TotalEntries field to given value.
+
+### HasTotalEntries
+
+`func (o *DatasetCollection) HasTotalEntries() bool`
+
+HasTotalEntries returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/DatasetCollectionAllOf.md b/airflow/docs/DatasetCollectionAllOf.md
new file mode 100644
index 0000000..0c3502a
--- /dev/null
+++ b/airflow/docs/DatasetCollectionAllOf.md
@@ -0,0 +1,75 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DatasetCollectionAllOf
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Datasets** | Pointer to [**[]Dataset**](Dataset.md) |  | [optional] 
+
+## Methods
+
+### NewDatasetCollectionAllOf
+
+`func NewDatasetCollectionAllOf() *DatasetCollectionAllOf`
+
+NewDatasetCollectionAllOf instantiates a new DatasetCollectionAllOf object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDatasetCollectionAllOfWithDefaults
+
+`func NewDatasetCollectionAllOfWithDefaults() *DatasetCollectionAllOf`
+
+NewDatasetCollectionAllOfWithDefaults instantiates a new DatasetCollectionAllOf object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDatasets
+
+`func (o *DatasetCollectionAllOf) GetDatasets() []Dataset`
+
+GetDatasets returns the Datasets field if non-nil, zero value otherwise.
+
+### GetDatasetsOk
+
+`func (o *DatasetCollectionAllOf) GetDatasetsOk() (*[]Dataset, bool)`
+
+GetDatasetsOk returns a tuple with the Datasets field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDatasets
+
+`func (o *DatasetCollectionAllOf) SetDatasets(v []Dataset)`
+
+SetDatasets sets Datasets field to given value.
+
+### HasDatasets
+
+`func (o *DatasetCollectionAllOf) HasDatasets() bool`
+
+HasDatasets returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/DatasetEvent.md b/airflow/docs/DatasetEvent.md
new file mode 100644
index 0000000..2c35a3a
--- /dev/null
+++ b/airflow/docs/DatasetEvent.md
@@ -0,0 +1,333 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DatasetEvent
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DatasetId** | Pointer to **int32** | The dataset id | [optional] 
+**DatasetUri** | Pointer to **string** | The URI of the dataset | [optional] 
+**Extra** | Pointer to **map[string]interface{}** | The dataset event extra | [optional] 
+**SourceDagId** | Pointer to **NullableString** | The DAG ID that updated the dataset. | [optional] 
+**SourceTaskId** | Pointer to **NullableString** | The task ID that updated the dataset. | [optional] 
+**SourceRunId** | Pointer to **NullableString** | The DAG run ID that updated the dataset. | [optional] 
+**SourceMapIndex** | Pointer to **NullableInt32** | The task map index that updated the dataset. | [optional] 
+**CreatedDagruns** | Pointer to [**[]BasicDAGRun**](BasicDAGRun.md) |  | [optional] 
+**Timestamp** | Pointer to **string** | The dataset event creation time | [optional] 
+
+## Methods
+
+### NewDatasetEvent
+
+`func NewDatasetEvent() *DatasetEvent`
+
+NewDatasetEvent instantiates a new DatasetEvent object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDatasetEventWithDefaults
+
+`func NewDatasetEventWithDefaults() *DatasetEvent`
+
+NewDatasetEventWithDefaults instantiates a new DatasetEvent object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDatasetId
+
+`func (o *DatasetEvent) GetDatasetId() int32`
+
+GetDatasetId returns the DatasetId field if non-nil, zero value otherwise.
+
+### GetDatasetIdOk
+
+`func (o *DatasetEvent) GetDatasetIdOk() (*int32, bool)`
+
+GetDatasetIdOk returns a tuple with the DatasetId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDatasetId
+
+`func (o *DatasetEvent) SetDatasetId(v int32)`
+
+SetDatasetId sets DatasetId field to given value.
+
+### HasDatasetId
+
+`func (o *DatasetEvent) HasDatasetId() bool`
+
+HasDatasetId returns a boolean if a field has been set.
+
+### GetDatasetUri
+
+`func (o *DatasetEvent) GetDatasetUri() string`
+
+GetDatasetUri returns the DatasetUri field if non-nil, zero value otherwise.
+
+### GetDatasetUriOk
+
+`func (o *DatasetEvent) GetDatasetUriOk() (*string, bool)`
+
+GetDatasetUriOk returns a tuple with the DatasetUri field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDatasetUri
+
+`func (o *DatasetEvent) SetDatasetUri(v string)`
+
+SetDatasetUri sets DatasetUri field to given value.
+
+### HasDatasetUri
+
+`func (o *DatasetEvent) HasDatasetUri() bool`
+
+HasDatasetUri returns a boolean if a field has been set.
+
+### GetExtra
+
+`func (o *DatasetEvent) GetExtra() map[string]interface{}`
+
+GetExtra returns the Extra field if non-nil, zero value otherwise.
+
+### GetExtraOk
+
+`func (o *DatasetEvent) GetExtraOk() (*map[string]interface{}, bool)`
+
+GetExtraOk returns a tuple with the Extra field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExtra
+
+`func (o *DatasetEvent) SetExtra(v map[string]interface{})`
+
+SetExtra sets Extra field to given value.
+
+### HasExtra
+
+`func (o *DatasetEvent) HasExtra() bool`
+
+HasExtra returns a boolean if a field has been set.
+
+### SetExtraNil
+
+`func (o *DatasetEvent) SetExtraNil(b bool)`
+
+ SetExtraNil sets the value for Extra to be an explicit nil
+
+### UnsetExtra
+`func (o *DatasetEvent) UnsetExtra()`
+
+UnsetExtra ensures that no value is present for Extra, not even an explicit nil
+### GetSourceDagId
+
+`func (o *DatasetEvent) GetSourceDagId() string`
+
+GetSourceDagId returns the SourceDagId field if non-nil, zero value otherwise.
+
+### GetSourceDagIdOk
+
+`func (o *DatasetEvent) GetSourceDagIdOk() (*string, bool)`
+
+GetSourceDagIdOk returns a tuple with the SourceDagId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSourceDagId
+
+`func (o *DatasetEvent) SetSourceDagId(v string)`
+
+SetSourceDagId sets SourceDagId field to given value.
+
+### HasSourceDagId
+
+`func (o *DatasetEvent) HasSourceDagId() bool`
+
+HasSourceDagId returns a boolean if a field has been set.
+
+### SetSourceDagIdNil
+
+`func (o *DatasetEvent) SetSourceDagIdNil(b bool)`
+
+ SetSourceDagIdNil sets the value for SourceDagId to be an explicit nil
+
+### UnsetSourceDagId
+`func (o *DatasetEvent) UnsetSourceDagId()`
+
+UnsetSourceDagId ensures that no value is present for SourceDagId, not even an explicit nil
+### GetSourceTaskId
+
+`func (o *DatasetEvent) GetSourceTaskId() string`
+
+GetSourceTaskId returns the SourceTaskId field if non-nil, zero value otherwise.
+
+### GetSourceTaskIdOk
+
+`func (o *DatasetEvent) GetSourceTaskIdOk() (*string, bool)`
+
+GetSourceTaskIdOk returns a tuple with the SourceTaskId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSourceTaskId
+
+`func (o *DatasetEvent) SetSourceTaskId(v string)`
+
+SetSourceTaskId sets SourceTaskId field to given value.
+
+### HasSourceTaskId
+
+`func (o *DatasetEvent) HasSourceTaskId() bool`
+
+HasSourceTaskId returns a boolean if a field has been set.
+
+### SetSourceTaskIdNil
+
+`func (o *DatasetEvent) SetSourceTaskIdNil(b bool)`
+
+ SetSourceTaskIdNil sets the value for SourceTaskId to be an explicit nil
+
+### UnsetSourceTaskId
+`func (o *DatasetEvent) UnsetSourceTaskId()`
+
+UnsetSourceTaskId ensures that no value is present for SourceTaskId, not even an explicit nil
+### GetSourceRunId
+
+`func (o *DatasetEvent) GetSourceRunId() string`
+
+GetSourceRunId returns the SourceRunId field if non-nil, zero value otherwise.
+
+### GetSourceRunIdOk
+
+`func (o *DatasetEvent) GetSourceRunIdOk() (*string, bool)`
+
+GetSourceRunIdOk returns a tuple with the SourceRunId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSourceRunId
+
+`func (o *DatasetEvent) SetSourceRunId(v string)`
+
+SetSourceRunId sets SourceRunId field to given value.
+
+### HasSourceRunId
+
+`func (o *DatasetEvent) HasSourceRunId() bool`
+
+HasSourceRunId returns a boolean if a field has been set.
+
+### SetSourceRunIdNil
+
+`func (o *DatasetEvent) SetSourceRunIdNil(b bool)`
+
+ SetSourceRunIdNil sets the value for SourceRunId to be an explicit nil
+
+### UnsetSourceRunId
+`func (o *DatasetEvent) UnsetSourceRunId()`
+
+UnsetSourceRunId ensures that no value is present for SourceRunId, not even an explicit nil
+### GetSourceMapIndex
+
+`func (o *DatasetEvent) GetSourceMapIndex() int32`
+
+GetSourceMapIndex returns the SourceMapIndex field if non-nil, zero value otherwise.
+
+### GetSourceMapIndexOk
+
+`func (o *DatasetEvent) GetSourceMapIndexOk() (*int32, bool)`
+
+GetSourceMapIndexOk returns a tuple with the SourceMapIndex field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSourceMapIndex
+
+`func (o *DatasetEvent) SetSourceMapIndex(v int32)`
+
+SetSourceMapIndex sets SourceMapIndex field to given value.
+
+### HasSourceMapIndex
+
+`func (o *DatasetEvent) HasSourceMapIndex() bool`
+
+HasSourceMapIndex returns a boolean if a field has been set.
+
+### SetSourceMapIndexNil
+
+`func (o *DatasetEvent) SetSourceMapIndexNil(b bool)`
+
+ SetSourceMapIndexNil sets the value for SourceMapIndex to be an explicit nil
+
+### UnsetSourceMapIndex
+`func (o *DatasetEvent) UnsetSourceMapIndex()`
+
+UnsetSourceMapIndex ensures that no value is present for SourceMapIndex, not even an explicit nil
+### GetCreatedDagruns
+
+`func (o *DatasetEvent) GetCreatedDagruns() []BasicDAGRun`
+
+GetCreatedDagruns returns the CreatedDagruns field if non-nil, zero value otherwise.
+
+### GetCreatedDagrunsOk
+
+`func (o *DatasetEvent) GetCreatedDagrunsOk() (*[]BasicDAGRun, bool)`
+
+GetCreatedDagrunsOk returns a tuple with the CreatedDagruns field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedDagruns
+
+`func (o *DatasetEvent) SetCreatedDagruns(v []BasicDAGRun)`
+
+SetCreatedDagruns sets CreatedDagruns field to given value.
+
+### HasCreatedDagruns
+
+`func (o *DatasetEvent) HasCreatedDagruns() bool`
+
+HasCreatedDagruns returns a boolean if a field has been set.
+
+### GetTimestamp
+
+`func (o *DatasetEvent) GetTimestamp() string`
+
+GetTimestamp returns the Timestamp field if non-nil, zero value otherwise.
+
+### GetTimestampOk
+
+`func (o *DatasetEvent) GetTimestampOk() (*string, bool)`
+
+GetTimestampOk returns a tuple with the Timestamp field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTimestamp
+
+`func (o *DatasetEvent) SetTimestamp(v string)`
+
+SetTimestamp sets Timestamp field to given value.
+
+### HasTimestamp
+
+`func (o *DatasetEvent) HasTimestamp() bool`
+
+HasTimestamp returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/DatasetEventCollection.md b/airflow/docs/DatasetEventCollection.md
new file mode 100644
index 0000000..da9024f
--- /dev/null
+++ b/airflow/docs/DatasetEventCollection.md
@@ -0,0 +1,101 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DatasetEventCollection
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DatasetEvents** | Pointer to [**[]DatasetEvent**](DatasetEvent.md) |  | [optional] 
+**TotalEntries** | Pointer to **int32** | Count of objects in the current result set. | [optional] 
+
+## Methods
+
+### NewDatasetEventCollection
+
+`func NewDatasetEventCollection() *DatasetEventCollection`
+
+NewDatasetEventCollection instantiates a new DatasetEventCollection object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDatasetEventCollectionWithDefaults
+
+`func NewDatasetEventCollectionWithDefaults() *DatasetEventCollection`
+
+NewDatasetEventCollectionWithDefaults instantiates a new DatasetEventCollection object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDatasetEvents
+
+`func (o *DatasetEventCollection) GetDatasetEvents() []DatasetEvent`
+
+GetDatasetEvents returns the DatasetEvents field if non-nil, zero value otherwise.
+
+### GetDatasetEventsOk
+
+`func (o *DatasetEventCollection) GetDatasetEventsOk() (*[]DatasetEvent, bool)`
+
+GetDatasetEventsOk returns a tuple with the DatasetEvents field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDatasetEvents
+
+`func (o *DatasetEventCollection) SetDatasetEvents(v []DatasetEvent)`
+
+SetDatasetEvents sets DatasetEvents field to given value.
+
+### HasDatasetEvents
+
+`func (o *DatasetEventCollection) HasDatasetEvents() bool`
+
+HasDatasetEvents returns a boolean if a field has been set.
+
+### GetTotalEntries
+
+`func (o *DatasetEventCollection) GetTotalEntries() int32`
+
+GetTotalEntries returns the TotalEntries field if non-nil, zero value otherwise.
+
+### GetTotalEntriesOk
+
+`func (o *DatasetEventCollection) GetTotalEntriesOk() (*int32, bool)`
+
+GetTotalEntriesOk returns a tuple with the TotalEntries field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTotalEntries
+
+`func (o *DatasetEventCollection) SetTotalEntries(v int32)`
+
+SetTotalEntries sets TotalEntries field to given value.
+
+### HasTotalEntries
+
+`func (o *DatasetEventCollection) HasTotalEntries() bool`
+
+HasTotalEntries returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/DatasetEventCollectionAllOf.md b/airflow/docs/DatasetEventCollectionAllOf.md
new file mode 100644
index 0000000..d5c6561
--- /dev/null
+++ b/airflow/docs/DatasetEventCollectionAllOf.md
@@ -0,0 +1,75 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# DatasetEventCollectionAllOf
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DatasetEvents** | Pointer to [**[]DatasetEvent**](DatasetEvent.md) |  | [optional] 
+
+## Methods
+
+### NewDatasetEventCollectionAllOf
+
+`func NewDatasetEventCollectionAllOf() *DatasetEventCollectionAllOf`
+
+NewDatasetEventCollectionAllOf instantiates a new DatasetEventCollectionAllOf object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDatasetEventCollectionAllOfWithDefaults
+
+`func NewDatasetEventCollectionAllOfWithDefaults() *DatasetEventCollectionAllOf`
+
+NewDatasetEventCollectionAllOfWithDefaults instantiates a new DatasetEventCollectionAllOf object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDatasetEvents
+
+`func (o *DatasetEventCollectionAllOf) GetDatasetEvents() []DatasetEvent`
+
+GetDatasetEvents returns the DatasetEvents field if non-nil, zero value otherwise.
+
+### GetDatasetEventsOk
+
+`func (o *DatasetEventCollectionAllOf) GetDatasetEventsOk() (*[]DatasetEvent, bool)`
+
+GetDatasetEventsOk returns a tuple with the DatasetEvents field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDatasetEvents
+
+`func (o *DatasetEventCollectionAllOf) SetDatasetEvents(v []DatasetEvent)`
+
+SetDatasetEvents sets DatasetEvents field to given value.
+
+### HasDatasetEvents
+
+`func (o *DatasetEventCollectionAllOf) HasDatasetEvents() bool`
+
+HasDatasetEvents returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/EventLogApi.md b/airflow/docs/EventLogApi.md
index 1eec473..6f5eb81 100644
--- a/airflow/docs/EventLogApi.md
+++ b/airflow/docs/EventLogApi.md
@@ -84,7 +84,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -154,7 +154,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/ImportErrorApi.md b/airflow/docs/ImportErrorApi.md
index c1af0ac..ea99a91 100644
--- a/airflow/docs/ImportErrorApi.md
+++ b/airflow/docs/ImportErrorApi.md
@@ -84,7 +84,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -152,7 +152,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/Job.md b/airflow/docs/Job.md
new file mode 100644
index 0000000..2cada5a
--- /dev/null
+++ b/airflow/docs/Job.md
@@ -0,0 +1,399 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# Job
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | Pointer to **int32** |  | [optional] 
+**DagId** | Pointer to **NullableString** |  | [optional] 
+**State** | Pointer to **NullableString** |  | [optional] 
+**JobType** | Pointer to **NullableString** |  | [optional] 
+**StartDate** | Pointer to **NullableString** |  | [optional] 
+**EndDate** | Pointer to **NullableString** |  | [optional] 
+**LatestHeartbeat** | Pointer to **NullableString** |  | [optional] 
+**ExecutorClass** | Pointer to **NullableString** |  | [optional] 
+**Hostname** | Pointer to **NullableString** |  | [optional] 
+**Unixname** | Pointer to **NullableString** |  | [optional] 
+
+## Methods
+
+### NewJob
+
+`func NewJob() *Job`
+
+NewJob instantiates a new Job object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewJobWithDefaults
+
+`func NewJobWithDefaults() *Job`
+
+NewJobWithDefaults instantiates a new Job object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *Job) GetId() int32`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *Job) GetIdOk() (*int32, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *Job) SetId(v int32)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *Job) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetDagId
+
+`func (o *Job) GetDagId() string`
+
+GetDagId returns the DagId field if non-nil, zero value otherwise.
+
+### GetDagIdOk
+
+`func (o *Job) GetDagIdOk() (*string, bool)`
+
+GetDagIdOk returns a tuple with the DagId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDagId
+
+`func (o *Job) SetDagId(v string)`
+
+SetDagId sets DagId field to given value.
+
+### HasDagId
+
+`func (o *Job) HasDagId() bool`
+
+HasDagId returns a boolean if a field has been set.
+
+### SetDagIdNil
+
+`func (o *Job) SetDagIdNil(b bool)`
+
+ SetDagIdNil sets the value for DagId to be an explicit nil
+
+### UnsetDagId
+`func (o *Job) UnsetDagId()`
+
+UnsetDagId ensures that no value is present for DagId, not even an explicit nil
+### GetState
+
+`func (o *Job) GetState() string`
+
+GetState returns the State field if non-nil, zero value otherwise.
+
+### GetStateOk
+
+`func (o *Job) GetStateOk() (*string, bool)`
+
+GetStateOk returns a tuple with the State field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetState
+
+`func (o *Job) SetState(v string)`
+
+SetState sets State field to given value.
+
+### HasState
+
+`func (o *Job) HasState() bool`
+
+HasState returns a boolean if a field has been set.
+
+### SetStateNil
+
+`func (o *Job) SetStateNil(b bool)`
+
+ SetStateNil sets the value for State to be an explicit nil
+
+### UnsetState
+`func (o *Job) UnsetState()`
+
+UnsetState ensures that no value is present for State, not even an explicit nil
+### GetJobType
+
+`func (o *Job) GetJobType() string`
+
+GetJobType returns the JobType field if non-nil, zero value otherwise.
+
+### GetJobTypeOk
+
+`func (o *Job) GetJobTypeOk() (*string, bool)`
+
+GetJobTypeOk returns a tuple with the JobType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetJobType
+
+`func (o *Job) SetJobType(v string)`
+
+SetJobType sets JobType field to given value.
+
+### HasJobType
+
+`func (o *Job) HasJobType() bool`
+
+HasJobType returns a boolean if a field has been set.
+
+### SetJobTypeNil
+
+`func (o *Job) SetJobTypeNil(b bool)`
+
+ SetJobTypeNil sets the value for JobType to be an explicit nil
+
+### UnsetJobType
+`func (o *Job) UnsetJobType()`
+
+UnsetJobType ensures that no value is present for JobType, not even an explicit nil
+### GetStartDate
+
+`func (o *Job) GetStartDate() string`
+
+GetStartDate returns the StartDate field if non-nil, zero value otherwise.
+
+### GetStartDateOk
+
+`func (o *Job) GetStartDateOk() (*string, bool)`
+
+GetStartDateOk returns a tuple with the StartDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetStartDate
+
+`func (o *Job) SetStartDate(v string)`
+
+SetStartDate sets StartDate field to given value.
+
+### HasStartDate
+
+`func (o *Job) HasStartDate() bool`
+
+HasStartDate returns a boolean if a field has been set.
+
+### SetStartDateNil
+
+`func (o *Job) SetStartDateNil(b bool)`
+
+ SetStartDateNil sets the value for StartDate to be an explicit nil
+
+### UnsetStartDate
+`func (o *Job) UnsetStartDate()`
+
+UnsetStartDate ensures that no value is present for StartDate, not even an explicit nil
+### GetEndDate
+
+`func (o *Job) GetEndDate() string`
+
+GetEndDate returns the EndDate field if non-nil, zero value otherwise.
+
+### GetEndDateOk
+
+`func (o *Job) GetEndDateOk() (*string, bool)`
+
+GetEndDateOk returns a tuple with the EndDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEndDate
+
+`func (o *Job) SetEndDate(v string)`
+
+SetEndDate sets EndDate field to given value.
+
+### HasEndDate
+
+`func (o *Job) HasEndDate() bool`
+
+HasEndDate returns a boolean if a field has been set.
+
+### SetEndDateNil
+
+`func (o *Job) SetEndDateNil(b bool)`
+
+ SetEndDateNil sets the value for EndDate to be an explicit nil
+
+### UnsetEndDate
+`func (o *Job) UnsetEndDate()`
+
+UnsetEndDate ensures that no value is present for EndDate, not even an explicit nil
+### GetLatestHeartbeat
+
+`func (o *Job) GetLatestHeartbeat() string`
+
+GetLatestHeartbeat returns the LatestHeartbeat field if non-nil, zero value otherwise.
+
+### GetLatestHeartbeatOk
+
+`func (o *Job) GetLatestHeartbeatOk() (*string, bool)`
+
+GetLatestHeartbeatOk returns a tuple with the LatestHeartbeat field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLatestHeartbeat
+
+`func (o *Job) SetLatestHeartbeat(v string)`
+
+SetLatestHeartbeat sets LatestHeartbeat field to given value.
+
+### HasLatestHeartbeat
+
+`func (o *Job) HasLatestHeartbeat() bool`
+
+HasLatestHeartbeat returns a boolean if a field has been set.
+
+### SetLatestHeartbeatNil
+
+`func (o *Job) SetLatestHeartbeatNil(b bool)`
+
+ SetLatestHeartbeatNil sets the value for LatestHeartbeat to be an explicit nil
+
+### UnsetLatestHeartbeat
+`func (o *Job) UnsetLatestHeartbeat()`
+
+UnsetLatestHeartbeat ensures that no value is present for LatestHeartbeat, not even an explicit nil
+### GetExecutorClass
+
+`func (o *Job) GetExecutorClass() string`
+
+GetExecutorClass returns the ExecutorClass field if non-nil, zero value otherwise.
+
+### GetExecutorClassOk
+
+`func (o *Job) GetExecutorClassOk() (*string, bool)`
+
+GetExecutorClassOk returns a tuple with the ExecutorClass field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExecutorClass
+
+`func (o *Job) SetExecutorClass(v string)`
+
+SetExecutorClass sets ExecutorClass field to given value.
+
+### HasExecutorClass
+
+`func (o *Job) HasExecutorClass() bool`
+
+HasExecutorClass returns a boolean if a field has been set.
+
+### SetExecutorClassNil
+
+`func (o *Job) SetExecutorClassNil(b bool)`
+
+ SetExecutorClassNil sets the value for ExecutorClass to be an explicit nil
+
+### UnsetExecutorClass
+`func (o *Job) UnsetExecutorClass()`
+
+UnsetExecutorClass ensures that no value is present for ExecutorClass, not even an explicit nil
+### GetHostname
+
+`func (o *Job) GetHostname() string`
+
+GetHostname returns the Hostname field if non-nil, zero value otherwise.
+
+### GetHostnameOk
+
+`func (o *Job) GetHostnameOk() (*string, bool)`
+
+GetHostnameOk returns a tuple with the Hostname field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHostname
+
+`func (o *Job) SetHostname(v string)`
+
+SetHostname sets Hostname field to given value.
+
+### HasHostname
+
+`func (o *Job) HasHostname() bool`
+
+HasHostname returns a boolean if a field has been set.
+
+### SetHostnameNil
+
+`func (o *Job) SetHostnameNil(b bool)`
+
+ SetHostnameNil sets the value for Hostname to be an explicit nil
+
+### UnsetHostname
+`func (o *Job) UnsetHostname()`
+
+UnsetHostname ensures that no value is present for Hostname, not even an explicit nil
+### GetUnixname
+
+`func (o *Job) GetUnixname() string`
+
+GetUnixname returns the Unixname field if non-nil, zero value otherwise.
+
+### GetUnixnameOk
+
+`func (o *Job) GetUnixnameOk() (*string, bool)`
+
+GetUnixnameOk returns a tuple with the Unixname field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUnixname
+
+`func (o *Job) SetUnixname(v string)`
+
+SetUnixname sets Unixname field to given value.
+
+### HasUnixname
+
+`func (o *Job) HasUnixname() bool`
+
+HasUnixname returns a boolean if a field has been set.
+
+### SetUnixnameNil
+
+`func (o *Job) SetUnixnameNil(b bool)`
+
+ SetUnixnameNil sets the value for Unixname to be an explicit nil
+
+### UnsetUnixname
+`func (o *Job) UnsetUnixname()`
+
+UnsetUnixname ensures that no value is present for Unixname, not even an explicit nil
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/MonitoringApi.md b/airflow/docs/MonitoringApi.md
index a186bfb..c75d8b7 100644
--- a/airflow/docs/MonitoringApi.md
+++ b/airflow/docs/MonitoringApi.md
@@ -77,7 +77,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -136,7 +136,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/PermissionApi.md b/airflow/docs/PermissionApi.md
index 6212340..ac96cce 100644
--- a/airflow/docs/PermissionApi.md
+++ b/airflow/docs/PermissionApi.md
@@ -83,7 +83,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/PluginApi.md b/airflow/docs/PluginApi.md
index 0943641..3e6bacb 100644
--- a/airflow/docs/PluginApi.md
+++ b/airflow/docs/PluginApi.md
@@ -83,7 +83,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/PluginCollectionItem.md b/airflow/docs/PluginCollectionItem.md
index 6464f5e..82cd1b2 100644
--- a/airflow/docs/PluginCollectionItem.md
+++ b/airflow/docs/PluginCollectionItem.md
@@ -23,7 +23,6 @@
 
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
-**Number** | Pointer to **string** | The plugin number | [optional] 
 **Name** | Pointer to **string** | The name of the plugin | [optional] 
 **Hooks** | Pointer to **[]string** | The plugin hooks | [optional] 
 **Executors** | Pointer to **[]string** | The plugin executors | [optional] 
@@ -54,31 +53,6 @@
 This constructor will only assign default values to properties that have it defined,
 but it doesn't guarantee that properties required by API are set
 
-### GetNumber
-
-`func (o *PluginCollectionItem) GetNumber() string`
-
-GetNumber returns the Number field if non-nil, zero value otherwise.
-
-### GetNumberOk
-
-`func (o *PluginCollectionItem) GetNumberOk() (*string, bool)`
-
-GetNumberOk returns a tuple with the Number field if it's non-nil, zero value otherwise
-and a boolean to check if the value has been set.
-
-### SetNumber
-
-`func (o *PluginCollectionItem) SetNumber(v string)`
-
-SetNumber sets Number field to given value.
-
-### HasNumber
-
-`func (o *PluginCollectionItem) HasNumber() bool`
-
-HasNumber returns a boolean if a field has been set.
-
 ### GetName
 
 `func (o *PluginCollectionItem) GetName() string`
diff --git a/airflow/docs/PoolApi.md b/airflow/docs/PoolApi.md
index 5df51cd..2453bba 100644
--- a/airflow/docs/PoolApi.md
+++ b/airflow/docs/PoolApi.md
@@ -85,7 +85,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -153,7 +153,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -221,7 +221,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -293,7 +293,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -357,7 +357,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/ProviderApi.md b/airflow/docs/ProviderApi.md
index fce960c..f59a608 100644
--- a/airflow/docs/ProviderApi.md
+++ b/airflow/docs/ProviderApi.md
@@ -76,7 +76,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/RoleApi.md b/airflow/docs/RoleApi.md
index c000e98..9e286d9 100644
--- a/airflow/docs/RoleApi.md
+++ b/airflow/docs/RoleApi.md
@@ -87,7 +87,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -157,7 +157,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -227,7 +227,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -301,7 +301,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -367,7 +367,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/SlaMiss.md b/airflow/docs/SLAMiss.md
similarity index 100%
rename from airflow/docs/SlaMiss.md
rename to airflow/docs/SLAMiss.md
diff --git a/airflow/docs/SetDagRunNote.md b/airflow/docs/SetDagRunNote.md
new file mode 100644
index 0000000..64f74f9
--- /dev/null
+++ b/airflow/docs/SetDagRunNote.md
@@ -0,0 +1,75 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# SetDagRunNote
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Note** | Pointer to **string** | Custom notes left by users for this Dag Run. | [optional] 
+
+## Methods
+
+### NewSetDagRunNote
+
+`func NewSetDagRunNote() *SetDagRunNote`
+
+NewSetDagRunNote instantiates a new SetDagRunNote object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewSetDagRunNoteWithDefaults
+
+`func NewSetDagRunNoteWithDefaults() *SetDagRunNote`
+
+NewSetDagRunNoteWithDefaults instantiates a new SetDagRunNote object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetNote
+
+`func (o *SetDagRunNote) GetNote() string`
+
+GetNote returns the Note field if non-nil, zero value otherwise.
+
+### GetNoteOk
+
+`func (o *SetDagRunNote) GetNoteOk() (*string, bool)`
+
+GetNoteOk returns a tuple with the Note field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNote
+
+`func (o *SetDagRunNote) SetNote(v string)`
+
+SetNote sets Note field to given value.
+
+### HasNote
+
+`func (o *SetDagRunNote) HasNote() bool`
+
+HasNote returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/SetTaskInstanceNote.md b/airflow/docs/SetTaskInstanceNote.md
new file mode 100644
index 0000000..f97c47b
--- /dev/null
+++ b/airflow/docs/SetTaskInstanceNote.md
@@ -0,0 +1,70 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# SetTaskInstanceNote
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Note** | **string** | The custom note to set for this Task Instance. | 
+
+## Methods
+
+### NewSetTaskInstanceNote
+
+`func NewSetTaskInstanceNote(note string, ) *SetTaskInstanceNote`
+
+NewSetTaskInstanceNote instantiates a new SetTaskInstanceNote object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewSetTaskInstanceNoteWithDefaults
+
+`func NewSetTaskInstanceNoteWithDefaults() *SetTaskInstanceNote`
+
+NewSetTaskInstanceNoteWithDefaults instantiates a new SetTaskInstanceNote object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetNote
+
+`func (o *SetTaskInstanceNote) GetNote() string`
+
+GetNote returns the Note field if non-nil, zero value otherwise.
+
+### GetNoteOk
+
+`func (o *SetTaskInstanceNote) GetNoteOk() (*string, bool)`
+
+GetNoteOk returns a tuple with the Note field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNote
+
+`func (o *SetTaskInstanceNote) SetNote(v string)`
+
+SetNote sets Note field to given value.
+
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/Task.md b/airflow/docs/Task.md
index e5e57c0..d0f1f67 100644
--- a/airflow/docs/Task.md
+++ b/airflow/docs/Task.md
@@ -34,7 +34,7 @@
 **IsMapped** | Pointer to **bool** |  | [optional] [readonly] 
 **WaitForDownstream** | Pointer to **bool** |  | [optional] [readonly] 
 **Retries** | Pointer to **float32** |  | [optional] [readonly] 
-**Queue** | Pointer to **string** |  | [optional] [readonly] 
+**Queue** | Pointer to **NullableString** |  | [optional] [readonly] 
 **Pool** | Pointer to **string** |  | [optional] [readonly] 
 **PoolSlots** | Pointer to **float32** |  | [optional] [readonly] 
 **ExecutionTimeout** | Pointer to [**TimeDelta**](TimeDelta.md) |  | [optional] 
@@ -377,6 +377,16 @@
 
 HasQueue returns a boolean if a field has been set.
 
+### SetQueueNil
+
+`func (o *Task) SetQueueNil(b bool)`
+
+ SetQueueNil sets the value for Queue to be an explicit nil
+
+### UnsetQueue
+`func (o *Task) UnsetQueue()`
+
+UnsetQueue ensures that no value is present for Queue, not even an explicit nil
 ### GetPool
 
 `func (o *Task) GetPool() string`
diff --git a/airflow/docs/TaskInstance.md b/airflow/docs/TaskInstance.md
index c3d41af..1a748de 100644
--- a/airflow/docs/TaskInstance.md
+++ b/airflow/docs/TaskInstance.md
@@ -32,19 +32,23 @@
 **Duration** | Pointer to **NullableFloat32** |  | [optional] 
 **State** | Pointer to [**TaskState**](TaskState.md) |  | [optional] 
 **TryNumber** | Pointer to **int32** |  | [optional] 
+**MapIndex** | Pointer to **int32** |  | [optional] 
 **MaxTries** | Pointer to **int32** |  | [optional] 
 **Hostname** | Pointer to **string** |  | [optional] 
 **Unixname** | Pointer to **string** |  | [optional] 
 **Pool** | Pointer to **string** |  | [optional] 
 **PoolSlots** | Pointer to **int32** |  | [optional] 
-**Queue** | Pointer to **string** |  | [optional] 
-**PriorityWeight** | Pointer to **int32** |  | [optional] 
+**Queue** | Pointer to **NullableString** |  | [optional] 
+**PriorityWeight** | Pointer to **NullableInt32** |  | [optional] 
 **Operator** | Pointer to **NullableString** | *Changed in version 2.1.1*&amp;#58; Field becomes nullable.  | [optional] 
 **QueuedWhen** | Pointer to **NullableString** |  | [optional] 
 **Pid** | Pointer to **NullableInt32** |  | [optional] 
 **ExecutorConfig** | Pointer to **string** |  | [optional] 
-**SlaMiss** | Pointer to [**SLAMiss**](SLAMiss.md) |  | [optional] 
+**SlaMiss** | Pointer to [**NullableSLAMiss**](SLAMiss.md) |  | [optional] 
 **RenderedFields** | Pointer to **map[string]interface{}** | JSON object describing rendered fields.  *New in version 2.3.0*  | [optional] 
+**Trigger** | Pointer to [**Trigger**](Trigger.md) |  | [optional] 
+**TriggererJob** | Pointer to [**Job**](Job.md) |  | [optional] 
+**Note** | Pointer to **NullableString** | Contains manually entered notes by the user about the TaskInstance.  *New in version 2.5.0*  | [optional] 
 
 ## Methods
 
@@ -320,6 +324,31 @@
 
 HasTryNumber returns a boolean if a field has been set.
 
+### GetMapIndex
+
+`func (o *TaskInstance) GetMapIndex() int32`
+
+GetMapIndex returns the MapIndex field if non-nil, zero value otherwise.
+
+### GetMapIndexOk
+
+`func (o *TaskInstance) GetMapIndexOk() (*int32, bool)`
+
+GetMapIndexOk returns a tuple with the MapIndex field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMapIndex
+
+`func (o *TaskInstance) SetMapIndex(v int32)`
+
+SetMapIndex sets MapIndex field to given value.
+
+### HasMapIndex
+
+`func (o *TaskInstance) HasMapIndex() bool`
+
+HasMapIndex returns a boolean if a field has been set.
+
 ### GetMaxTries
 
 `func (o *TaskInstance) GetMaxTries() int32`
@@ -470,6 +499,16 @@
 
 HasQueue returns a boolean if a field has been set.
 
+### SetQueueNil
+
+`func (o *TaskInstance) SetQueueNil(b bool)`
+
+ SetQueueNil sets the value for Queue to be an explicit nil
+
+### UnsetQueue
+`func (o *TaskInstance) UnsetQueue()`
+
+UnsetQueue ensures that no value is present for Queue, not even an explicit nil
 ### GetPriorityWeight
 
 `func (o *TaskInstance) GetPriorityWeight() int32`
@@ -495,6 +534,16 @@
 
 HasPriorityWeight returns a boolean if a field has been set.
 
+### SetPriorityWeightNil
+
+`func (o *TaskInstance) SetPriorityWeightNil(b bool)`
+
+ SetPriorityWeightNil sets the value for PriorityWeight to be an explicit nil
+
+### UnsetPriorityWeight
+`func (o *TaskInstance) UnsetPriorityWeight()`
+
+UnsetPriorityWeight ensures that no value is present for PriorityWeight, not even an explicit nil
 ### GetOperator
 
 `func (o *TaskInstance) GetOperator() string`
@@ -650,6 +699,16 @@
 
 HasSlaMiss returns a boolean if a field has been set.
 
+### SetSlaMissNil
+
+`func (o *TaskInstance) SetSlaMissNil(b bool)`
+
+ SetSlaMissNil sets the value for SlaMiss to be an explicit nil
+
+### UnsetSlaMiss
+`func (o *TaskInstance) UnsetSlaMiss()`
+
+UnsetSlaMiss ensures that no value is present for SlaMiss, not even an explicit nil
 ### GetRenderedFields
 
 `func (o *TaskInstance) GetRenderedFields() map[string]interface{}`
@@ -675,6 +734,91 @@
 
 HasRenderedFields returns a boolean if a field has been set.
 
+### GetTrigger
+
+`func (o *TaskInstance) GetTrigger() Trigger`
+
+GetTrigger returns the Trigger field if non-nil, zero value otherwise.
+
+### GetTriggerOk
+
+`func (o *TaskInstance) GetTriggerOk() (*Trigger, bool)`
+
+GetTriggerOk returns a tuple with the Trigger field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTrigger
+
+`func (o *TaskInstance) SetTrigger(v Trigger)`
+
+SetTrigger sets Trigger field to given value.
+
+### HasTrigger
+
+`func (o *TaskInstance) HasTrigger() bool`
+
+HasTrigger returns a boolean if a field has been set.
+
+### GetTriggererJob
+
+`func (o *TaskInstance) GetTriggererJob() Job`
+
+GetTriggererJob returns the TriggererJob field if non-nil, zero value otherwise.
+
+### GetTriggererJobOk
+
+`func (o *TaskInstance) GetTriggererJobOk() (*Job, bool)`
+
+GetTriggererJobOk returns a tuple with the TriggererJob field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTriggererJob
+
+`func (o *TaskInstance) SetTriggererJob(v Job)`
+
+SetTriggererJob sets TriggererJob field to given value.
+
+### HasTriggererJob
+
+`func (o *TaskInstance) HasTriggererJob() bool`
+
+HasTriggererJob returns a boolean if a field has been set.
+
+### GetNote
+
+`func (o *TaskInstance) GetNote() string`
+
+GetNote returns the Note field if non-nil, zero value otherwise.
+
+### GetNoteOk
+
+`func (o *TaskInstance) GetNoteOk() (*string, bool)`
+
+GetNoteOk returns a tuple with the Note field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNote
+
+`func (o *TaskInstance) SetNote(v string)`
+
+SetNote sets Note field to given value.
+
+### HasNote
+
+`func (o *TaskInstance) HasNote() bool`
+
+HasNote returns a boolean if a field has been set.
+
+### SetNoteNil
+
+`func (o *TaskInstance) SetNoteNil(b bool)`
+
+ SetNoteNil sets the value for Note to be an explicit nil
+
+### UnsetNote
+`func (o *TaskInstance) UnsetNote()`
+
+UnsetNote ensures that no value is present for Note, not even an explicit nil
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
diff --git a/airflow/docs/TaskInstanceApi.md b/airflow/docs/TaskInstanceApi.md
index 9e4214b..a7e01a0 100644
--- a/airflow/docs/TaskInstanceApi.md
+++ b/airflow/docs/TaskInstanceApi.md
@@ -30,6 +30,8 @@
 [**GetTaskInstance**](TaskInstanceApi.md#GetTaskInstance) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | Get a task instance
 [**GetTaskInstances**](TaskInstanceApi.md#GetTaskInstances) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | List task instances
 [**GetTaskInstancesBatch**](TaskInstanceApi.md#GetTaskInstancesBatch) | **Post** /dags/~/dagRuns/~/taskInstances/list | List task instances (batch)
+[**PatchMappedTaskInstance**](TaskInstanceApi.md#PatchMappedTaskInstance) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index} | Updates the state of a mapped task instance
+[**PatchTaskInstance**](TaskInstanceApi.md#PatchTaskInstance) | **Patch** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | Updates the state of a task instance
 
 
 
@@ -97,7 +99,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -111,7 +113,7 @@
 
 ## GetLog
 
-> InlineResponse200 GetLog(ctx, dagId, dagRunId, taskId, taskTryNumber).FullContent(fullContent).Token(token).Execute()
+> InlineResponse200 GetLog(ctx, dagId, dagRunId, taskId, taskTryNumber).FullContent(fullContent).MapIndex(mapIndex).Token(token).Execute()
 
 Get logs
 
@@ -135,11 +137,12 @@
     taskId := "taskId_example" // string | The task ID.
     taskTryNumber := int32(56) // int32 | The task try number.
     fullContent := true // bool | A full content will be returned. By default, only the first fragment will be returned.  (optional)
+    mapIndex := int32(56) // int32 | Filter on map index for mapped task. (optional)
     token := "token_example" // string | A token that allows you to continue fetching logs. If passed, it will specify the location from which the download should be continued.  (optional)
 
     configuration := openapiclient.NewConfiguration()
     api_client := openapiclient.NewAPIClient(configuration)
-    resp, r, err := api_client.TaskInstanceApi.GetLog(context.Background(), dagId, dagRunId, taskId, taskTryNumber).FullContent(fullContent).Token(token).Execute()
+    resp, r, err := api_client.TaskInstanceApi.GetLog(context.Background(), dagId, dagRunId, taskId, taskTryNumber).FullContent(fullContent).MapIndex(mapIndex).Token(token).Execute()
     if err != nil {
         fmt.Fprintf(os.Stderr, "Error when calling `TaskInstanceApi.GetLog``: %v\n", err)
         fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
@@ -172,6 +175,7 @@
 
 
  **fullContent** | **bool** | A full content will be returned. By default, only the first fragment will be returned.  | 
+ **mapIndex** | **int32** | Filter on map index for mapped task. | 
  **token** | **string** | A token that allows you to continue fetching logs. If passed, it will specify the location from which the download should be continued.  | 
 
 ### Return type
@@ -180,7 +184,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -259,7 +263,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -273,7 +277,7 @@
 
 ## GetMappedTaskInstances
 
-> TaskInstance GetMappedTaskInstances(ctx, dagId, dagRunId, taskId).Limit(limit).Offset(offset).ExecutionDateGte(executionDateGte).ExecutionDateLte(executionDateLte).StartDateGte(startDateGte).StartDateLte(startDateLte).EndDateGte(endDateGte).EndDateLte(endDateLte).DurationGte(durationGte).DurationLte(durationLte).State(state).Pool(pool).Queue(queue).OrderBy(orderBy).Execute()
+> TaskInstanceCollection GetMappedTaskInstances(ctx, dagId, dagRunId, taskId).Limit(limit).Offset(offset).ExecutionDateGte(executionDateGte).ExecutionDateLte(executionDateLte).StartDateGte(startDateGte).StartDateLte(startDateLte).EndDateGte(endDateGte).EndDateLte(endDateLte).DurationGte(durationGte).DurationLte(durationLte).State(state).Pool(pool).Queue(queue).OrderBy(orderBy).Execute()
 
 List mapped task instances
 
@@ -318,7 +322,7 @@
         fmt.Fprintf(os.Stderr, "Error when calling `TaskInstanceApi.GetMappedTaskInstances``: %v\n", err)
         fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
     }
-    // response from `GetMappedTaskInstances`: TaskInstance
+    // response from `GetMappedTaskInstances`: TaskInstanceCollection
     fmt.Fprintf(os.Stdout, "Response from `TaskInstanceApi.GetMappedTaskInstances`: %v\n", resp)
 }
 ```
@@ -360,11 +364,11 @@
 
 ### Return type
 
-[**TaskInstance**](TaskInstance.md)
+[**TaskInstanceCollection**](TaskInstanceCollection.md)
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -438,7 +442,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -538,7 +542,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -604,7 +608,166 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## PatchMappedTaskInstance
+
+> TaskInstanceReference PatchMappedTaskInstance(ctx, dagId, dagRunId, taskId, mapIndex).UpdateTaskInstance(updateTaskInstance).Execute()
+
+Updates the state of a mapped task instance
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+    taskId := "taskId_example" // string | The task ID.
+    mapIndex := int32(56) // int32 | The map index.
+    updateTaskInstance := *openapiclient.NewUpdateTaskInstance() // UpdateTaskInstance | Parameters of action (optional)
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.TaskInstanceApi.PatchMappedTaskInstance(context.Background(), dagId, dagRunId, taskId, mapIndex).UpdateTaskInstance(updateTaskInstance).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `TaskInstanceApi.PatchMappedTaskInstance``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `PatchMappedTaskInstance`: TaskInstanceReference
+    fmt.Fprintf(os.Stdout, "Response from `TaskInstanceApi.PatchMappedTaskInstance`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+**taskId** | **string** | The task ID. | 
+**mapIndex** | **int32** | The map index. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiPatchMappedTaskInstanceRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+
+ **updateTaskInstance** | [**UpdateTaskInstance**](UpdateTaskInstance.md) | Parameters of action | 
+
+### Return type
+
+[**TaskInstanceReference**](TaskInstanceReference.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## PatchTaskInstance
+
+> TaskInstanceReference PatchTaskInstance(ctx, dagId, dagRunId, taskId).UpdateTaskInstance(updateTaskInstance).Execute()
+
+Updates the state of a task instance
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+    taskId := "taskId_example" // string | The task ID.
+    updateTaskInstance := *openapiclient.NewUpdateTaskInstance() // UpdateTaskInstance | Parameters of action
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.TaskInstanceApi.PatchTaskInstance(context.Background(), dagId, dagRunId, taskId).UpdateTaskInstance(updateTaskInstance).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `TaskInstanceApi.PatchTaskInstance``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `PatchTaskInstance`: TaskInstanceReference
+    fmt.Fprintf(os.Stdout, "Response from `TaskInstanceApi.PatchTaskInstance`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+**taskId** | **string** | The task ID. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiPatchTaskInstanceRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+ **updateTaskInstance** | [**UpdateTaskInstance**](UpdateTaskInstance.md) | Parameters of action | 
+
+### Return type
+
+[**TaskInstanceReference**](TaskInstanceReference.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/TaskOutletDatasetReference.md b/airflow/docs/TaskOutletDatasetReference.md
new file mode 100644
index 0000000..cf2efc7
--- /dev/null
+++ b/airflow/docs/TaskOutletDatasetReference.md
@@ -0,0 +1,173 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# TaskOutletDatasetReference
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DagId** | Pointer to **NullableString** | The DAG ID that updates the dataset. | [optional] 
+**TaskId** | Pointer to **NullableString** | The task ID that updates the dataset. | [optional] 
+**CreatedAt** | Pointer to **string** | The dataset creation time | [optional] 
+**UpdatedAt** | Pointer to **string** | The dataset update time | [optional] 
+
+## Methods
+
+### NewTaskOutletDatasetReference
+
+`func NewTaskOutletDatasetReference() *TaskOutletDatasetReference`
+
+NewTaskOutletDatasetReference instantiates a new TaskOutletDatasetReference object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewTaskOutletDatasetReferenceWithDefaults
+
+`func NewTaskOutletDatasetReferenceWithDefaults() *TaskOutletDatasetReference`
+
+NewTaskOutletDatasetReferenceWithDefaults instantiates a new TaskOutletDatasetReference object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDagId
+
+`func (o *TaskOutletDatasetReference) GetDagId() string`
+
+GetDagId returns the DagId field if non-nil, zero value otherwise.
+
+### GetDagIdOk
+
+`func (o *TaskOutletDatasetReference) GetDagIdOk() (*string, bool)`
+
+GetDagIdOk returns a tuple with the DagId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDagId
+
+`func (o *TaskOutletDatasetReference) SetDagId(v string)`
+
+SetDagId sets DagId field to given value.
+
+### HasDagId
+
+`func (o *TaskOutletDatasetReference) HasDagId() bool`
+
+HasDagId returns a boolean if a field has been set.
+
+### SetDagIdNil
+
+`func (o *TaskOutletDatasetReference) SetDagIdNil(b bool)`
+
+ SetDagIdNil sets the value for DagId to be an explicit nil
+
+### UnsetDagId
+`func (o *TaskOutletDatasetReference) UnsetDagId()`
+
+UnsetDagId ensures that no value is present for DagId, not even an explicit nil
+### GetTaskId
+
+`func (o *TaskOutletDatasetReference) GetTaskId() string`
+
+GetTaskId returns the TaskId field if non-nil, zero value otherwise.
+
+### GetTaskIdOk
+
+`func (o *TaskOutletDatasetReference) GetTaskIdOk() (*string, bool)`
+
+GetTaskIdOk returns a tuple with the TaskId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTaskId
+
+`func (o *TaskOutletDatasetReference) SetTaskId(v string)`
+
+SetTaskId sets TaskId field to given value.
+
+### HasTaskId
+
+`func (o *TaskOutletDatasetReference) HasTaskId() bool`
+
+HasTaskId returns a boolean if a field has been set.
+
+### SetTaskIdNil
+
+`func (o *TaskOutletDatasetReference) SetTaskIdNil(b bool)`
+
+ SetTaskIdNil sets the value for TaskId to be an explicit nil
+
+### UnsetTaskId
+`func (o *TaskOutletDatasetReference) UnsetTaskId()`
+
+UnsetTaskId ensures that no value is present for TaskId, not even an explicit nil
+### GetCreatedAt
+
+`func (o *TaskOutletDatasetReference) GetCreatedAt() string`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *TaskOutletDatasetReference) GetCreatedAtOk() (*string, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *TaskOutletDatasetReference) SetCreatedAt(v string)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *TaskOutletDatasetReference) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *TaskOutletDatasetReference) GetUpdatedAt() string`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *TaskOutletDatasetReference) GetUpdatedAtOk() (*string, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *TaskOutletDatasetReference) SetUpdatedAt(v string)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *TaskOutletDatasetReference) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/TaskState.md b/airflow/docs/TaskState.md
index df485e4..ae9b443 100644
--- a/airflow/docs/TaskState.md
+++ b/airflow/docs/TaskState.md
@@ -44,10 +44,10 @@
 
 * `DEFERRED` (value: `"deferred"`)
 
-* `SENSING` (value: `"sensing"`)
-
 * `REMOVED` (value: `"removed"`)
 
+* `RESTARTING` (value: `"restarting"`)
+
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
diff --git a/airflow/docs/Trigger.md b/airflow/docs/Trigger.md
new file mode 100644
index 0000000..30e6839
--- /dev/null
+++ b/airflow/docs/Trigger.md
@@ -0,0 +1,189 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# Trigger
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | Pointer to **int32** |  | [optional] 
+**Classpath** | Pointer to **string** |  | [optional] 
+**Kwargs** | Pointer to **string** |  | [optional] 
+**CreatedDate** | Pointer to **string** |  | [optional] 
+**TriggererId** | Pointer to **NullableInt32** |  | [optional] 
+
+## Methods
+
+### NewTrigger
+
+`func NewTrigger() *Trigger`
+
+NewTrigger instantiates a new Trigger object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewTriggerWithDefaults
+
+`func NewTriggerWithDefaults() *Trigger`
+
+NewTriggerWithDefaults instantiates a new Trigger object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *Trigger) GetId() int32`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *Trigger) GetIdOk() (*int32, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *Trigger) SetId(v int32)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *Trigger) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetClasspath
+
+`func (o *Trigger) GetClasspath() string`
+
+GetClasspath returns the Classpath field if non-nil, zero value otherwise.
+
+### GetClasspathOk
+
+`func (o *Trigger) GetClasspathOk() (*string, bool)`
+
+GetClasspathOk returns a tuple with the Classpath field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetClasspath
+
+`func (o *Trigger) SetClasspath(v string)`
+
+SetClasspath sets Classpath field to given value.
+
+### HasClasspath
+
+`func (o *Trigger) HasClasspath() bool`
+
+HasClasspath returns a boolean if a field has been set.
+
+### GetKwargs
+
+`func (o *Trigger) GetKwargs() string`
+
+GetKwargs returns the Kwargs field if non-nil, zero value otherwise.
+
+### GetKwargsOk
+
+`func (o *Trigger) GetKwargsOk() (*string, bool)`
+
+GetKwargsOk returns a tuple with the Kwargs field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKwargs
+
+`func (o *Trigger) SetKwargs(v string)`
+
+SetKwargs sets Kwargs field to given value.
+
+### HasKwargs
+
+`func (o *Trigger) HasKwargs() bool`
+
+HasKwargs returns a boolean if a field has been set.
+
+### GetCreatedDate
+
+`func (o *Trigger) GetCreatedDate() string`
+
+GetCreatedDate returns the CreatedDate field if non-nil, zero value otherwise.
+
+### GetCreatedDateOk
+
+`func (o *Trigger) GetCreatedDateOk() (*string, bool)`
+
+GetCreatedDateOk returns a tuple with the CreatedDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedDate
+
+`func (o *Trigger) SetCreatedDate(v string)`
+
+SetCreatedDate sets CreatedDate field to given value.
+
+### HasCreatedDate
+
+`func (o *Trigger) HasCreatedDate() bool`
+
+HasCreatedDate returns a boolean if a field has been set.
+
+### GetTriggererId
+
+`func (o *Trigger) GetTriggererId() int32`
+
+GetTriggererId returns the TriggererId field if non-nil, zero value otherwise.
+
+### GetTriggererIdOk
+
+`func (o *Trigger) GetTriggererIdOk() (*int32, bool)`
+
+GetTriggererIdOk returns a tuple with the TriggererId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTriggererId
+
+`func (o *Trigger) SetTriggererId(v int32)`
+
+SetTriggererId sets TriggererId field to given value.
+
+### HasTriggererId
+
+`func (o *Trigger) HasTriggererId() bool`
+
+HasTriggererId returns a boolean if a field has been set.
+
+### SetTriggererIdNil
+
+`func (o *Trigger) SetTriggererIdNil(b bool)`
+
+ SetTriggererIdNil sets the value for TriggererId to be an explicit nil
+
+### UnsetTriggererId
+`func (o *Trigger) UnsetTriggererId()`
+
+UnsetTriggererId ensures that no value is present for TriggererId, not even an explicit nil
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/UpdateTaskInstance.md b/airflow/docs/UpdateTaskInstance.md
new file mode 100644
index 0000000..8b20d3e
--- /dev/null
+++ b/airflow/docs/UpdateTaskInstance.md
@@ -0,0 +1,101 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# UpdateTaskInstance
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DryRun** | Pointer to **bool** | If set, don&#39;t actually run this operation. The response will contain the task instance planned to be affected, but won&#39;t be modified in any way.  | [optional] [default to false]
+**NewState** | Pointer to **string** | Expected new state. | [optional] 
+
+## Methods
+
+### NewUpdateTaskInstance
+
+`func NewUpdateTaskInstance() *UpdateTaskInstance`
+
+NewUpdateTaskInstance instantiates a new UpdateTaskInstance object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewUpdateTaskInstanceWithDefaults
+
+`func NewUpdateTaskInstanceWithDefaults() *UpdateTaskInstance`
+
+NewUpdateTaskInstanceWithDefaults instantiates a new UpdateTaskInstance object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDryRun
+
+`func (o *UpdateTaskInstance) GetDryRun() bool`
+
+GetDryRun returns the DryRun field if non-nil, zero value otherwise.
+
+### GetDryRunOk
+
+`func (o *UpdateTaskInstance) GetDryRunOk() (*bool, bool)`
+
+GetDryRunOk returns a tuple with the DryRun field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDryRun
+
+`func (o *UpdateTaskInstance) SetDryRun(v bool)`
+
+SetDryRun sets DryRun field to given value.
+
+### HasDryRun
+
+`func (o *UpdateTaskInstance) HasDryRun() bool`
+
+HasDryRun returns a boolean if a field has been set.
+
+### GetNewState
+
+`func (o *UpdateTaskInstance) GetNewState() string`
+
+GetNewState returns the NewState field if non-nil, zero value otherwise.
+
+### GetNewStateOk
+
+`func (o *UpdateTaskInstance) GetNewStateOk() (*string, bool)`
+
+GetNewStateOk returns a tuple with the NewState field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNewState
+
+`func (o *UpdateTaskInstance) SetNewState(v string)`
+
+SetNewState sets NewState field to given value.
+
+### HasNewState
+
+`func (o *UpdateTaskInstance) HasNewState() bool`
+
+HasNewState returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/airflow/docs/User.md b/airflow/docs/User.md
index c88321e..098df6f 100644
--- a/airflow/docs/User.md
+++ b/airflow/docs/User.md
@@ -23,8 +23,8 @@
 
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
-**FirstName** | Pointer to **string** | The user&#39;s first name.  *Changed in version 2.2.0*&amp;#58; A minimum character length requirement (&#39;minLength&#39;) is added.  | [optional] 
-**LastName** | Pointer to **string** | The user&#39;s last name.  *Changed in version 2.2.0*&amp;#58; A minimum character length requirement (&#39;minLength&#39;) is added.  | [optional] 
+**FirstName** | Pointer to **string** | The user&#39;s first name.  *Changed in version 2.4.0*&amp;#58; The requirement for this to be non-empty was removed.  | [optional] 
+**LastName** | Pointer to **string** | The user&#39;s last name.  *Changed in version 2.4.0*&amp;#58; The requirement for this to be non-empty was removed.  | [optional] 
 **Username** | Pointer to **string** | The username.  *Changed in version 2.2.0*&amp;#58; A minimum character length requirement (&#39;minLength&#39;) is added.  | [optional] 
 **Email** | Pointer to **string** | The user&#39;s email.  *Changed in version 2.2.0*&amp;#58; A minimum character length requirement (&#39;minLength&#39;) is added.  | [optional] 
 **Active** | Pointer to **NullableBool** | Whether the user is active | [optional] [readonly] 
diff --git a/airflow/docs/UserApi.md b/airflow/docs/UserApi.md
index c60f770..21da8fb 100644
--- a/airflow/docs/UserApi.md
+++ b/airflow/docs/UserApi.md
@@ -87,7 +87,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -157,7 +157,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -227,7 +227,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -301,7 +301,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -367,7 +367,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/UserCollectionItem.md b/airflow/docs/UserCollectionItem.md
index 50b9b92..caca4c1 100644
--- a/airflow/docs/UserCollectionItem.md
+++ b/airflow/docs/UserCollectionItem.md
@@ -23,8 +23,8 @@
 
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
-**FirstName** | Pointer to **string** | The user&#39;s first name.  *Changed in version 2.2.0*&amp;#58; A minimum character length requirement (&#39;minLength&#39;) is added.  | [optional] 
-**LastName** | Pointer to **string** | The user&#39;s last name.  *Changed in version 2.2.0*&amp;#58; A minimum character length requirement (&#39;minLength&#39;) is added.  | [optional] 
+**FirstName** | Pointer to **string** | The user&#39;s first name.  *Changed in version 2.4.0*&amp;#58; The requirement for this to be non-empty was removed.  | [optional] 
+**LastName** | Pointer to **string** | The user&#39;s last name.  *Changed in version 2.4.0*&amp;#58; The requirement for this to be non-empty was removed.  | [optional] 
 **Username** | Pointer to **string** | The username.  *Changed in version 2.2.0*&amp;#58; A minimum character length requirement (&#39;minLength&#39;) is added.  | [optional] 
 **Email** | Pointer to **string** | The user&#39;s email.  *Changed in version 2.2.0*&amp;#58; A minimum character length requirement (&#39;minLength&#39;) is added.  | [optional] 
 **Active** | Pointer to **NullableBool** | Whether the user is active | [optional] [readonly] 
diff --git a/airflow/docs/Variable.md b/airflow/docs/Variable.md
index ee72db7..17228e3 100644
--- a/airflow/docs/Variable.md
+++ b/airflow/docs/Variable.md
@@ -24,6 +24,7 @@
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Key** | Pointer to **string** |  | [optional] 
+**Description** | Pointer to **NullableString** | The description of the variable.  *New in version 2.4.0*  | [optional] 
 **Value** | Pointer to **string** |  | [optional] 
 
 ## Methods
@@ -70,6 +71,41 @@
 
 HasKey returns a boolean if a field has been set.
 
+### GetDescription
+
+`func (o *Variable) GetDescription() string`
+
+GetDescription returns the Description field if non-nil, zero value otherwise.
+
+### GetDescriptionOk
+
+`func (o *Variable) GetDescriptionOk() (*string, bool)`
+
+GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDescription
+
+`func (o *Variable) SetDescription(v string)`
+
+SetDescription sets Description field to given value.
+
+### HasDescription
+
+`func (o *Variable) HasDescription() bool`
+
+HasDescription returns a boolean if a field has been set.
+
+### SetDescriptionNil
+
+`func (o *Variable) SetDescriptionNil(b bool)`
+
+ SetDescriptionNil sets the value for Description to be an explicit nil
+
+### UnsetDescription
+`func (o *Variable) UnsetDescription()`
+
+UnsetDescription ensures that no value is present for Description, not even an explicit nil
 ### GetValue
 
 `func (o *Variable) GetValue() string`
diff --git a/airflow/docs/VariableApi.md b/airflow/docs/VariableApi.md
index c47dd99..50611cd 100644
--- a/airflow/docs/VariableApi.md
+++ b/airflow/docs/VariableApi.md
@@ -85,7 +85,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -155,7 +155,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -225,7 +225,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -299,7 +299,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -363,7 +363,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/docs/VariableCollectionItem.md b/airflow/docs/VariableCollectionItem.md
index 97df180..287a154 100644
--- a/airflow/docs/VariableCollectionItem.md
+++ b/airflow/docs/VariableCollectionItem.md
@@ -24,6 +24,7 @@
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Key** | Pointer to **string** |  | [optional] 
+**Description** | Pointer to **NullableString** | The description of the variable.  *New in version 2.4.0*  | [optional] 
 
 ## Methods
 
@@ -69,6 +70,41 @@
 
 HasKey returns a boolean if a field has been set.
 
+### GetDescription
+
+`func (o *VariableCollectionItem) GetDescription() string`
+
+GetDescription returns the Description field if non-nil, zero value otherwise.
+
+### GetDescriptionOk
+
+`func (o *VariableCollectionItem) GetDescriptionOk() (*string, bool)`
+
+GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDescription
+
+`func (o *VariableCollectionItem) SetDescription(v string)`
+
+SetDescription sets Description field to given value.
+
+### HasDescription
+
+`func (o *VariableCollectionItem) HasDescription() bool`
+
+HasDescription returns a boolean if a field has been set.
+
+### SetDescriptionNil
+
+`func (o *VariableCollectionItem) SetDescriptionNil(b bool)`
+
+ SetDescriptionNil sets the value for Description to be an explicit nil
+
+### UnsetDescription
+`func (o *VariableCollectionItem) UnsetDescription()`
+
+UnsetDescription ensures that no value is present for Description, not even an explicit nil
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
diff --git a/airflow/docs/XComApi.md b/airflow/docs/XComApi.md
index ba827ff..b977c4c 100644
--- a/airflow/docs/XComApi.md
+++ b/airflow/docs/XComApi.md
@@ -96,7 +96,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
@@ -110,7 +110,7 @@
 
 ## GetXcomEntry
 
-> XCom GetXcomEntry(ctx, dagId, dagRunId, taskId, xcomKey).Execute()
+> XCom GetXcomEntry(ctx, dagId, dagRunId, taskId, xcomKey).Deserialize(deserialize).Execute()
 
 Get an XCom entry
 
@@ -131,10 +131,11 @@
     dagRunId := "dagRunId_example" // string | The DAG run ID.
     taskId := "taskId_example" // string | The task ID.
     xcomKey := "xcomKey_example" // string | The XCom key.
+    deserialize := true // bool | Whether to deserialize an XCom value when using a custom XCom backend.  The XCom API endpoint calls `orm_deserialize_value` by default since an XCom may contain value that is potentially expensive to deserialize in the web server. Setting this to true overrides the consideration, and calls `deserialize_value` instead.  This parameter is not meaningful when using the default XCom backend.  *New in version 2.4.0*  (optional) (default to false)
 
     configuration := openapiclient.NewConfiguration()
     api_client := openapiclient.NewAPIClient(configuration)
-    resp, r, err := api_client.XComApi.GetXcomEntry(context.Background(), dagId, dagRunId, taskId, xcomKey).Execute()
+    resp, r, err := api_client.XComApi.GetXcomEntry(context.Background(), dagId, dagRunId, taskId, xcomKey).Deserialize(deserialize).Execute()
     if err != nil {
         fmt.Fprintf(os.Stderr, "Error when calling `XComApi.GetXcomEntry``: %v\n", err)
         fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
@@ -166,6 +167,7 @@
 
 
 
+ **deserialize** | **bool** | Whether to deserialize an XCom value when using a custom XCom backend.  The XCom API endpoint calls &#x60;orm_deserialize_value&#x60; by default since an XCom may contain value that is potentially expensive to deserialize in the web server. Setting this to true overrides the consideration, and calls &#x60;deserialize_value&#x60; instead.  This parameter is not meaningful when using the default XCom backend.  *New in version 2.4.0*  | [default to false]
 
 ### Return type
 
@@ -173,7 +175,7 @@
 
 ### Authorization
 
-No authorization required
+[Basic](../README.md#Basic), [Kerberos](../README.md#Kerberos)
 
 ### HTTP request headers
 
diff --git a/airflow/model_action.go b/airflow/model_action.go
index d1ced3f..e011476 100644
--- a/airflow/model_action.go
+++ b/airflow/model_action.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_action_collection.go b/airflow/model_action_collection.go
index d8ba7c7..91978ad 100644
--- a/airflow/model_action_collection.go
+++ b/airflow/model_action_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_action_collection_all_of.go b/airflow/model_action_collection_all_of.go
index 71ede58..166c5d8 100644
--- a/airflow/model_action_collection_all_of.go
+++ b/airflow/model_action_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_action_resource.go b/airflow/model_action_resource.go
index 671eec3..a0a209c 100644
--- a/airflow/model_action_resource.go
+++ b/airflow/model_action_resource.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_basic_dag_run.go b/airflow/model_basic_dag_run.go
new file mode 100644
index 0000000..a46ec98
--- /dev/null
+++ b/airflow/model_basic_dag_run.go
@@ -0,0 +1,429 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+	"time"
+)
+
+// BasicDAGRun struct for BasicDAGRun
+type BasicDAGRun struct {
+	// Run ID. 
+	RunId *string `json:"run_id,omitempty"`
+	DagId *string `json:"dag_id,omitempty"`
+	// The logical date (previously called execution date). This is the time or interval covered by this DAG run, according to the DAG definition.  The value of this field can be set only when creating the object. If you try to modify the field of an existing object, the request fails with an BAD_REQUEST error.  This together with DAG_ID are a unique key.  *New in version 2.2.0* 
+	LogicalDate *time.Time `json:"logical_date,omitempty"`
+	// The start time. The time when DAG run was actually created.  *Changed in version 2.1.3*&#58; Field becomes nullable. 
+	StartDate NullableTime `json:"start_date,omitempty"`
+	EndDate NullableTime `json:"end_date,omitempty"`
+	DataIntervalStart NullableTime `json:"data_interval_start,omitempty"`
+	DataIntervalEnd NullableTime `json:"data_interval_end,omitempty"`
+	State *DagState `json:"state,omitempty"`
+}
+
+// NewBasicDAGRun instantiates a new BasicDAGRun object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewBasicDAGRun() *BasicDAGRun {
+	this := BasicDAGRun{}
+	return &this
+}
+
+// NewBasicDAGRunWithDefaults instantiates a new BasicDAGRun object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewBasicDAGRunWithDefaults() *BasicDAGRun {
+	this := BasicDAGRun{}
+	return &this
+}
+
+// GetRunId returns the RunId field value if set, zero value otherwise.
+func (o *BasicDAGRun) GetRunId() string {
+	if o == nil || o.RunId == nil {
+		var ret string
+		return ret
+	}
+	return *o.RunId
+}
+
+// GetRunIdOk returns a tuple with the RunId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *BasicDAGRun) GetRunIdOk() (*string, bool) {
+	if o == nil || o.RunId == nil {
+		return nil, false
+	}
+	return o.RunId, true
+}
+
+// HasRunId returns a boolean if a field has been set.
+func (o *BasicDAGRun) HasRunId() bool {
+	if o != nil && o.RunId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetRunId gets a reference to the given string and assigns it to the RunId field.
+func (o *BasicDAGRun) SetRunId(v string) {
+	o.RunId = &v
+}
+
+// GetDagId returns the DagId field value if set, zero value otherwise.
+func (o *BasicDAGRun) GetDagId() string {
+	if o == nil || o.DagId == nil {
+		var ret string
+		return ret
+	}
+	return *o.DagId
+}
+
+// GetDagIdOk returns a tuple with the DagId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *BasicDAGRun) GetDagIdOk() (*string, bool) {
+	if o == nil || o.DagId == nil {
+		return nil, false
+	}
+	return o.DagId, true
+}
+
+// HasDagId returns a boolean if a field has been set.
+func (o *BasicDAGRun) HasDagId() bool {
+	if o != nil && o.DagId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDagId gets a reference to the given string and assigns it to the DagId field.
+func (o *BasicDAGRun) SetDagId(v string) {
+	o.DagId = &v
+}
+
+// GetLogicalDate returns the LogicalDate field value if set, zero value otherwise.
+func (o *BasicDAGRun) GetLogicalDate() time.Time {
+	if o == nil || o.LogicalDate == nil {
+		var ret time.Time
+		return ret
+	}
+	return *o.LogicalDate
+}
+
+// GetLogicalDateOk returns a tuple with the LogicalDate field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *BasicDAGRun) GetLogicalDateOk() (*time.Time, bool) {
+	if o == nil || o.LogicalDate == nil {
+		return nil, false
+	}
+	return o.LogicalDate, true
+}
+
+// HasLogicalDate returns a boolean if a field has been set.
+func (o *BasicDAGRun) HasLogicalDate() bool {
+	if o != nil && o.LogicalDate != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLogicalDate gets a reference to the given time.Time and assigns it to the LogicalDate field.
+func (o *BasicDAGRun) SetLogicalDate(v time.Time) {
+	o.LogicalDate = &v
+}
+
+// GetStartDate returns the StartDate field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *BasicDAGRun) GetStartDate() time.Time {
+	if o == nil || o.StartDate.Get() == nil {
+		var ret time.Time
+		return ret
+	}
+	return *o.StartDate.Get()
+}
+
+// GetStartDateOk returns a tuple with the StartDate field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *BasicDAGRun) GetStartDateOk() (*time.Time, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.StartDate.Get(), o.StartDate.IsSet()
+}
+
+// HasStartDate returns a boolean if a field has been set.
+func (o *BasicDAGRun) HasStartDate() bool {
+	if o != nil && o.StartDate.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetStartDate gets a reference to the given NullableTime and assigns it to the StartDate field.
+func (o *BasicDAGRun) SetStartDate(v time.Time) {
+	o.StartDate.Set(&v)
+}
+// SetStartDateNil sets the value for StartDate to be an explicit nil
+func (o *BasicDAGRun) SetStartDateNil() {
+	o.StartDate.Set(nil)
+}
+
+// UnsetStartDate ensures that no value is present for StartDate, not even an explicit nil
+func (o *BasicDAGRun) UnsetStartDate() {
+	o.StartDate.Unset()
+}
+
+// GetEndDate returns the EndDate field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *BasicDAGRun) GetEndDate() time.Time {
+	if o == nil || o.EndDate.Get() == nil {
+		var ret time.Time
+		return ret
+	}
+	return *o.EndDate.Get()
+}
+
+// GetEndDateOk returns a tuple with the EndDate field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *BasicDAGRun) GetEndDateOk() (*time.Time, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.EndDate.Get(), o.EndDate.IsSet()
+}
+
+// HasEndDate returns a boolean if a field has been set.
+func (o *BasicDAGRun) HasEndDate() bool {
+	if o != nil && o.EndDate.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetEndDate gets a reference to the given NullableTime and assigns it to the EndDate field.
+func (o *BasicDAGRun) SetEndDate(v time.Time) {
+	o.EndDate.Set(&v)
+}
+// SetEndDateNil sets the value for EndDate to be an explicit nil
+func (o *BasicDAGRun) SetEndDateNil() {
+	o.EndDate.Set(nil)
+}
+
+// UnsetEndDate ensures that no value is present for EndDate, not even an explicit nil
+func (o *BasicDAGRun) UnsetEndDate() {
+	o.EndDate.Unset()
+}
+
+// GetDataIntervalStart returns the DataIntervalStart field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *BasicDAGRun) GetDataIntervalStart() time.Time {
+	if o == nil || o.DataIntervalStart.Get() == nil {
+		var ret time.Time
+		return ret
+	}
+	return *o.DataIntervalStart.Get()
+}
+
+// GetDataIntervalStartOk returns a tuple with the DataIntervalStart field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *BasicDAGRun) GetDataIntervalStartOk() (*time.Time, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.DataIntervalStart.Get(), o.DataIntervalStart.IsSet()
+}
+
+// HasDataIntervalStart returns a boolean if a field has been set.
+func (o *BasicDAGRun) HasDataIntervalStart() bool {
+	if o != nil && o.DataIntervalStart.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDataIntervalStart gets a reference to the given NullableTime and assigns it to the DataIntervalStart field.
+func (o *BasicDAGRun) SetDataIntervalStart(v time.Time) {
+	o.DataIntervalStart.Set(&v)
+}
+// SetDataIntervalStartNil sets the value for DataIntervalStart to be an explicit nil
+func (o *BasicDAGRun) SetDataIntervalStartNil() {
+	o.DataIntervalStart.Set(nil)
+}
+
+// UnsetDataIntervalStart ensures that no value is present for DataIntervalStart, not even an explicit nil
+func (o *BasicDAGRun) UnsetDataIntervalStart() {
+	o.DataIntervalStart.Unset()
+}
+
+// GetDataIntervalEnd returns the DataIntervalEnd field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *BasicDAGRun) GetDataIntervalEnd() time.Time {
+	if o == nil || o.DataIntervalEnd.Get() == nil {
+		var ret time.Time
+		return ret
+	}
+	return *o.DataIntervalEnd.Get()
+}
+
+// GetDataIntervalEndOk returns a tuple with the DataIntervalEnd field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *BasicDAGRun) GetDataIntervalEndOk() (*time.Time, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.DataIntervalEnd.Get(), o.DataIntervalEnd.IsSet()
+}
+
+// HasDataIntervalEnd returns a boolean if a field has been set.
+func (o *BasicDAGRun) HasDataIntervalEnd() bool {
+	if o != nil && o.DataIntervalEnd.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDataIntervalEnd gets a reference to the given NullableTime and assigns it to the DataIntervalEnd field.
+func (o *BasicDAGRun) SetDataIntervalEnd(v time.Time) {
+	o.DataIntervalEnd.Set(&v)
+}
+// SetDataIntervalEndNil sets the value for DataIntervalEnd to be an explicit nil
+func (o *BasicDAGRun) SetDataIntervalEndNil() {
+	o.DataIntervalEnd.Set(nil)
+}
+
+// UnsetDataIntervalEnd ensures that no value is present for DataIntervalEnd, not even an explicit nil
+func (o *BasicDAGRun) UnsetDataIntervalEnd() {
+	o.DataIntervalEnd.Unset()
+}
+
+// GetState returns the State field value if set, zero value otherwise.
+func (o *BasicDAGRun) GetState() DagState {
+	if o == nil || o.State == nil {
+		var ret DagState
+		return ret
+	}
+	return *o.State
+}
+
+// GetStateOk returns a tuple with the State field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *BasicDAGRun) GetStateOk() (*DagState, bool) {
+	if o == nil || o.State == nil {
+		return nil, false
+	}
+	return o.State, true
+}
+
+// HasState returns a boolean if a field has been set.
+func (o *BasicDAGRun) HasState() bool {
+	if o != nil && o.State != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetState gets a reference to the given DagState and assigns it to the State field.
+func (o *BasicDAGRun) SetState(v DagState) {
+	o.State = &v
+}
+
+func (o BasicDAGRun) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.RunId != nil {
+		toSerialize["run_id"] = o.RunId
+	}
+	if o.DagId != nil {
+		toSerialize["dag_id"] = o.DagId
+	}
+	if o.LogicalDate != nil {
+		toSerialize["logical_date"] = o.LogicalDate
+	}
+	if o.StartDate.IsSet() {
+		toSerialize["start_date"] = o.StartDate.Get()
+	}
+	if o.EndDate.IsSet() {
+		toSerialize["end_date"] = o.EndDate.Get()
+	}
+	if o.DataIntervalStart.IsSet() {
+		toSerialize["data_interval_start"] = o.DataIntervalStart.Get()
+	}
+	if o.DataIntervalEnd.IsSet() {
+		toSerialize["data_interval_end"] = o.DataIntervalEnd.Get()
+	}
+	if o.State != nil {
+		toSerialize["state"] = o.State
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableBasicDAGRun struct {
+	value *BasicDAGRun
+	isSet bool
+}
+
+func (v NullableBasicDAGRun) Get() *BasicDAGRun {
+	return v.value
+}
+
+func (v *NullableBasicDAGRun) Set(val *BasicDAGRun) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableBasicDAGRun) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableBasicDAGRun) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableBasicDAGRun(val *BasicDAGRun) *NullableBasicDAGRun {
+	return &NullableBasicDAGRun{value: val, isSet: true}
+}
+
+func (v NullableBasicDAGRun) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableBasicDAGRun) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_class_reference.go b/airflow/model_class_reference.go
index d1c856c..0a94e78 100644
--- a/airflow/model_class_reference.go
+++ b/airflow/model_class_reference.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_clear_dag_run.go b/airflow/model_clear_dag_run.go
new file mode 100644
index 0000000..d16231f
--- /dev/null
+++ b/airflow/model_clear_dag_run.go
@@ -0,0 +1,138 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// ClearDagRun struct for ClearDagRun
+type ClearDagRun struct {
+	// 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. 
+	DryRun *bool `json:"dry_run,omitempty"`
+}
+
+// NewClearDagRun instantiates a new ClearDagRun object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewClearDagRun() *ClearDagRun {
+	this := ClearDagRun{}
+	var dryRun bool = true
+	this.DryRun = &dryRun
+	return &this
+}
+
+// NewClearDagRunWithDefaults instantiates a new ClearDagRun object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewClearDagRunWithDefaults() *ClearDagRun {
+	this := ClearDagRun{}
+	var dryRun bool = true
+	this.DryRun = &dryRun
+	return &this
+}
+
+// GetDryRun returns the DryRun field value if set, zero value otherwise.
+func (o *ClearDagRun) GetDryRun() bool {
+	if o == nil || o.DryRun == nil {
+		var ret bool
+		return ret
+	}
+	return *o.DryRun
+}
+
+// GetDryRunOk returns a tuple with the DryRun field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearDagRun) GetDryRunOk() (*bool, bool) {
+	if o == nil || o.DryRun == nil {
+		return nil, false
+	}
+	return o.DryRun, true
+}
+
+// HasDryRun returns a boolean if a field has been set.
+func (o *ClearDagRun) HasDryRun() bool {
+	if o != nil && o.DryRun != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDryRun gets a reference to the given bool and assigns it to the DryRun field.
+func (o *ClearDagRun) SetDryRun(v bool) {
+	o.DryRun = &v
+}
+
+func (o ClearDagRun) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DryRun != nil {
+		toSerialize["dry_run"] = o.DryRun
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableClearDagRun struct {
+	value *ClearDagRun
+	isSet bool
+}
+
+func (v NullableClearDagRun) Get() *ClearDagRun {
+	return v.value
+}
+
+func (v *NullableClearDagRun) Set(val *ClearDagRun) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableClearDagRun) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableClearDagRun) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableClearDagRun(val *ClearDagRun) *NullableClearDagRun {
+	return &NullableClearDagRun{value: val, isSet: true}
+}
+
+func (v NullableClearDagRun) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableClearDagRun) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_clear_task_instances.go b/airflow/model_clear_task_instances.go
new file mode 100644
index 0000000..279aa8d
--- /dev/null
+++ b/airflow/model_clear_task_instances.go
@@ -0,0 +1,653 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// ClearTaskInstances struct for ClearTaskInstances
+type ClearTaskInstances struct {
+	// 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. 
+	DryRun *bool `json:"dry_run,omitempty"`
+	// A list of task ids to clear.  *New in version 2.1.0* 
+	TaskIds *[]string `json:"task_ids,omitempty"`
+	// The minimum execution date to clear.
+	StartDate *string `json:"start_date,omitempty"`
+	// The maximum execution date to clear.
+	EndDate *string `json:"end_date,omitempty"`
+	// Only clear failed tasks.
+	OnlyFailed *bool `json:"only_failed,omitempty"`
+	// Only clear running tasks.
+	OnlyRunning *bool `json:"only_running,omitempty"`
+	// Clear tasks in subdags and clear external tasks indicated by ExternalTaskMarker.
+	IncludeSubdags *bool `json:"include_subdags,omitempty"`
+	// Clear tasks in the parent dag of the subdag.
+	IncludeParentdag *bool `json:"include_parentdag,omitempty"`
+	// Set state of DAG runs to RUNNING.
+	ResetDagRuns *bool `json:"reset_dag_runs,omitempty"`
+	// The DagRun ID for this task instance
+	DagRunId NullableString `json:"dag_run_id,omitempty"`
+	// If set to true, upstream tasks are also affected.
+	IncludeUpstream *bool `json:"include_upstream,omitempty"`
+	// If set to true, downstream tasks are also affected.
+	IncludeDownstream *bool `json:"include_downstream,omitempty"`
+	// If set to True, also tasks from future DAG Runs are affected.
+	IncludeFuture *bool `json:"include_future,omitempty"`
+	// If set to True, also tasks from past DAG Runs are affected.
+	IncludePast *bool `json:"include_past,omitempty"`
+}
+
+// NewClearTaskInstances instantiates a new ClearTaskInstances object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewClearTaskInstances() *ClearTaskInstances {
+	this := ClearTaskInstances{}
+	var dryRun bool = true
+	this.DryRun = &dryRun
+	var onlyFailed bool = true
+	this.OnlyFailed = &onlyFailed
+	var onlyRunning bool = false
+	this.OnlyRunning = &onlyRunning
+	var includeUpstream bool = false
+	this.IncludeUpstream = &includeUpstream
+	var includeDownstream bool = false
+	this.IncludeDownstream = &includeDownstream
+	var includeFuture bool = false
+	this.IncludeFuture = &includeFuture
+	var includePast bool = false
+	this.IncludePast = &includePast
+	return &this
+}
+
+// NewClearTaskInstancesWithDefaults instantiates a new ClearTaskInstances object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewClearTaskInstancesWithDefaults() *ClearTaskInstances {
+	this := ClearTaskInstances{}
+	var dryRun bool = true
+	this.DryRun = &dryRun
+	var onlyFailed bool = true
+	this.OnlyFailed = &onlyFailed
+	var onlyRunning bool = false
+	this.OnlyRunning = &onlyRunning
+	var includeUpstream bool = false
+	this.IncludeUpstream = &includeUpstream
+	var includeDownstream bool = false
+	this.IncludeDownstream = &includeDownstream
+	var includeFuture bool = false
+	this.IncludeFuture = &includeFuture
+	var includePast bool = false
+	this.IncludePast = &includePast
+	return &this
+}
+
+// GetDryRun returns the DryRun field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetDryRun() bool {
+	if o == nil || o.DryRun == nil {
+		var ret bool
+		return ret
+	}
+	return *o.DryRun
+}
+
+// GetDryRunOk returns a tuple with the DryRun field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetDryRunOk() (*bool, bool) {
+	if o == nil || o.DryRun == nil {
+		return nil, false
+	}
+	return o.DryRun, true
+}
+
+// HasDryRun returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasDryRun() bool {
+	if o != nil && o.DryRun != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDryRun gets a reference to the given bool and assigns it to the DryRun field.
+func (o *ClearTaskInstances) SetDryRun(v bool) {
+	o.DryRun = &v
+}
+
+// GetTaskIds returns the TaskIds field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetTaskIds() []string {
+	if o == nil || o.TaskIds == nil {
+		var ret []string
+		return ret
+	}
+	return *o.TaskIds
+}
+
+// GetTaskIdsOk returns a tuple with the TaskIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetTaskIdsOk() (*[]string, bool) {
+	if o == nil || o.TaskIds == nil {
+		return nil, false
+	}
+	return o.TaskIds, true
+}
+
+// HasTaskIds returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasTaskIds() bool {
+	if o != nil && o.TaskIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTaskIds gets a reference to the given []string and assigns it to the TaskIds field.
+func (o *ClearTaskInstances) SetTaskIds(v []string) {
+	o.TaskIds = &v
+}
+
+// GetStartDate returns the StartDate field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetStartDate() string {
+	if o == nil || o.StartDate == nil {
+		var ret string
+		return ret
+	}
+	return *o.StartDate
+}
+
+// GetStartDateOk returns a tuple with the StartDate field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetStartDateOk() (*string, bool) {
+	if o == nil || o.StartDate == nil {
+		return nil, false
+	}
+	return o.StartDate, true
+}
+
+// HasStartDate returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasStartDate() bool {
+	if o != nil && o.StartDate != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetStartDate gets a reference to the given string and assigns it to the StartDate field.
+func (o *ClearTaskInstances) SetStartDate(v string) {
+	o.StartDate = &v
+}
+
+// GetEndDate returns the EndDate field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetEndDate() string {
+	if o == nil || o.EndDate == nil {
+		var ret string
+		return ret
+	}
+	return *o.EndDate
+}
+
+// GetEndDateOk returns a tuple with the EndDate field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetEndDateOk() (*string, bool) {
+	if o == nil || o.EndDate == nil {
+		return nil, false
+	}
+	return o.EndDate, true
+}
+
+// HasEndDate returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasEndDate() bool {
+	if o != nil && o.EndDate != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEndDate gets a reference to the given string and assigns it to the EndDate field.
+func (o *ClearTaskInstances) SetEndDate(v string) {
+	o.EndDate = &v
+}
+
+// GetOnlyFailed returns the OnlyFailed field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetOnlyFailed() bool {
+	if o == nil || o.OnlyFailed == nil {
+		var ret bool
+		return ret
+	}
+	return *o.OnlyFailed
+}
+
+// GetOnlyFailedOk returns a tuple with the OnlyFailed field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetOnlyFailedOk() (*bool, bool) {
+	if o == nil || o.OnlyFailed == nil {
+		return nil, false
+	}
+	return o.OnlyFailed, true
+}
+
+// HasOnlyFailed returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasOnlyFailed() bool {
+	if o != nil && o.OnlyFailed != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetOnlyFailed gets a reference to the given bool and assigns it to the OnlyFailed field.
+func (o *ClearTaskInstances) SetOnlyFailed(v bool) {
+	o.OnlyFailed = &v
+}
+
+// GetOnlyRunning returns the OnlyRunning field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetOnlyRunning() bool {
+	if o == nil || o.OnlyRunning == nil {
+		var ret bool
+		return ret
+	}
+	return *o.OnlyRunning
+}
+
+// GetOnlyRunningOk returns a tuple with the OnlyRunning field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetOnlyRunningOk() (*bool, bool) {
+	if o == nil || o.OnlyRunning == nil {
+		return nil, false
+	}
+	return o.OnlyRunning, true
+}
+
+// HasOnlyRunning returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasOnlyRunning() bool {
+	if o != nil && o.OnlyRunning != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetOnlyRunning gets a reference to the given bool and assigns it to the OnlyRunning field.
+func (o *ClearTaskInstances) SetOnlyRunning(v bool) {
+	o.OnlyRunning = &v
+}
+
+// GetIncludeSubdags returns the IncludeSubdags field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetIncludeSubdags() bool {
+	if o == nil || o.IncludeSubdags == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IncludeSubdags
+}
+
+// GetIncludeSubdagsOk returns a tuple with the IncludeSubdags field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetIncludeSubdagsOk() (*bool, bool) {
+	if o == nil || o.IncludeSubdags == nil {
+		return nil, false
+	}
+	return o.IncludeSubdags, true
+}
+
+// HasIncludeSubdags returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasIncludeSubdags() bool {
+	if o != nil && o.IncludeSubdags != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeSubdags gets a reference to the given bool and assigns it to the IncludeSubdags field.
+func (o *ClearTaskInstances) SetIncludeSubdags(v bool) {
+	o.IncludeSubdags = &v
+}
+
+// GetIncludeParentdag returns the IncludeParentdag field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetIncludeParentdag() bool {
+	if o == nil || o.IncludeParentdag == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IncludeParentdag
+}
+
+// GetIncludeParentdagOk returns a tuple with the IncludeParentdag field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetIncludeParentdagOk() (*bool, bool) {
+	if o == nil || o.IncludeParentdag == nil {
+		return nil, false
+	}
+	return o.IncludeParentdag, true
+}
+
+// HasIncludeParentdag returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasIncludeParentdag() bool {
+	if o != nil && o.IncludeParentdag != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeParentdag gets a reference to the given bool and assigns it to the IncludeParentdag field.
+func (o *ClearTaskInstances) SetIncludeParentdag(v bool) {
+	o.IncludeParentdag = &v
+}
+
+// GetResetDagRuns returns the ResetDagRuns field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetResetDagRuns() bool {
+	if o == nil || o.ResetDagRuns == nil {
+		var ret bool
+		return ret
+	}
+	return *o.ResetDagRuns
+}
+
+// GetResetDagRunsOk returns a tuple with the ResetDagRuns field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetResetDagRunsOk() (*bool, bool) {
+	if o == nil || o.ResetDagRuns == nil {
+		return nil, false
+	}
+	return o.ResetDagRuns, true
+}
+
+// HasResetDagRuns returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasResetDagRuns() bool {
+	if o != nil && o.ResetDagRuns != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetResetDagRuns gets a reference to the given bool and assigns it to the ResetDagRuns field.
+func (o *ClearTaskInstances) SetResetDagRuns(v bool) {
+	o.ResetDagRuns = &v
+}
+
+// GetDagRunId returns the DagRunId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *ClearTaskInstances) GetDagRunId() string {
+	if o == nil || o.DagRunId.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.DagRunId.Get()
+}
+
+// GetDagRunIdOk returns a tuple with the DagRunId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *ClearTaskInstances) GetDagRunIdOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.DagRunId.Get(), o.DagRunId.IsSet()
+}
+
+// HasDagRunId returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasDagRunId() bool {
+	if o != nil && o.DagRunId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDagRunId gets a reference to the given NullableString and assigns it to the DagRunId field.
+func (o *ClearTaskInstances) SetDagRunId(v string) {
+	o.DagRunId.Set(&v)
+}
+// SetDagRunIdNil sets the value for DagRunId to be an explicit nil
+func (o *ClearTaskInstances) SetDagRunIdNil() {
+	o.DagRunId.Set(nil)
+}
+
+// UnsetDagRunId ensures that no value is present for DagRunId, not even an explicit nil
+func (o *ClearTaskInstances) UnsetDagRunId() {
+	o.DagRunId.Unset()
+}
+
+// GetIncludeUpstream returns the IncludeUpstream field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetIncludeUpstream() bool {
+	if o == nil || o.IncludeUpstream == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IncludeUpstream
+}
+
+// GetIncludeUpstreamOk returns a tuple with the IncludeUpstream field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetIncludeUpstreamOk() (*bool, bool) {
+	if o == nil || o.IncludeUpstream == nil {
+		return nil, false
+	}
+	return o.IncludeUpstream, true
+}
+
+// HasIncludeUpstream returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasIncludeUpstream() bool {
+	if o != nil && o.IncludeUpstream != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeUpstream gets a reference to the given bool and assigns it to the IncludeUpstream field.
+func (o *ClearTaskInstances) SetIncludeUpstream(v bool) {
+	o.IncludeUpstream = &v
+}
+
+// GetIncludeDownstream returns the IncludeDownstream field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetIncludeDownstream() bool {
+	if o == nil || o.IncludeDownstream == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IncludeDownstream
+}
+
+// GetIncludeDownstreamOk returns a tuple with the IncludeDownstream field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetIncludeDownstreamOk() (*bool, bool) {
+	if o == nil || o.IncludeDownstream == nil {
+		return nil, false
+	}
+	return o.IncludeDownstream, true
+}
+
+// HasIncludeDownstream returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasIncludeDownstream() bool {
+	if o != nil && o.IncludeDownstream != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeDownstream gets a reference to the given bool and assigns it to the IncludeDownstream field.
+func (o *ClearTaskInstances) SetIncludeDownstream(v bool) {
+	o.IncludeDownstream = &v
+}
+
+// GetIncludeFuture returns the IncludeFuture field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetIncludeFuture() bool {
+	if o == nil || o.IncludeFuture == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IncludeFuture
+}
+
+// GetIncludeFutureOk returns a tuple with the IncludeFuture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetIncludeFutureOk() (*bool, bool) {
+	if o == nil || o.IncludeFuture == nil {
+		return nil, false
+	}
+	return o.IncludeFuture, true
+}
+
+// HasIncludeFuture returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasIncludeFuture() bool {
+	if o != nil && o.IncludeFuture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeFuture gets a reference to the given bool and assigns it to the IncludeFuture field.
+func (o *ClearTaskInstances) SetIncludeFuture(v bool) {
+	o.IncludeFuture = &v
+}
+
+// GetIncludePast returns the IncludePast field value if set, zero value otherwise.
+func (o *ClearTaskInstances) GetIncludePast() bool {
+	if o == nil || o.IncludePast == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IncludePast
+}
+
+// GetIncludePastOk returns a tuple with the IncludePast field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ClearTaskInstances) GetIncludePastOk() (*bool, bool) {
+	if o == nil || o.IncludePast == nil {
+		return nil, false
+	}
+	return o.IncludePast, true
+}
+
+// HasIncludePast returns a boolean if a field has been set.
+func (o *ClearTaskInstances) HasIncludePast() bool {
+	if o != nil && o.IncludePast != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludePast gets a reference to the given bool and assigns it to the IncludePast field.
+func (o *ClearTaskInstances) SetIncludePast(v bool) {
+	o.IncludePast = &v
+}
+
+func (o ClearTaskInstances) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DryRun != nil {
+		toSerialize["dry_run"] = o.DryRun
+	}
+	if o.TaskIds != nil {
+		toSerialize["task_ids"] = o.TaskIds
+	}
+	if o.StartDate != nil {
+		toSerialize["start_date"] = o.StartDate
+	}
+	if o.EndDate != nil {
+		toSerialize["end_date"] = o.EndDate
+	}
+	if o.OnlyFailed != nil {
+		toSerialize["only_failed"] = o.OnlyFailed
+	}
+	if o.OnlyRunning != nil {
+		toSerialize["only_running"] = o.OnlyRunning
+	}
+	if o.IncludeSubdags != nil {
+		toSerialize["include_subdags"] = o.IncludeSubdags
+	}
+	if o.IncludeParentdag != nil {
+		toSerialize["include_parentdag"] = o.IncludeParentdag
+	}
+	if o.ResetDagRuns != nil {
+		toSerialize["reset_dag_runs"] = o.ResetDagRuns
+	}
+	if o.DagRunId.IsSet() {
+		toSerialize["dag_run_id"] = o.DagRunId.Get()
+	}
+	if o.IncludeUpstream != nil {
+		toSerialize["include_upstream"] = o.IncludeUpstream
+	}
+	if o.IncludeDownstream != nil {
+		toSerialize["include_downstream"] = o.IncludeDownstream
+	}
+	if o.IncludeFuture != nil {
+		toSerialize["include_future"] = o.IncludeFuture
+	}
+	if o.IncludePast != nil {
+		toSerialize["include_past"] = o.IncludePast
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableClearTaskInstances struct {
+	value *ClearTaskInstances
+	isSet bool
+}
+
+func (v NullableClearTaskInstances) Get() *ClearTaskInstances {
+	return v.value
+}
+
+func (v *NullableClearTaskInstances) Set(val *ClearTaskInstances) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableClearTaskInstances) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableClearTaskInstances) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableClearTaskInstances(val *ClearTaskInstances) *NullableClearTaskInstances {
+	return &NullableClearTaskInstances{value: val, isSet: true}
+}
+
+func (v NullableClearTaskInstances) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableClearTaskInstances) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_collection_info.go b/airflow/model_collection_info.go
index 27dcff0..c822f85 100644
--- a/airflow/model_collection_info.go
+++ b/airflow/model_collection_info.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_config.go b/airflow/model_config.go
index 85862e0..adc31f8 100644
--- a/airflow/model_config.go
+++ b/airflow/model_config.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_config_option.go b/airflow/model_config_option.go
index 233c572..eeb0178 100644
--- a/airflow/model_config_option.go
+++ b/airflow/model_config_option.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_config_section.go b/airflow/model_config_section.go
index 81b84f4..cc4c3ff 100644
--- a/airflow/model_config_section.go
+++ b/airflow/model_config_section.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_connection.go b/airflow/model_connection.go
index b300607..07f0563 100644
--- a/airflow/model_connection.go
+++ b/airflow/model_connection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -38,6 +38,8 @@
 	ConnectionId *string `json:"connection_id,omitempty"`
 	// The connection type.
 	ConnType *string `json:"conn_type,omitempty"`
+	// The description of the connection.
+	Description NullableString `json:"description,omitempty"`
 	// Host of the connection.
 	Host NullableString `json:"host,omitempty"`
 	// Login of the connection.
@@ -133,6 +135,48 @@
 	o.ConnType = &v
 }
 
+// GetDescription returns the Description field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Connection) GetDescription() string {
+	if o == nil || o.Description.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.Description.Get()
+}
+
+// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Connection) GetDescriptionOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.Description.Get(), o.Description.IsSet()
+}
+
+// HasDescription returns a boolean if a field has been set.
+func (o *Connection) HasDescription() bool {
+	if o != nil && o.Description.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDescription gets a reference to the given NullableString and assigns it to the Description field.
+func (o *Connection) SetDescription(v string) {
+	o.Description.Set(&v)
+}
+// SetDescriptionNil sets the value for Description to be an explicit nil
+func (o *Connection) SetDescriptionNil() {
+	o.Description.Set(nil)
+}
+
+// UnsetDescription ensures that no value is present for Description, not even an explicit nil
+func (o *Connection) UnsetDescription() {
+	o.Description.Unset()
+}
+
 // GetHost returns the Host field value if set, zero value otherwise (both if not set or set to explicit null).
 func (o *Connection) GetHost() string {
 	if o == nil || o.Host.Get() == nil {
@@ -383,6 +427,9 @@
 	if o.ConnType != nil {
 		toSerialize["conn_type"] = o.ConnType
 	}
+	if o.Description.IsSet() {
+		toSerialize["description"] = o.Description.Get()
+	}
 	if o.Host.IsSet() {
 		toSerialize["host"] = o.Host.Get()
 	}
diff --git a/airflow/model_connection_all_of.go b/airflow/model_connection_all_of.go
index 0b9744f..cd3053e 100644
--- a/airflow/model_connection_all_of.go
+++ b/airflow/model_connection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_connection_collection.go b/airflow/model_connection_collection.go
index daefbc6..e7cf6da 100644
--- a/airflow/model_connection_collection.go
+++ b/airflow/model_connection_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_connection_collection_all_of.go b/airflow/model_connection_collection_all_of.go
index 90fecab..e8c12fe 100644
--- a/airflow/model_connection_collection_all_of.go
+++ b/airflow/model_connection_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_connection_collection_item.go b/airflow/model_connection_collection_item.go
index 5cecbec..4f7be22 100644
--- a/airflow/model_connection_collection_item.go
+++ b/airflow/model_connection_collection_item.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -38,6 +38,8 @@
 	ConnectionId *string `json:"connection_id,omitempty"`
 	// The connection type.
 	ConnType *string `json:"conn_type,omitempty"`
+	// The description of the connection.
+	Description NullableString `json:"description,omitempty"`
 	// Host of the connection.
 	Host NullableString `json:"host,omitempty"`
 	// Login of the connection.
@@ -129,6 +131,48 @@
 	o.ConnType = &v
 }
 
+// GetDescription returns the Description field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *ConnectionCollectionItem) GetDescription() string {
+	if o == nil || o.Description.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.Description.Get()
+}
+
+// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *ConnectionCollectionItem) GetDescriptionOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.Description.Get(), o.Description.IsSet()
+}
+
+// HasDescription returns a boolean if a field has been set.
+func (o *ConnectionCollectionItem) HasDescription() bool {
+	if o != nil && o.Description.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDescription gets a reference to the given NullableString and assigns it to the Description field.
+func (o *ConnectionCollectionItem) SetDescription(v string) {
+	o.Description.Set(&v)
+}
+// SetDescriptionNil sets the value for Description to be an explicit nil
+func (o *ConnectionCollectionItem) SetDescriptionNil() {
+	o.Description.Set(nil)
+}
+
+// UnsetDescription ensures that no value is present for Description, not even an explicit nil
+func (o *ConnectionCollectionItem) UnsetDescription() {
+	o.Description.Unset()
+}
+
 // GetHost returns the Host field value if set, zero value otherwise (both if not set or set to explicit null).
 func (o *ConnectionCollectionItem) GetHost() string {
 	if o == nil || o.Host.Get() == nil {
@@ -305,6 +349,9 @@
 	if o.ConnType != nil {
 		toSerialize["conn_type"] = o.ConnType
 	}
+	if o.Description.IsSet() {
+		toSerialize["description"] = o.Description.Get()
+	}
 	if o.Host.IsSet() {
 		toSerialize["host"] = o.Host.Get()
 	}
diff --git a/airflow/model_connection_test_.go b/airflow/model_connection_test_.go
index 1b27ece..2ef8345 100644
--- a/airflow/model_connection_test_.go
+++ b/airflow/model_connection_test_.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_cron_expression.go b/airflow/model_cron_expression.go
index 354db12..17d3e98 100644
--- a/airflow/model_cron_expression.go
+++ b/airflow/model_cron_expression.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_dag.go b/airflow/model_dag.go
index 4abba68..ea830f0 100644
--- a/airflow/model_dag.go
+++ b/airflow/model_dag.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -64,7 +64,7 @@
 	Owners *[]string `json:"owners,omitempty"`
 	// User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents. 
 	Description NullableString `json:"description,omitempty"`
-	ScheduleInterval *ScheduleInterval `json:"schedule_interval,omitempty"`
+	ScheduleInterval NullableScheduleInterval `json:"schedule_interval,omitempty"`
 	// Timetable/Schedule Interval description.  *New in version 2.3.0* 
 	TimetableDescription NullableString `json:"timetable_description,omitempty"`
 	// List of tags.
@@ -684,36 +684,46 @@
 	o.Description.Unset()
 }
 
-// GetScheduleInterval returns the ScheduleInterval field value if set, zero value otherwise.
+// GetScheduleInterval returns the ScheduleInterval field value if set, zero value otherwise (both if not set or set to explicit null).
 func (o *DAG) GetScheduleInterval() ScheduleInterval {
-	if o == nil || o.ScheduleInterval == nil {
+	if o == nil || o.ScheduleInterval.Get() == nil {
 		var ret ScheduleInterval
 		return ret
 	}
-	return *o.ScheduleInterval
+	return *o.ScheduleInterval.Get()
 }
 
 // GetScheduleIntervalOk returns a tuple with the ScheduleInterval field value if set, nil otherwise
 // and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
 func (o *DAG) GetScheduleIntervalOk() (*ScheduleInterval, bool) {
-	if o == nil || o.ScheduleInterval == nil {
+	if o == nil  {
 		return nil, false
 	}
-	return o.ScheduleInterval, true
+	return o.ScheduleInterval.Get(), o.ScheduleInterval.IsSet()
 }
 
 // HasScheduleInterval returns a boolean if a field has been set.
 func (o *DAG) HasScheduleInterval() bool {
-	if o != nil && o.ScheduleInterval != nil {
+	if o != nil && o.ScheduleInterval.IsSet() {
 		return true
 	}
 
 	return false
 }
 
-// SetScheduleInterval gets a reference to the given ScheduleInterval and assigns it to the ScheduleInterval field.
+// SetScheduleInterval gets a reference to the given NullableScheduleInterval and assigns it to the ScheduleInterval field.
 func (o *DAG) SetScheduleInterval(v ScheduleInterval) {
-	o.ScheduleInterval = &v
+	o.ScheduleInterval.Set(&v)
+}
+// SetScheduleIntervalNil sets the value for ScheduleInterval to be an explicit nil
+func (o *DAG) SetScheduleIntervalNil() {
+	o.ScheduleInterval.Set(nil)
+}
+
+// UnsetScheduleInterval ensures that no value is present for ScheduleInterval, not even an explicit nil
+func (o *DAG) UnsetScheduleInterval() {
+	o.ScheduleInterval.Unset()
 }
 
 // GetTimetableDescription returns the TimetableDescription field value if set, zero value otherwise (both if not set or set to explicit null).
@@ -1174,8 +1184,8 @@
 	if o.Description.IsSet() {
 		toSerialize["description"] = o.Description.Get()
 	}
-	if o.ScheduleInterval != nil {
-		toSerialize["schedule_interval"] = o.ScheduleInterval
+	if o.ScheduleInterval.IsSet() {
+		toSerialize["schedule_interval"] = o.ScheduleInterval.Get()
 	}
 	if o.TimetableDescription.IsSet() {
 		toSerialize["timetable_description"] = o.TimetableDescription.Get()
diff --git a/airflow/model_dag_collection.go b/airflow/model_dag_collection.go
index 6a16abb..1633a43 100644
--- a/airflow/model_dag_collection.go
+++ b/airflow/model_dag_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_dag_collection_all_of.go b/airflow/model_dag_collection_all_of.go
index 8f4f357..e078648 100644
--- a/airflow/model_dag_collection_all_of.go
+++ b/airflow/model_dag_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_dag_detail.go b/airflow/model_dag_detail.go
index 8593e9e..3b3dfc0 100644
--- a/airflow/model_dag_detail.go
+++ b/airflow/model_dag_detail.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -63,7 +63,7 @@
 	Owners *[]string `json:"owners,omitempty"`
 	// User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents. 
 	Description NullableString `json:"description,omitempty"`
-	ScheduleInterval *ScheduleInterval `json:"schedule_interval,omitempty"`
+	ScheduleInterval NullableScheduleInterval `json:"schedule_interval,omitempty"`
 	// Timetable/Schedule Interval description.  *New in version 2.3.0* 
 	TimetableDescription NullableString `json:"timetable_description,omitempty"`
 	// List of tags.
@@ -693,36 +693,46 @@
 	o.Description.Unset()
 }
 
-// GetScheduleInterval returns the ScheduleInterval field value if set, zero value otherwise.
+// GetScheduleInterval returns the ScheduleInterval field value if set, zero value otherwise (both if not set or set to explicit null).
 func (o *DAGDetail) GetScheduleInterval() ScheduleInterval {
-	if o == nil || o.ScheduleInterval == nil {
+	if o == nil || o.ScheduleInterval.Get() == nil {
 		var ret ScheduleInterval
 		return ret
 	}
-	return *o.ScheduleInterval
+	return *o.ScheduleInterval.Get()
 }
 
 // GetScheduleIntervalOk returns a tuple with the ScheduleInterval field value if set, nil otherwise
 // and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
 func (o *DAGDetail) GetScheduleIntervalOk() (*ScheduleInterval, bool) {
-	if o == nil || o.ScheduleInterval == nil {
+	if o == nil  {
 		return nil, false
 	}
-	return o.ScheduleInterval, true
+	return o.ScheduleInterval.Get(), o.ScheduleInterval.IsSet()
 }
 
 // HasScheduleInterval returns a boolean if a field has been set.
 func (o *DAGDetail) HasScheduleInterval() bool {
-	if o != nil && o.ScheduleInterval != nil {
+	if o != nil && o.ScheduleInterval.IsSet() {
 		return true
 	}
 
 	return false
 }
 
-// SetScheduleInterval gets a reference to the given ScheduleInterval and assigns it to the ScheduleInterval field.
+// SetScheduleInterval gets a reference to the given NullableScheduleInterval and assigns it to the ScheduleInterval field.
 func (o *DAGDetail) SetScheduleInterval(v ScheduleInterval) {
-	o.ScheduleInterval = &v
+	o.ScheduleInterval.Set(&v)
+}
+// SetScheduleIntervalNil sets the value for ScheduleInterval to be an explicit nil
+func (o *DAGDetail) SetScheduleIntervalNil() {
+	o.ScheduleInterval.Set(nil)
+}
+
+// UnsetScheduleInterval ensures that no value is present for ScheduleInterval, not even an explicit nil
+func (o *DAGDetail) UnsetScheduleInterval() {
+	o.ScheduleInterval.Unset()
 }
 
 // GetTimetableDescription returns the TimetableDescription field value if set, zero value otherwise (both if not set or set to explicit null).
@@ -1660,8 +1670,8 @@
 	if o.Description.IsSet() {
 		toSerialize["description"] = o.Description.Get()
 	}
-	if o.ScheduleInterval != nil {
-		toSerialize["schedule_interval"] = o.ScheduleInterval
+	if o.ScheduleInterval.IsSet() {
+		toSerialize["schedule_interval"] = o.ScheduleInterval.Get()
 	}
 	if o.TimetableDescription.IsSet() {
 		toSerialize["timetable_description"] = o.TimetableDescription.Get()
diff --git a/airflow/model_dag_detail_all_of.go b/airflow/model_dag_detail_all_of.go
index 64f4e44..96b9cd7 100644
--- a/airflow/model_dag_detail_all_of.go
+++ b/airflow/model_dag_detail_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_dag_run.go b/airflow/model_dag_run.go
index 7b6518c..03af207 100644
--- a/airflow/model_dag_run.go
+++ b/airflow/model_dag_run.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -54,6 +54,8 @@
 	ExternalTrigger *bool `json:"external_trigger,omitempty"`
 	// 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. 
 	Conf *map[string]interface{} `json:"conf,omitempty"`
+	// Contains manually entered notes by the user about the DagRun.  *New in version 2.5.0* 
+	Note NullableString `json:"note,omitempty"`
 }
 
 // NewDAGRun instantiates a new DAGRun object
@@ -572,6 +574,48 @@
 	o.Conf = &v
 }
 
+// GetNote returns the Note field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *DAGRun) GetNote() string {
+	if o == nil || o.Note.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.Note.Get()
+}
+
+// GetNoteOk returns a tuple with the Note field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *DAGRun) GetNoteOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.Note.Get(), o.Note.IsSet()
+}
+
+// HasNote returns a boolean if a field has been set.
+func (o *DAGRun) HasNote() bool {
+	if o != nil && o.Note.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetNote gets a reference to the given NullableString and assigns it to the Note field.
+func (o *DAGRun) SetNote(v string) {
+	o.Note.Set(&v)
+}
+// SetNoteNil sets the value for Note to be an explicit nil
+func (o *DAGRun) SetNoteNil() {
+	o.Note.Set(nil)
+}
+
+// UnsetNote ensures that no value is present for Note, not even an explicit nil
+func (o *DAGRun) UnsetNote() {
+	o.Note.Unset()
+}
+
 func (o DAGRun) MarshalJSON() ([]byte, error) {
 	toSerialize := map[string]interface{}{}
 	if o.DagRunId.IsSet() {
@@ -613,6 +657,9 @@
 	if o.Conf != nil {
 		toSerialize["conf"] = o.Conf
 	}
+	if o.Note.IsSet() {
+		toSerialize["note"] = o.Note.Get()
+	}
 	return json.Marshal(toSerialize)
 }
 
diff --git a/airflow/model_dag_run_collection.go b/airflow/model_dag_run_collection.go
index 618197d..2315755 100644
--- a/airflow/model_dag_run_collection.go
+++ b/airflow/model_dag_run_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_dag_run_collection_all_of.go b/airflow/model_dag_run_collection_all_of.go
index bde5b3b..2bde92e 100644
--- a/airflow/model_dag_run_collection_all_of.go
+++ b/airflow/model_dag_run_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_dag_schedule_dataset_reference.go b/airflow/model_dag_schedule_dataset_reference.go
new file mode 100644
index 0000000..55931eb
--- /dev/null
+++ b/airflow/model_dag_schedule_dataset_reference.go
@@ -0,0 +1,218 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DagScheduleDatasetReference A datasets reference to a downstream DAG.  *New in version 2.4.0* 
+type DagScheduleDatasetReference struct {
+	// The DAG ID that depends on the dataset.
+	DagId NullableString `json:"dag_id,omitempty"`
+	// The dataset reference creation time
+	CreatedAt *string `json:"created_at,omitempty"`
+	// The dataset reference update time
+	UpdatedAt *string `json:"updated_at,omitempty"`
+}
+
+// NewDagScheduleDatasetReference instantiates a new DagScheduleDatasetReference object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDagScheduleDatasetReference() *DagScheduleDatasetReference {
+	this := DagScheduleDatasetReference{}
+	return &this
+}
+
+// NewDagScheduleDatasetReferenceWithDefaults instantiates a new DagScheduleDatasetReference object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDagScheduleDatasetReferenceWithDefaults() *DagScheduleDatasetReference {
+	this := DagScheduleDatasetReference{}
+	return &this
+}
+
+// GetDagId returns the DagId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *DagScheduleDatasetReference) GetDagId() string {
+	if o == nil || o.DagId.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.DagId.Get()
+}
+
+// GetDagIdOk returns a tuple with the DagId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *DagScheduleDatasetReference) GetDagIdOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.DagId.Get(), o.DagId.IsSet()
+}
+
+// HasDagId returns a boolean if a field has been set.
+func (o *DagScheduleDatasetReference) HasDagId() bool {
+	if o != nil && o.DagId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDagId gets a reference to the given NullableString and assigns it to the DagId field.
+func (o *DagScheduleDatasetReference) SetDagId(v string) {
+	o.DagId.Set(&v)
+}
+// SetDagIdNil sets the value for DagId to be an explicit nil
+func (o *DagScheduleDatasetReference) SetDagIdNil() {
+	o.DagId.Set(nil)
+}
+
+// UnsetDagId ensures that no value is present for DagId, not even an explicit nil
+func (o *DagScheduleDatasetReference) UnsetDagId() {
+	o.DagId.Unset()
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *DagScheduleDatasetReference) GetCreatedAt() string {
+	if o == nil || o.CreatedAt == nil {
+		var ret string
+		return ret
+	}
+	return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagScheduleDatasetReference) GetCreatedAtOk() (*string, bool) {
+	if o == nil || o.CreatedAt == nil {
+		return nil, false
+	}
+	return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *DagScheduleDatasetReference) HasCreatedAt() bool {
+	if o != nil && o.CreatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCreatedAt gets a reference to the given string and assigns it to the CreatedAt field.
+func (o *DagScheduleDatasetReference) SetCreatedAt(v string) {
+	o.CreatedAt = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *DagScheduleDatasetReference) GetUpdatedAt() string {
+	if o == nil || o.UpdatedAt == nil {
+		var ret string
+		return ret
+	}
+	return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagScheduleDatasetReference) GetUpdatedAtOk() (*string, bool) {
+	if o == nil || o.UpdatedAt == nil {
+		return nil, false
+	}
+	return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *DagScheduleDatasetReference) HasUpdatedAt() bool {
+	if o != nil && o.UpdatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetUpdatedAt gets a reference to the given string and assigns it to the UpdatedAt field.
+func (o *DagScheduleDatasetReference) SetUpdatedAt(v string) {
+	o.UpdatedAt = &v
+}
+
+func (o DagScheduleDatasetReference) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DagId.IsSet() {
+		toSerialize["dag_id"] = o.DagId.Get()
+	}
+	if o.CreatedAt != nil {
+		toSerialize["created_at"] = o.CreatedAt
+	}
+	if o.UpdatedAt != nil {
+		toSerialize["updated_at"] = o.UpdatedAt
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDagScheduleDatasetReference struct {
+	value *DagScheduleDatasetReference
+	isSet bool
+}
+
+func (v NullableDagScheduleDatasetReference) Get() *DagScheduleDatasetReference {
+	return v.value
+}
+
+func (v *NullableDagScheduleDatasetReference) Set(val *DagScheduleDatasetReference) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDagScheduleDatasetReference) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDagScheduleDatasetReference) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDagScheduleDatasetReference(val *DagScheduleDatasetReference) *NullableDagScheduleDatasetReference {
+	return &NullableDagScheduleDatasetReference{value: val, isSet: true}
+}
+
+func (v NullableDagScheduleDatasetReference) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDagScheduleDatasetReference) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dag_state.go b/airflow/model_dag_state.go
index 58175c8..e9795d2 100644
--- a/airflow/model_dag_state.go
+++ b/airflow/model_dag_state.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_dag_warning.go b/airflow/model_dag_warning.go
new file mode 100644
index 0000000..a916267
--- /dev/null
+++ b/airflow/model_dag_warning.go
@@ -0,0 +1,245 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DagWarning struct for DagWarning
+type DagWarning struct {
+	// The dag_id.
+	DagId *string `json:"dag_id,omitempty"`
+	// The warning type for the dag warning.
+	WarningType *string `json:"warning_type,omitempty"`
+	// The message for the dag warning.
+	Message *string `json:"message,omitempty"`
+	// The time when this warning was logged.
+	Timestamp *string `json:"timestamp,omitempty"`
+}
+
+// NewDagWarning instantiates a new DagWarning object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDagWarning() *DagWarning {
+	this := DagWarning{}
+	return &this
+}
+
+// NewDagWarningWithDefaults instantiates a new DagWarning object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDagWarningWithDefaults() *DagWarning {
+	this := DagWarning{}
+	return &this
+}
+
+// GetDagId returns the DagId field value if set, zero value otherwise.
+func (o *DagWarning) GetDagId() string {
+	if o == nil || o.DagId == nil {
+		var ret string
+		return ret
+	}
+	return *o.DagId
+}
+
+// GetDagIdOk returns a tuple with the DagId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagWarning) GetDagIdOk() (*string, bool) {
+	if o == nil || o.DagId == nil {
+		return nil, false
+	}
+	return o.DagId, true
+}
+
+// HasDagId returns a boolean if a field has been set.
+func (o *DagWarning) HasDagId() bool {
+	if o != nil && o.DagId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDagId gets a reference to the given string and assigns it to the DagId field.
+func (o *DagWarning) SetDagId(v string) {
+	o.DagId = &v
+}
+
+// GetWarningType returns the WarningType field value if set, zero value otherwise.
+func (o *DagWarning) GetWarningType() string {
+	if o == nil || o.WarningType == nil {
+		var ret string
+		return ret
+	}
+	return *o.WarningType
+}
+
+// GetWarningTypeOk returns a tuple with the WarningType field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagWarning) GetWarningTypeOk() (*string, bool) {
+	if o == nil || o.WarningType == nil {
+		return nil, false
+	}
+	return o.WarningType, true
+}
+
+// HasWarningType returns a boolean if a field has been set.
+func (o *DagWarning) HasWarningType() bool {
+	if o != nil && o.WarningType != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWarningType gets a reference to the given string and assigns it to the WarningType field.
+func (o *DagWarning) SetWarningType(v string) {
+	o.WarningType = &v
+}
+
+// GetMessage returns the Message field value if set, zero value otherwise.
+func (o *DagWarning) GetMessage() string {
+	if o == nil || o.Message == nil {
+		var ret string
+		return ret
+	}
+	return *o.Message
+}
+
+// GetMessageOk returns a tuple with the Message field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagWarning) GetMessageOk() (*string, bool) {
+	if o == nil || o.Message == nil {
+		return nil, false
+	}
+	return o.Message, true
+}
+
+// HasMessage returns a boolean if a field has been set.
+func (o *DagWarning) HasMessage() bool {
+	if o != nil && o.Message != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetMessage gets a reference to the given string and assigns it to the Message field.
+func (o *DagWarning) SetMessage(v string) {
+	o.Message = &v
+}
+
+// GetTimestamp returns the Timestamp field value if set, zero value otherwise.
+func (o *DagWarning) GetTimestamp() string {
+	if o == nil || o.Timestamp == nil {
+		var ret string
+		return ret
+	}
+	return *o.Timestamp
+}
+
+// GetTimestampOk returns a tuple with the Timestamp field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagWarning) GetTimestampOk() (*string, bool) {
+	if o == nil || o.Timestamp == nil {
+		return nil, false
+	}
+	return o.Timestamp, true
+}
+
+// HasTimestamp returns a boolean if a field has been set.
+func (o *DagWarning) HasTimestamp() bool {
+	if o != nil && o.Timestamp != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTimestamp gets a reference to the given string and assigns it to the Timestamp field.
+func (o *DagWarning) SetTimestamp(v string) {
+	o.Timestamp = &v
+}
+
+func (o DagWarning) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DagId != nil {
+		toSerialize["dag_id"] = o.DagId
+	}
+	if o.WarningType != nil {
+		toSerialize["warning_type"] = o.WarningType
+	}
+	if o.Message != nil {
+		toSerialize["message"] = o.Message
+	}
+	if o.Timestamp != nil {
+		toSerialize["timestamp"] = o.Timestamp
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDagWarning struct {
+	value *DagWarning
+	isSet bool
+}
+
+func (v NullableDagWarning) Get() *DagWarning {
+	return v.value
+}
+
+func (v *NullableDagWarning) Set(val *DagWarning) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDagWarning) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDagWarning) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDagWarning(val *DagWarning) *NullableDagWarning {
+	return &NullableDagWarning{value: val, isSet: true}
+}
+
+func (v NullableDagWarning) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDagWarning) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dag_warning_collection.go b/airflow/model_dag_warning_collection.go
new file mode 100644
index 0000000..7e3bee6
--- /dev/null
+++ b/airflow/model_dag_warning_collection.go
@@ -0,0 +1,170 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DagWarningCollection Collection of DAG warnings. 
+type DagWarningCollection struct {
+	ImportErrors *[]DagWarning `json:"import_errors,omitempty"`
+	// Count of objects in the current result set.
+	TotalEntries *int32 `json:"total_entries,omitempty"`
+}
+
+// NewDagWarningCollection instantiates a new DagWarningCollection object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDagWarningCollection() *DagWarningCollection {
+	this := DagWarningCollection{}
+	return &this
+}
+
+// NewDagWarningCollectionWithDefaults instantiates a new DagWarningCollection object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDagWarningCollectionWithDefaults() *DagWarningCollection {
+	this := DagWarningCollection{}
+	return &this
+}
+
+// GetImportErrors returns the ImportErrors field value if set, zero value otherwise.
+func (o *DagWarningCollection) GetImportErrors() []DagWarning {
+	if o == nil || o.ImportErrors == nil {
+		var ret []DagWarning
+		return ret
+	}
+	return *o.ImportErrors
+}
+
+// GetImportErrorsOk returns a tuple with the ImportErrors field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagWarningCollection) GetImportErrorsOk() (*[]DagWarning, bool) {
+	if o == nil || o.ImportErrors == nil {
+		return nil, false
+	}
+	return o.ImportErrors, true
+}
+
+// HasImportErrors returns a boolean if a field has been set.
+func (o *DagWarningCollection) HasImportErrors() bool {
+	if o != nil && o.ImportErrors != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetImportErrors gets a reference to the given []DagWarning and assigns it to the ImportErrors field.
+func (o *DagWarningCollection) SetImportErrors(v []DagWarning) {
+	o.ImportErrors = &v
+}
+
+// GetTotalEntries returns the TotalEntries field value if set, zero value otherwise.
+func (o *DagWarningCollection) GetTotalEntries() int32 {
+	if o == nil || o.TotalEntries == nil {
+		var ret int32
+		return ret
+	}
+	return *o.TotalEntries
+}
+
+// GetTotalEntriesOk returns a tuple with the TotalEntries field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagWarningCollection) GetTotalEntriesOk() (*int32, bool) {
+	if o == nil || o.TotalEntries == nil {
+		return nil, false
+	}
+	return o.TotalEntries, true
+}
+
+// HasTotalEntries returns a boolean if a field has been set.
+func (o *DagWarningCollection) HasTotalEntries() bool {
+	if o != nil && o.TotalEntries != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTotalEntries gets a reference to the given int32 and assigns it to the TotalEntries field.
+func (o *DagWarningCollection) SetTotalEntries(v int32) {
+	o.TotalEntries = &v
+}
+
+func (o DagWarningCollection) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.ImportErrors != nil {
+		toSerialize["import_errors"] = o.ImportErrors
+	}
+	if o.TotalEntries != nil {
+		toSerialize["total_entries"] = o.TotalEntries
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDagWarningCollection struct {
+	value *DagWarningCollection
+	isSet bool
+}
+
+func (v NullableDagWarningCollection) Get() *DagWarningCollection {
+	return v.value
+}
+
+func (v *NullableDagWarningCollection) Set(val *DagWarningCollection) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDagWarningCollection) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDagWarningCollection) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDagWarningCollection(val *DagWarningCollection) *NullableDagWarningCollection {
+	return &NullableDagWarningCollection{value: val, isSet: true}
+}
+
+func (v NullableDagWarningCollection) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDagWarningCollection) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dag_warning_collection_all_of.go b/airflow/model_dag_warning_collection_all_of.go
new file mode 100644
index 0000000..5ffdd0e
--- /dev/null
+++ b/airflow/model_dag_warning_collection_all_of.go
@@ -0,0 +1,133 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DagWarningCollectionAllOf struct for DagWarningCollectionAllOf
+type DagWarningCollectionAllOf struct {
+	ImportErrors *[]DagWarning `json:"import_errors,omitempty"`
+}
+
+// NewDagWarningCollectionAllOf instantiates a new DagWarningCollectionAllOf object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDagWarningCollectionAllOf() *DagWarningCollectionAllOf {
+	this := DagWarningCollectionAllOf{}
+	return &this
+}
+
+// NewDagWarningCollectionAllOfWithDefaults instantiates a new DagWarningCollectionAllOf object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDagWarningCollectionAllOfWithDefaults() *DagWarningCollectionAllOf {
+	this := DagWarningCollectionAllOf{}
+	return &this
+}
+
+// GetImportErrors returns the ImportErrors field value if set, zero value otherwise.
+func (o *DagWarningCollectionAllOf) GetImportErrors() []DagWarning {
+	if o == nil || o.ImportErrors == nil {
+		var ret []DagWarning
+		return ret
+	}
+	return *o.ImportErrors
+}
+
+// GetImportErrorsOk returns a tuple with the ImportErrors field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DagWarningCollectionAllOf) GetImportErrorsOk() (*[]DagWarning, bool) {
+	if o == nil || o.ImportErrors == nil {
+		return nil, false
+	}
+	return o.ImportErrors, true
+}
+
+// HasImportErrors returns a boolean if a field has been set.
+func (o *DagWarningCollectionAllOf) HasImportErrors() bool {
+	if o != nil && o.ImportErrors != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetImportErrors gets a reference to the given []DagWarning and assigns it to the ImportErrors field.
+func (o *DagWarningCollectionAllOf) SetImportErrors(v []DagWarning) {
+	o.ImportErrors = &v
+}
+
+func (o DagWarningCollectionAllOf) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.ImportErrors != nil {
+		toSerialize["import_errors"] = o.ImportErrors
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDagWarningCollectionAllOf struct {
+	value *DagWarningCollectionAllOf
+	isSet bool
+}
+
+func (v NullableDagWarningCollectionAllOf) Get() *DagWarningCollectionAllOf {
+	return v.value
+}
+
+func (v *NullableDagWarningCollectionAllOf) Set(val *DagWarningCollectionAllOf) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDagWarningCollectionAllOf) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDagWarningCollectionAllOf) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDagWarningCollectionAllOf(val *DagWarningCollectionAllOf) *NullableDagWarningCollectionAllOf {
+	return &NullableDagWarningCollectionAllOf{value: val, isSet: true}
+}
+
+func (v NullableDagWarningCollectionAllOf) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDagWarningCollectionAllOf) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dataset.go b/airflow/model_dataset.go
new file mode 100644
index 0000000..c0b4ae9
--- /dev/null
+++ b/airflow/model_dataset.go
@@ -0,0 +1,355 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// Dataset A dataset item.  *New in version 2.4.0* 
+type Dataset struct {
+	// The dataset id
+	Id *int32 `json:"id,omitempty"`
+	// The dataset uri
+	Uri *string `json:"uri,omitempty"`
+	// The dataset extra
+	Extra map[string]interface{} `json:"extra,omitempty"`
+	// The dataset creation time
+	CreatedAt *string `json:"created_at,omitempty"`
+	// The dataset update time
+	UpdatedAt *string `json:"updated_at,omitempty"`
+	ConsumingDags *[]DagScheduleDatasetReference `json:"consuming_dags,omitempty"`
+	ProducingTasks *[]TaskOutletDatasetReference `json:"producing_tasks,omitempty"`
+}
+
+// NewDataset instantiates a new Dataset object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDataset() *Dataset {
+	this := Dataset{}
+	return &this
+}
+
+// NewDatasetWithDefaults instantiates a new Dataset object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDatasetWithDefaults() *Dataset {
+	this := Dataset{}
+	return &this
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *Dataset) GetId() int32 {
+	if o == nil || o.Id == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Dataset) GetIdOk() (*int32, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *Dataset) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given int32 and assigns it to the Id field.
+func (o *Dataset) SetId(v int32) {
+	o.Id = &v
+}
+
+// GetUri returns the Uri field value if set, zero value otherwise.
+func (o *Dataset) GetUri() string {
+	if o == nil || o.Uri == nil {
+		var ret string
+		return ret
+	}
+	return *o.Uri
+}
+
+// GetUriOk returns a tuple with the Uri field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Dataset) GetUriOk() (*string, bool) {
+	if o == nil || o.Uri == nil {
+		return nil, false
+	}
+	return o.Uri, true
+}
+
+// HasUri returns a boolean if a field has been set.
+func (o *Dataset) HasUri() bool {
+	if o != nil && o.Uri != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetUri gets a reference to the given string and assigns it to the Uri field.
+func (o *Dataset) SetUri(v string) {
+	o.Uri = &v
+}
+
+// GetExtra returns the Extra field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Dataset) GetExtra() map[string]interface{} {
+	if o == nil  {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.Extra
+}
+
+// GetExtraOk returns a tuple with the Extra field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Dataset) GetExtraOk() (*map[string]interface{}, bool) {
+	if o == nil || o.Extra == nil {
+		return nil, false
+	}
+	return &o.Extra, true
+}
+
+// HasExtra returns a boolean if a field has been set.
+func (o *Dataset) HasExtra() bool {
+	if o != nil && o.Extra != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExtra gets a reference to the given map[string]interface{} and assigns it to the Extra field.
+func (o *Dataset) SetExtra(v map[string]interface{}) {
+	o.Extra = v
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *Dataset) GetCreatedAt() string {
+	if o == nil || o.CreatedAt == nil {
+		var ret string
+		return ret
+	}
+	return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Dataset) GetCreatedAtOk() (*string, bool) {
+	if o == nil || o.CreatedAt == nil {
+		return nil, false
+	}
+	return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *Dataset) HasCreatedAt() bool {
+	if o != nil && o.CreatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCreatedAt gets a reference to the given string and assigns it to the CreatedAt field.
+func (o *Dataset) SetCreatedAt(v string) {
+	o.CreatedAt = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *Dataset) GetUpdatedAt() string {
+	if o == nil || o.UpdatedAt == nil {
+		var ret string
+		return ret
+	}
+	return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Dataset) GetUpdatedAtOk() (*string, bool) {
+	if o == nil || o.UpdatedAt == nil {
+		return nil, false
+	}
+	return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *Dataset) HasUpdatedAt() bool {
+	if o != nil && o.UpdatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetUpdatedAt gets a reference to the given string and assigns it to the UpdatedAt field.
+func (o *Dataset) SetUpdatedAt(v string) {
+	o.UpdatedAt = &v
+}
+
+// GetConsumingDags returns the ConsumingDags field value if set, zero value otherwise.
+func (o *Dataset) GetConsumingDags() []DagScheduleDatasetReference {
+	if o == nil || o.ConsumingDags == nil {
+		var ret []DagScheduleDatasetReference
+		return ret
+	}
+	return *o.ConsumingDags
+}
+
+// GetConsumingDagsOk returns a tuple with the ConsumingDags field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Dataset) GetConsumingDagsOk() (*[]DagScheduleDatasetReference, bool) {
+	if o == nil || o.ConsumingDags == nil {
+		return nil, false
+	}
+	return o.ConsumingDags, true
+}
+
+// HasConsumingDags returns a boolean if a field has been set.
+func (o *Dataset) HasConsumingDags() bool {
+	if o != nil && o.ConsumingDags != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetConsumingDags gets a reference to the given []DagScheduleDatasetReference and assigns it to the ConsumingDags field.
+func (o *Dataset) SetConsumingDags(v []DagScheduleDatasetReference) {
+	o.ConsumingDags = &v
+}
+
+// GetProducingTasks returns the ProducingTasks field value if set, zero value otherwise.
+func (o *Dataset) GetProducingTasks() []TaskOutletDatasetReference {
+	if o == nil || o.ProducingTasks == nil {
+		var ret []TaskOutletDatasetReference
+		return ret
+	}
+	return *o.ProducingTasks
+}
+
+// GetProducingTasksOk returns a tuple with the ProducingTasks field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Dataset) GetProducingTasksOk() (*[]TaskOutletDatasetReference, bool) {
+	if o == nil || o.ProducingTasks == nil {
+		return nil, false
+	}
+	return o.ProducingTasks, true
+}
+
+// HasProducingTasks returns a boolean if a field has been set.
+func (o *Dataset) HasProducingTasks() bool {
+	if o != nil && o.ProducingTasks != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetProducingTasks gets a reference to the given []TaskOutletDatasetReference and assigns it to the ProducingTasks field.
+func (o *Dataset) SetProducingTasks(v []TaskOutletDatasetReference) {
+	o.ProducingTasks = &v
+}
+
+func (o Dataset) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+	if o.Uri != nil {
+		toSerialize["uri"] = o.Uri
+	}
+	if o.Extra != nil {
+		toSerialize["extra"] = o.Extra
+	}
+	if o.CreatedAt != nil {
+		toSerialize["created_at"] = o.CreatedAt
+	}
+	if o.UpdatedAt != nil {
+		toSerialize["updated_at"] = o.UpdatedAt
+	}
+	if o.ConsumingDags != nil {
+		toSerialize["consuming_dags"] = o.ConsumingDags
+	}
+	if o.ProducingTasks != nil {
+		toSerialize["producing_tasks"] = o.ProducingTasks
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDataset struct {
+	value *Dataset
+	isSet bool
+}
+
+func (v NullableDataset) Get() *Dataset {
+	return v.value
+}
+
+func (v *NullableDataset) Set(val *Dataset) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDataset) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDataset) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDataset(val *Dataset) *NullableDataset {
+	return &NullableDataset{value: val, isSet: true}
+}
+
+func (v NullableDataset) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDataset) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dataset_collection.go b/airflow/model_dataset_collection.go
new file mode 100644
index 0000000..400071f
--- /dev/null
+++ b/airflow/model_dataset_collection.go
@@ -0,0 +1,170 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DatasetCollection A collection of datasets.  *New in version 2.4.0* 
+type DatasetCollection struct {
+	Datasets *[]Dataset `json:"datasets,omitempty"`
+	// Count of objects in the current result set.
+	TotalEntries *int32 `json:"total_entries,omitempty"`
+}
+
+// NewDatasetCollection instantiates a new DatasetCollection object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDatasetCollection() *DatasetCollection {
+	this := DatasetCollection{}
+	return &this
+}
+
+// NewDatasetCollectionWithDefaults instantiates a new DatasetCollection object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDatasetCollectionWithDefaults() *DatasetCollection {
+	this := DatasetCollection{}
+	return &this
+}
+
+// GetDatasets returns the Datasets field value if set, zero value otherwise.
+func (o *DatasetCollection) GetDatasets() []Dataset {
+	if o == nil || o.Datasets == nil {
+		var ret []Dataset
+		return ret
+	}
+	return *o.Datasets
+}
+
+// GetDatasetsOk returns a tuple with the Datasets field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetCollection) GetDatasetsOk() (*[]Dataset, bool) {
+	if o == nil || o.Datasets == nil {
+		return nil, false
+	}
+	return o.Datasets, true
+}
+
+// HasDatasets returns a boolean if a field has been set.
+func (o *DatasetCollection) HasDatasets() bool {
+	if o != nil && o.Datasets != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDatasets gets a reference to the given []Dataset and assigns it to the Datasets field.
+func (o *DatasetCollection) SetDatasets(v []Dataset) {
+	o.Datasets = &v
+}
+
+// GetTotalEntries returns the TotalEntries field value if set, zero value otherwise.
+func (o *DatasetCollection) GetTotalEntries() int32 {
+	if o == nil || o.TotalEntries == nil {
+		var ret int32
+		return ret
+	}
+	return *o.TotalEntries
+}
+
+// GetTotalEntriesOk returns a tuple with the TotalEntries field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetCollection) GetTotalEntriesOk() (*int32, bool) {
+	if o == nil || o.TotalEntries == nil {
+		return nil, false
+	}
+	return o.TotalEntries, true
+}
+
+// HasTotalEntries returns a boolean if a field has been set.
+func (o *DatasetCollection) HasTotalEntries() bool {
+	if o != nil && o.TotalEntries != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTotalEntries gets a reference to the given int32 and assigns it to the TotalEntries field.
+func (o *DatasetCollection) SetTotalEntries(v int32) {
+	o.TotalEntries = &v
+}
+
+func (o DatasetCollection) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Datasets != nil {
+		toSerialize["datasets"] = o.Datasets
+	}
+	if o.TotalEntries != nil {
+		toSerialize["total_entries"] = o.TotalEntries
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDatasetCollection struct {
+	value *DatasetCollection
+	isSet bool
+}
+
+func (v NullableDatasetCollection) Get() *DatasetCollection {
+	return v.value
+}
+
+func (v *NullableDatasetCollection) Set(val *DatasetCollection) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDatasetCollection) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDatasetCollection) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDatasetCollection(val *DatasetCollection) *NullableDatasetCollection {
+	return &NullableDatasetCollection{value: val, isSet: true}
+}
+
+func (v NullableDatasetCollection) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDatasetCollection) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dataset_collection_all_of.go b/airflow/model_dataset_collection_all_of.go
new file mode 100644
index 0000000..9996cbb
--- /dev/null
+++ b/airflow/model_dataset_collection_all_of.go
@@ -0,0 +1,133 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DatasetCollectionAllOf struct for DatasetCollectionAllOf
+type DatasetCollectionAllOf struct {
+	Datasets *[]Dataset `json:"datasets,omitempty"`
+}
+
+// NewDatasetCollectionAllOf instantiates a new DatasetCollectionAllOf object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDatasetCollectionAllOf() *DatasetCollectionAllOf {
+	this := DatasetCollectionAllOf{}
+	return &this
+}
+
+// NewDatasetCollectionAllOfWithDefaults instantiates a new DatasetCollectionAllOf object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDatasetCollectionAllOfWithDefaults() *DatasetCollectionAllOf {
+	this := DatasetCollectionAllOf{}
+	return &this
+}
+
+// GetDatasets returns the Datasets field value if set, zero value otherwise.
+func (o *DatasetCollectionAllOf) GetDatasets() []Dataset {
+	if o == nil || o.Datasets == nil {
+		var ret []Dataset
+		return ret
+	}
+	return *o.Datasets
+}
+
+// GetDatasetsOk returns a tuple with the Datasets field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetCollectionAllOf) GetDatasetsOk() (*[]Dataset, bool) {
+	if o == nil || o.Datasets == nil {
+		return nil, false
+	}
+	return o.Datasets, true
+}
+
+// HasDatasets returns a boolean if a field has been set.
+func (o *DatasetCollectionAllOf) HasDatasets() bool {
+	if o != nil && o.Datasets != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDatasets gets a reference to the given []Dataset and assigns it to the Datasets field.
+func (o *DatasetCollectionAllOf) SetDatasets(v []Dataset) {
+	o.Datasets = &v
+}
+
+func (o DatasetCollectionAllOf) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Datasets != nil {
+		toSerialize["datasets"] = o.Datasets
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDatasetCollectionAllOf struct {
+	value *DatasetCollectionAllOf
+	isSet bool
+}
+
+func (v NullableDatasetCollectionAllOf) Get() *DatasetCollectionAllOf {
+	return v.value
+}
+
+func (v *NullableDatasetCollectionAllOf) Set(val *DatasetCollectionAllOf) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDatasetCollectionAllOf) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDatasetCollectionAllOf) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDatasetCollectionAllOf(val *DatasetCollectionAllOf) *NullableDatasetCollectionAllOf {
+	return &NullableDatasetCollectionAllOf{value: val, isSet: true}
+}
+
+func (v NullableDatasetCollectionAllOf) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDatasetCollectionAllOf) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dataset_event.go b/airflow/model_dataset_event.go
new file mode 100644
index 0000000..ca0c05d
--- /dev/null
+++ b/airflow/model_dataset_event.go
@@ -0,0 +1,470 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DatasetEvent A dataset event.  *New in version 2.4.0* 
+type DatasetEvent struct {
+	// The dataset id
+	DatasetId *int32 `json:"dataset_id,omitempty"`
+	// The URI of the dataset
+	DatasetUri *string `json:"dataset_uri,omitempty"`
+	// The dataset event extra
+	Extra map[string]interface{} `json:"extra,omitempty"`
+	// The DAG ID that updated the dataset.
+	SourceDagId NullableString `json:"source_dag_id,omitempty"`
+	// The task ID that updated the dataset.
+	SourceTaskId NullableString `json:"source_task_id,omitempty"`
+	// The DAG run ID that updated the dataset.
+	SourceRunId NullableString `json:"source_run_id,omitempty"`
+	// The task map index that updated the dataset.
+	SourceMapIndex NullableInt32 `json:"source_map_index,omitempty"`
+	CreatedDagruns *[]BasicDAGRun `json:"created_dagruns,omitempty"`
+	// The dataset event creation time
+	Timestamp *string `json:"timestamp,omitempty"`
+}
+
+// NewDatasetEvent instantiates a new DatasetEvent object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDatasetEvent() *DatasetEvent {
+	this := DatasetEvent{}
+	return &this
+}
+
+// NewDatasetEventWithDefaults instantiates a new DatasetEvent object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDatasetEventWithDefaults() *DatasetEvent {
+	this := DatasetEvent{}
+	return &this
+}
+
+// GetDatasetId returns the DatasetId field value if set, zero value otherwise.
+func (o *DatasetEvent) GetDatasetId() int32 {
+	if o == nil || o.DatasetId == nil {
+		var ret int32
+		return ret
+	}
+	return *o.DatasetId
+}
+
+// GetDatasetIdOk returns a tuple with the DatasetId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetEvent) GetDatasetIdOk() (*int32, bool) {
+	if o == nil || o.DatasetId == nil {
+		return nil, false
+	}
+	return o.DatasetId, true
+}
+
+// HasDatasetId returns a boolean if a field has been set.
+func (o *DatasetEvent) HasDatasetId() bool {
+	if o != nil && o.DatasetId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDatasetId gets a reference to the given int32 and assigns it to the DatasetId field.
+func (o *DatasetEvent) SetDatasetId(v int32) {
+	o.DatasetId = &v
+}
+
+// GetDatasetUri returns the DatasetUri field value if set, zero value otherwise.
+func (o *DatasetEvent) GetDatasetUri() string {
+	if o == nil || o.DatasetUri == nil {
+		var ret string
+		return ret
+	}
+	return *o.DatasetUri
+}
+
+// GetDatasetUriOk returns a tuple with the DatasetUri field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetEvent) GetDatasetUriOk() (*string, bool) {
+	if o == nil || o.DatasetUri == nil {
+		return nil, false
+	}
+	return o.DatasetUri, true
+}
+
+// HasDatasetUri returns a boolean if a field has been set.
+func (o *DatasetEvent) HasDatasetUri() bool {
+	if o != nil && o.DatasetUri != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDatasetUri gets a reference to the given string and assigns it to the DatasetUri field.
+func (o *DatasetEvent) SetDatasetUri(v string) {
+	o.DatasetUri = &v
+}
+
+// GetExtra returns the Extra field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *DatasetEvent) GetExtra() map[string]interface{} {
+	if o == nil  {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.Extra
+}
+
+// GetExtraOk returns a tuple with the Extra field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *DatasetEvent) GetExtraOk() (*map[string]interface{}, bool) {
+	if o == nil || o.Extra == nil {
+		return nil, false
+	}
+	return &o.Extra, true
+}
+
+// HasExtra returns a boolean if a field has been set.
+func (o *DatasetEvent) HasExtra() bool {
+	if o != nil && o.Extra != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExtra gets a reference to the given map[string]interface{} and assigns it to the Extra field.
+func (o *DatasetEvent) SetExtra(v map[string]interface{}) {
+	o.Extra = v
+}
+
+// GetSourceDagId returns the SourceDagId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *DatasetEvent) GetSourceDagId() string {
+	if o == nil || o.SourceDagId.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.SourceDagId.Get()
+}
+
+// GetSourceDagIdOk returns a tuple with the SourceDagId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *DatasetEvent) GetSourceDagIdOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.SourceDagId.Get(), o.SourceDagId.IsSet()
+}
+
+// HasSourceDagId returns a boolean if a field has been set.
+func (o *DatasetEvent) HasSourceDagId() bool {
+	if o != nil && o.SourceDagId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetSourceDagId gets a reference to the given NullableString and assigns it to the SourceDagId field.
+func (o *DatasetEvent) SetSourceDagId(v string) {
+	o.SourceDagId.Set(&v)
+}
+// SetSourceDagIdNil sets the value for SourceDagId to be an explicit nil
+func (o *DatasetEvent) SetSourceDagIdNil() {
+	o.SourceDagId.Set(nil)
+}
+
+// UnsetSourceDagId ensures that no value is present for SourceDagId, not even an explicit nil
+func (o *DatasetEvent) UnsetSourceDagId() {
+	o.SourceDagId.Unset()
+}
+
+// GetSourceTaskId returns the SourceTaskId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *DatasetEvent) GetSourceTaskId() string {
+	if o == nil || o.SourceTaskId.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.SourceTaskId.Get()
+}
+
+// GetSourceTaskIdOk returns a tuple with the SourceTaskId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *DatasetEvent) GetSourceTaskIdOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.SourceTaskId.Get(), o.SourceTaskId.IsSet()
+}
+
+// HasSourceTaskId returns a boolean if a field has been set.
+func (o *DatasetEvent) HasSourceTaskId() bool {
+	if o != nil && o.SourceTaskId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetSourceTaskId gets a reference to the given NullableString and assigns it to the SourceTaskId field.
+func (o *DatasetEvent) SetSourceTaskId(v string) {
+	o.SourceTaskId.Set(&v)
+}
+// SetSourceTaskIdNil sets the value for SourceTaskId to be an explicit nil
+func (o *DatasetEvent) SetSourceTaskIdNil() {
+	o.SourceTaskId.Set(nil)
+}
+
+// UnsetSourceTaskId ensures that no value is present for SourceTaskId, not even an explicit nil
+func (o *DatasetEvent) UnsetSourceTaskId() {
+	o.SourceTaskId.Unset()
+}
+
+// GetSourceRunId returns the SourceRunId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *DatasetEvent) GetSourceRunId() string {
+	if o == nil || o.SourceRunId.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.SourceRunId.Get()
+}
+
+// GetSourceRunIdOk returns a tuple with the SourceRunId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *DatasetEvent) GetSourceRunIdOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.SourceRunId.Get(), o.SourceRunId.IsSet()
+}
+
+// HasSourceRunId returns a boolean if a field has been set.
+func (o *DatasetEvent) HasSourceRunId() bool {
+	if o != nil && o.SourceRunId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetSourceRunId gets a reference to the given NullableString and assigns it to the SourceRunId field.
+func (o *DatasetEvent) SetSourceRunId(v string) {
+	o.SourceRunId.Set(&v)
+}
+// SetSourceRunIdNil sets the value for SourceRunId to be an explicit nil
+func (o *DatasetEvent) SetSourceRunIdNil() {
+	o.SourceRunId.Set(nil)
+}
+
+// UnsetSourceRunId ensures that no value is present for SourceRunId, not even an explicit nil
+func (o *DatasetEvent) UnsetSourceRunId() {
+	o.SourceRunId.Unset()
+}
+
+// GetSourceMapIndex returns the SourceMapIndex field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *DatasetEvent) GetSourceMapIndex() int32 {
+	if o == nil || o.SourceMapIndex.Get() == nil {
+		var ret int32
+		return ret
+	}
+	return *o.SourceMapIndex.Get()
+}
+
+// GetSourceMapIndexOk returns a tuple with the SourceMapIndex field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *DatasetEvent) GetSourceMapIndexOk() (*int32, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.SourceMapIndex.Get(), o.SourceMapIndex.IsSet()
+}
+
+// HasSourceMapIndex returns a boolean if a field has been set.
+func (o *DatasetEvent) HasSourceMapIndex() bool {
+	if o != nil && o.SourceMapIndex.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetSourceMapIndex gets a reference to the given NullableInt32 and assigns it to the SourceMapIndex field.
+func (o *DatasetEvent) SetSourceMapIndex(v int32) {
+	o.SourceMapIndex.Set(&v)
+}
+// SetSourceMapIndexNil sets the value for SourceMapIndex to be an explicit nil
+func (o *DatasetEvent) SetSourceMapIndexNil() {
+	o.SourceMapIndex.Set(nil)
+}
+
+// UnsetSourceMapIndex ensures that no value is present for SourceMapIndex, not even an explicit nil
+func (o *DatasetEvent) UnsetSourceMapIndex() {
+	o.SourceMapIndex.Unset()
+}
+
+// GetCreatedDagruns returns the CreatedDagruns field value if set, zero value otherwise.
+func (o *DatasetEvent) GetCreatedDagruns() []BasicDAGRun {
+	if o == nil || o.CreatedDagruns == nil {
+		var ret []BasicDAGRun
+		return ret
+	}
+	return *o.CreatedDagruns
+}
+
+// GetCreatedDagrunsOk returns a tuple with the CreatedDagruns field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetEvent) GetCreatedDagrunsOk() (*[]BasicDAGRun, bool) {
+	if o == nil || o.CreatedDagruns == nil {
+		return nil, false
+	}
+	return o.CreatedDagruns, true
+}
+
+// HasCreatedDagruns returns a boolean if a field has been set.
+func (o *DatasetEvent) HasCreatedDagruns() bool {
+	if o != nil && o.CreatedDagruns != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCreatedDagruns gets a reference to the given []BasicDAGRun and assigns it to the CreatedDagruns field.
+func (o *DatasetEvent) SetCreatedDagruns(v []BasicDAGRun) {
+	o.CreatedDagruns = &v
+}
+
+// GetTimestamp returns the Timestamp field value if set, zero value otherwise.
+func (o *DatasetEvent) GetTimestamp() string {
+	if o == nil || o.Timestamp == nil {
+		var ret string
+		return ret
+	}
+	return *o.Timestamp
+}
+
+// GetTimestampOk returns a tuple with the Timestamp field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetEvent) GetTimestampOk() (*string, bool) {
+	if o == nil || o.Timestamp == nil {
+		return nil, false
+	}
+	return o.Timestamp, true
+}
+
+// HasTimestamp returns a boolean if a field has been set.
+func (o *DatasetEvent) HasTimestamp() bool {
+	if o != nil && o.Timestamp != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTimestamp gets a reference to the given string and assigns it to the Timestamp field.
+func (o *DatasetEvent) SetTimestamp(v string) {
+	o.Timestamp = &v
+}
+
+func (o DatasetEvent) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DatasetId != nil {
+		toSerialize["dataset_id"] = o.DatasetId
+	}
+	if o.DatasetUri != nil {
+		toSerialize["dataset_uri"] = o.DatasetUri
+	}
+	if o.Extra != nil {
+		toSerialize["extra"] = o.Extra
+	}
+	if o.SourceDagId.IsSet() {
+		toSerialize["source_dag_id"] = o.SourceDagId.Get()
+	}
+	if o.SourceTaskId.IsSet() {
+		toSerialize["source_task_id"] = o.SourceTaskId.Get()
+	}
+	if o.SourceRunId.IsSet() {
+		toSerialize["source_run_id"] = o.SourceRunId.Get()
+	}
+	if o.SourceMapIndex.IsSet() {
+		toSerialize["source_map_index"] = o.SourceMapIndex.Get()
+	}
+	if o.CreatedDagruns != nil {
+		toSerialize["created_dagruns"] = o.CreatedDagruns
+	}
+	if o.Timestamp != nil {
+		toSerialize["timestamp"] = o.Timestamp
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDatasetEvent struct {
+	value *DatasetEvent
+	isSet bool
+}
+
+func (v NullableDatasetEvent) Get() *DatasetEvent {
+	return v.value
+}
+
+func (v *NullableDatasetEvent) Set(val *DatasetEvent) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDatasetEvent) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDatasetEvent) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDatasetEvent(val *DatasetEvent) *NullableDatasetEvent {
+	return &NullableDatasetEvent{value: val, isSet: true}
+}
+
+func (v NullableDatasetEvent) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDatasetEvent) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dataset_event_collection.go b/airflow/model_dataset_event_collection.go
new file mode 100644
index 0000000..7e393af
--- /dev/null
+++ b/airflow/model_dataset_event_collection.go
@@ -0,0 +1,170 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DatasetEventCollection A collection of dataset events.  *New in version 2.4.0* 
+type DatasetEventCollection struct {
+	DatasetEvents *[]DatasetEvent `json:"dataset_events,omitempty"`
+	// Count of objects in the current result set.
+	TotalEntries *int32 `json:"total_entries,omitempty"`
+}
+
+// NewDatasetEventCollection instantiates a new DatasetEventCollection object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDatasetEventCollection() *DatasetEventCollection {
+	this := DatasetEventCollection{}
+	return &this
+}
+
+// NewDatasetEventCollectionWithDefaults instantiates a new DatasetEventCollection object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDatasetEventCollectionWithDefaults() *DatasetEventCollection {
+	this := DatasetEventCollection{}
+	return &this
+}
+
+// GetDatasetEvents returns the DatasetEvents field value if set, zero value otherwise.
+func (o *DatasetEventCollection) GetDatasetEvents() []DatasetEvent {
+	if o == nil || o.DatasetEvents == nil {
+		var ret []DatasetEvent
+		return ret
+	}
+	return *o.DatasetEvents
+}
+
+// GetDatasetEventsOk returns a tuple with the DatasetEvents field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetEventCollection) GetDatasetEventsOk() (*[]DatasetEvent, bool) {
+	if o == nil || o.DatasetEvents == nil {
+		return nil, false
+	}
+	return o.DatasetEvents, true
+}
+
+// HasDatasetEvents returns a boolean if a field has been set.
+func (o *DatasetEventCollection) HasDatasetEvents() bool {
+	if o != nil && o.DatasetEvents != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDatasetEvents gets a reference to the given []DatasetEvent and assigns it to the DatasetEvents field.
+func (o *DatasetEventCollection) SetDatasetEvents(v []DatasetEvent) {
+	o.DatasetEvents = &v
+}
+
+// GetTotalEntries returns the TotalEntries field value if set, zero value otherwise.
+func (o *DatasetEventCollection) GetTotalEntries() int32 {
+	if o == nil || o.TotalEntries == nil {
+		var ret int32
+		return ret
+	}
+	return *o.TotalEntries
+}
+
+// GetTotalEntriesOk returns a tuple with the TotalEntries field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetEventCollection) GetTotalEntriesOk() (*int32, bool) {
+	if o == nil || o.TotalEntries == nil {
+		return nil, false
+	}
+	return o.TotalEntries, true
+}
+
+// HasTotalEntries returns a boolean if a field has been set.
+func (o *DatasetEventCollection) HasTotalEntries() bool {
+	if o != nil && o.TotalEntries != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTotalEntries gets a reference to the given int32 and assigns it to the TotalEntries field.
+func (o *DatasetEventCollection) SetTotalEntries(v int32) {
+	o.TotalEntries = &v
+}
+
+func (o DatasetEventCollection) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DatasetEvents != nil {
+		toSerialize["dataset_events"] = o.DatasetEvents
+	}
+	if o.TotalEntries != nil {
+		toSerialize["total_entries"] = o.TotalEntries
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDatasetEventCollection struct {
+	value *DatasetEventCollection
+	isSet bool
+}
+
+func (v NullableDatasetEventCollection) Get() *DatasetEventCollection {
+	return v.value
+}
+
+func (v *NullableDatasetEventCollection) Set(val *DatasetEventCollection) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDatasetEventCollection) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDatasetEventCollection) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDatasetEventCollection(val *DatasetEventCollection) *NullableDatasetEventCollection {
+	return &NullableDatasetEventCollection{value: val, isSet: true}
+}
+
+func (v NullableDatasetEventCollection) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDatasetEventCollection) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_dataset_event_collection_all_of.go b/airflow/model_dataset_event_collection_all_of.go
new file mode 100644
index 0000000..f4bf14b
--- /dev/null
+++ b/airflow/model_dataset_event_collection_all_of.go
@@ -0,0 +1,133 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// DatasetEventCollectionAllOf struct for DatasetEventCollectionAllOf
+type DatasetEventCollectionAllOf struct {
+	DatasetEvents *[]DatasetEvent `json:"dataset_events,omitempty"`
+}
+
+// NewDatasetEventCollectionAllOf instantiates a new DatasetEventCollectionAllOf object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDatasetEventCollectionAllOf() *DatasetEventCollectionAllOf {
+	this := DatasetEventCollectionAllOf{}
+	return &this
+}
+
+// NewDatasetEventCollectionAllOfWithDefaults instantiates a new DatasetEventCollectionAllOf object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDatasetEventCollectionAllOfWithDefaults() *DatasetEventCollectionAllOf {
+	this := DatasetEventCollectionAllOf{}
+	return &this
+}
+
+// GetDatasetEvents returns the DatasetEvents field value if set, zero value otherwise.
+func (o *DatasetEventCollectionAllOf) GetDatasetEvents() []DatasetEvent {
+	if o == nil || o.DatasetEvents == nil {
+		var ret []DatasetEvent
+		return ret
+	}
+	return *o.DatasetEvents
+}
+
+// GetDatasetEventsOk returns a tuple with the DatasetEvents field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DatasetEventCollectionAllOf) GetDatasetEventsOk() (*[]DatasetEvent, bool) {
+	if o == nil || o.DatasetEvents == nil {
+		return nil, false
+	}
+	return o.DatasetEvents, true
+}
+
+// HasDatasetEvents returns a boolean if a field has been set.
+func (o *DatasetEventCollectionAllOf) HasDatasetEvents() bool {
+	if o != nil && o.DatasetEvents != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDatasetEvents gets a reference to the given []DatasetEvent and assigns it to the DatasetEvents field.
+func (o *DatasetEventCollectionAllOf) SetDatasetEvents(v []DatasetEvent) {
+	o.DatasetEvents = &v
+}
+
+func (o DatasetEventCollectionAllOf) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DatasetEvents != nil {
+		toSerialize["dataset_events"] = o.DatasetEvents
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableDatasetEventCollectionAllOf struct {
+	value *DatasetEventCollectionAllOf
+	isSet bool
+}
+
+func (v NullableDatasetEventCollectionAllOf) Get() *DatasetEventCollectionAllOf {
+	return v.value
+}
+
+func (v *NullableDatasetEventCollectionAllOf) Set(val *DatasetEventCollectionAllOf) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDatasetEventCollectionAllOf) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDatasetEventCollectionAllOf) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDatasetEventCollectionAllOf(val *DatasetEventCollectionAllOf) *NullableDatasetEventCollectionAllOf {
+	return &NullableDatasetEventCollectionAllOf{value: val, isSet: true}
+}
+
+func (v NullableDatasetEventCollectionAllOf) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDatasetEventCollectionAllOf) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_error.go b/airflow/model_error.go
index 06183b8..7e4b7b9 100644
--- a/airflow/model_error.go
+++ b/airflow/model_error.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_event_log.go b/airflow/model_event_log.go
index b62a7d5..9205043 100644
--- a/airflow/model_event_log.go
+++ b/airflow/model_event_log.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_event_log_collection.go b/airflow/model_event_log_collection.go
index 316625c..6235a44 100644
--- a/airflow/model_event_log_collection.go
+++ b/airflow/model_event_log_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_event_log_collection_all_of.go b/airflow/model_event_log_collection_all_of.go
index 05278b5..ac9b9a4 100644
--- a/airflow/model_event_log_collection_all_of.go
+++ b/airflow/model_event_log_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_extra_link.go b/airflow/model_extra_link.go
index 6f76a11..2bfc2d4 100644
--- a/airflow/model_extra_link.go
+++ b/airflow/model_extra_link.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_extra_link_collection.go b/airflow/model_extra_link_collection.go
index 07cea72..02aaffd 100644
--- a/airflow/model_extra_link_collection.go
+++ b/airflow/model_extra_link_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_health_info.go b/airflow/model_health_info.go
index 704a628..e6eb1ce 100644
--- a/airflow/model_health_info.go
+++ b/airflow/model_health_info.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_health_status.go b/airflow/model_health_status.go
index b9e567a..b9365fc 100644
--- a/airflow/model_health_status.go
+++ b/airflow/model_health_status.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_import_error.go b/airflow/model_import_error.go
index b3eaf84..66613e0 100644
--- a/airflow/model_import_error.go
+++ b/airflow/model_import_error.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_import_error_collection.go b/airflow/model_import_error_collection.go
index 0168864..c53ca1c 100644
--- a/airflow/model_import_error_collection.go
+++ b/airflow/model_import_error_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_import_error_collection_all_of.go b/airflow/model_import_error_collection_all_of.go
index 0d8d4a4..be9e730 100644
--- a/airflow/model_import_error_collection_all_of.go
+++ b/airflow/model_import_error_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_inline_response_200.go b/airflow/model_inline_response_200.go
index 42caf0c..e1ff9db 100644
--- a/airflow/model_inline_response_200.go
+++ b/airflow/model_inline_response_200.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_inline_response_200_1.go b/airflow/model_inline_response_200_1.go
index 18eec7f..ffdca5b 100644
--- a/airflow/model_inline_response_200_1.go
+++ b/airflow/model_inline_response_200_1.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_job.go b/airflow/model_job.go
new file mode 100644
index 0000000..9fb2357
--- /dev/null
+++ b/airflow/model_job.go
@@ -0,0 +1,547 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// Job struct for Job
+type Job struct {
+	Id *int32 `json:"id,omitempty"`
+	DagId NullableString `json:"dag_id,omitempty"`
+	State NullableString `json:"state,omitempty"`
+	JobType NullableString `json:"job_type,omitempty"`
+	StartDate NullableString `json:"start_date,omitempty"`
+	EndDate NullableString `json:"end_date,omitempty"`
+	LatestHeartbeat NullableString `json:"latest_heartbeat,omitempty"`
+	ExecutorClass NullableString `json:"executor_class,omitempty"`
+	Hostname NullableString `json:"hostname,omitempty"`
+	Unixname NullableString `json:"unixname,omitempty"`
+}
+
+// NewJob instantiates a new Job object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewJob() *Job {
+	this := Job{}
+	return &this
+}
+
+// NewJobWithDefaults instantiates a new Job object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewJobWithDefaults() *Job {
+	this := Job{}
+	return &this
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *Job) GetId() int32 {
+	if o == nil || o.Id == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Job) GetIdOk() (*int32, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *Job) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given int32 and assigns it to the Id field.
+func (o *Job) SetId(v int32) {
+	o.Id = &v
+}
+
+// GetDagId returns the DagId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetDagId() string {
+	if o == nil || o.DagId.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.DagId.Get()
+}
+
+// GetDagIdOk returns a tuple with the DagId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetDagIdOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.DagId.Get(), o.DagId.IsSet()
+}
+
+// HasDagId returns a boolean if a field has been set.
+func (o *Job) HasDagId() bool {
+	if o != nil && o.DagId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDagId gets a reference to the given NullableString and assigns it to the DagId field.
+func (o *Job) SetDagId(v string) {
+	o.DagId.Set(&v)
+}
+// SetDagIdNil sets the value for DagId to be an explicit nil
+func (o *Job) SetDagIdNil() {
+	o.DagId.Set(nil)
+}
+
+// UnsetDagId ensures that no value is present for DagId, not even an explicit nil
+func (o *Job) UnsetDagId() {
+	o.DagId.Unset()
+}
+
+// GetState returns the State field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetState() string {
+	if o == nil || o.State.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.State.Get()
+}
+
+// GetStateOk returns a tuple with the State field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetStateOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.State.Get(), o.State.IsSet()
+}
+
+// HasState returns a boolean if a field has been set.
+func (o *Job) HasState() bool {
+	if o != nil && o.State.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetState gets a reference to the given NullableString and assigns it to the State field.
+func (o *Job) SetState(v string) {
+	o.State.Set(&v)
+}
+// SetStateNil sets the value for State to be an explicit nil
+func (o *Job) SetStateNil() {
+	o.State.Set(nil)
+}
+
+// UnsetState ensures that no value is present for State, not even an explicit nil
+func (o *Job) UnsetState() {
+	o.State.Unset()
+}
+
+// GetJobType returns the JobType field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetJobType() string {
+	if o == nil || o.JobType.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.JobType.Get()
+}
+
+// GetJobTypeOk returns a tuple with the JobType field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetJobTypeOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.JobType.Get(), o.JobType.IsSet()
+}
+
+// HasJobType returns a boolean if a field has been set.
+func (o *Job) HasJobType() bool {
+	if o != nil && o.JobType.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetJobType gets a reference to the given NullableString and assigns it to the JobType field.
+func (o *Job) SetJobType(v string) {
+	o.JobType.Set(&v)
+}
+// SetJobTypeNil sets the value for JobType to be an explicit nil
+func (o *Job) SetJobTypeNil() {
+	o.JobType.Set(nil)
+}
+
+// UnsetJobType ensures that no value is present for JobType, not even an explicit nil
+func (o *Job) UnsetJobType() {
+	o.JobType.Unset()
+}
+
+// GetStartDate returns the StartDate field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetStartDate() string {
+	if o == nil || o.StartDate.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.StartDate.Get()
+}
+
+// GetStartDateOk returns a tuple with the StartDate field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetStartDateOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.StartDate.Get(), o.StartDate.IsSet()
+}
+
+// HasStartDate returns a boolean if a field has been set.
+func (o *Job) HasStartDate() bool {
+	if o != nil && o.StartDate.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetStartDate gets a reference to the given NullableString and assigns it to the StartDate field.
+func (o *Job) SetStartDate(v string) {
+	o.StartDate.Set(&v)
+}
+// SetStartDateNil sets the value for StartDate to be an explicit nil
+func (o *Job) SetStartDateNil() {
+	o.StartDate.Set(nil)
+}
+
+// UnsetStartDate ensures that no value is present for StartDate, not even an explicit nil
+func (o *Job) UnsetStartDate() {
+	o.StartDate.Unset()
+}
+
+// GetEndDate returns the EndDate field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetEndDate() string {
+	if o == nil || o.EndDate.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.EndDate.Get()
+}
+
+// GetEndDateOk returns a tuple with the EndDate field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetEndDateOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.EndDate.Get(), o.EndDate.IsSet()
+}
+
+// HasEndDate returns a boolean if a field has been set.
+func (o *Job) HasEndDate() bool {
+	if o != nil && o.EndDate.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetEndDate gets a reference to the given NullableString and assigns it to the EndDate field.
+func (o *Job) SetEndDate(v string) {
+	o.EndDate.Set(&v)
+}
+// SetEndDateNil sets the value for EndDate to be an explicit nil
+func (o *Job) SetEndDateNil() {
+	o.EndDate.Set(nil)
+}
+
+// UnsetEndDate ensures that no value is present for EndDate, not even an explicit nil
+func (o *Job) UnsetEndDate() {
+	o.EndDate.Unset()
+}
+
+// GetLatestHeartbeat returns the LatestHeartbeat field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetLatestHeartbeat() string {
+	if o == nil || o.LatestHeartbeat.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.LatestHeartbeat.Get()
+}
+
+// GetLatestHeartbeatOk returns a tuple with the LatestHeartbeat field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetLatestHeartbeatOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.LatestHeartbeat.Get(), o.LatestHeartbeat.IsSet()
+}
+
+// HasLatestHeartbeat returns a boolean if a field has been set.
+func (o *Job) HasLatestHeartbeat() bool {
+	if o != nil && o.LatestHeartbeat.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetLatestHeartbeat gets a reference to the given NullableString and assigns it to the LatestHeartbeat field.
+func (o *Job) SetLatestHeartbeat(v string) {
+	o.LatestHeartbeat.Set(&v)
+}
+// SetLatestHeartbeatNil sets the value for LatestHeartbeat to be an explicit nil
+func (o *Job) SetLatestHeartbeatNil() {
+	o.LatestHeartbeat.Set(nil)
+}
+
+// UnsetLatestHeartbeat ensures that no value is present for LatestHeartbeat, not even an explicit nil
+func (o *Job) UnsetLatestHeartbeat() {
+	o.LatestHeartbeat.Unset()
+}
+
+// GetExecutorClass returns the ExecutorClass field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetExecutorClass() string {
+	if o == nil || o.ExecutorClass.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.ExecutorClass.Get()
+}
+
+// GetExecutorClassOk returns a tuple with the ExecutorClass field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetExecutorClassOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.ExecutorClass.Get(), o.ExecutorClass.IsSet()
+}
+
+// HasExecutorClass returns a boolean if a field has been set.
+func (o *Job) HasExecutorClass() bool {
+	if o != nil && o.ExecutorClass.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetExecutorClass gets a reference to the given NullableString and assigns it to the ExecutorClass field.
+func (o *Job) SetExecutorClass(v string) {
+	o.ExecutorClass.Set(&v)
+}
+// SetExecutorClassNil sets the value for ExecutorClass to be an explicit nil
+func (o *Job) SetExecutorClassNil() {
+	o.ExecutorClass.Set(nil)
+}
+
+// UnsetExecutorClass ensures that no value is present for ExecutorClass, not even an explicit nil
+func (o *Job) UnsetExecutorClass() {
+	o.ExecutorClass.Unset()
+}
+
+// GetHostname returns the Hostname field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetHostname() string {
+	if o == nil || o.Hostname.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.Hostname.Get()
+}
+
+// GetHostnameOk returns a tuple with the Hostname field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetHostnameOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.Hostname.Get(), o.Hostname.IsSet()
+}
+
+// HasHostname returns a boolean if a field has been set.
+func (o *Job) HasHostname() bool {
+	if o != nil && o.Hostname.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetHostname gets a reference to the given NullableString and assigns it to the Hostname field.
+func (o *Job) SetHostname(v string) {
+	o.Hostname.Set(&v)
+}
+// SetHostnameNil sets the value for Hostname to be an explicit nil
+func (o *Job) SetHostnameNil() {
+	o.Hostname.Set(nil)
+}
+
+// UnsetHostname ensures that no value is present for Hostname, not even an explicit nil
+func (o *Job) UnsetHostname() {
+	o.Hostname.Unset()
+}
+
+// GetUnixname returns the Unixname field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Job) GetUnixname() string {
+	if o == nil || o.Unixname.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.Unixname.Get()
+}
+
+// GetUnixnameOk returns a tuple with the Unixname field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Job) GetUnixnameOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.Unixname.Get(), o.Unixname.IsSet()
+}
+
+// HasUnixname returns a boolean if a field has been set.
+func (o *Job) HasUnixname() bool {
+	if o != nil && o.Unixname.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetUnixname gets a reference to the given NullableString and assigns it to the Unixname field.
+func (o *Job) SetUnixname(v string) {
+	o.Unixname.Set(&v)
+}
+// SetUnixnameNil sets the value for Unixname to be an explicit nil
+func (o *Job) SetUnixnameNil() {
+	o.Unixname.Set(nil)
+}
+
+// UnsetUnixname ensures that no value is present for Unixname, not even an explicit nil
+func (o *Job) UnsetUnixname() {
+	o.Unixname.Unset()
+}
+
+func (o Job) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+	if o.DagId.IsSet() {
+		toSerialize["dag_id"] = o.DagId.Get()
+	}
+	if o.State.IsSet() {
+		toSerialize["state"] = o.State.Get()
+	}
+	if o.JobType.IsSet() {
+		toSerialize["job_type"] = o.JobType.Get()
+	}
+	if o.StartDate.IsSet() {
+		toSerialize["start_date"] = o.StartDate.Get()
+	}
+	if o.EndDate.IsSet() {
+		toSerialize["end_date"] = o.EndDate.Get()
+	}
+	if o.LatestHeartbeat.IsSet() {
+		toSerialize["latest_heartbeat"] = o.LatestHeartbeat.Get()
+	}
+	if o.ExecutorClass.IsSet() {
+		toSerialize["executor_class"] = o.ExecutorClass.Get()
+	}
+	if o.Hostname.IsSet() {
+		toSerialize["hostname"] = o.Hostname.Get()
+	}
+	if o.Unixname.IsSet() {
+		toSerialize["unixname"] = o.Unixname.Get()
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableJob struct {
+	value *Job
+	isSet bool
+}
+
+func (v NullableJob) Get() *Job {
+	return v.value
+}
+
+func (v *NullableJob) Set(val *Job) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableJob) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableJob) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableJob(val *Job) *NullableJob {
+	return &NullableJob{value: val, isSet: true}
+}
+
+func (v NullableJob) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableJob) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_list_dag_runs_form.go b/airflow/model_list_dag_runs_form.go
index 4080e57..3ab0675 100644
--- a/airflow/model_list_dag_runs_form.go
+++ b/airflow/model_list_dag_runs_form.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_list_task_instance_form.go b/airflow/model_list_task_instance_form.go
index 1509e9d..01211d7 100644
--- a/airflow/model_list_task_instance_form.go
+++ b/airflow/model_list_task_instance_form.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_metadatabase_status.go b/airflow/model_metadatabase_status.go
index 141280f..133bc00 100644
--- a/airflow/model_metadatabase_status.go
+++ b/airflow/model_metadatabase_status.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_plugin_collection.go b/airflow/model_plugin_collection.go
index b7a52b1..ae7127b 100644
--- a/airflow/model_plugin_collection.go
+++ b/airflow/model_plugin_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_plugin_collection_all_of.go b/airflow/model_plugin_collection_all_of.go
index 6063fe8..93d58fc 100644
--- a/airflow/model_plugin_collection_all_of.go
+++ b/airflow/model_plugin_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_plugin_collection_item.go b/airflow/model_plugin_collection_item.go
index 26295ac..b1f3960 100644
--- a/airflow/model_plugin_collection_item.go
+++ b/airflow/model_plugin_collection_item.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -34,8 +34,6 @@
 
 // PluginCollectionItem A plugin Item.  *New in version 2.1.0* 
 type PluginCollectionItem struct {
-	// The plugin number
-	Number *string `json:"number,omitempty"`
 	// The name of the plugin
 	Name *string `json:"name,omitempty"`
 	// The plugin hooks
@@ -75,38 +73,6 @@
 	return &this
 }
 
-// GetNumber returns the Number field value if set, zero value otherwise.
-func (o *PluginCollectionItem) GetNumber() string {
-	if o == nil || o.Number == nil {
-		var ret string
-		return ret
-	}
-	return *o.Number
-}
-
-// GetNumberOk returns a tuple with the Number field value if set, nil otherwise
-// and a boolean to check if the value has been set.
-func (o *PluginCollectionItem) GetNumberOk() (*string, bool) {
-	if o == nil || o.Number == nil {
-		return nil, false
-	}
-	return o.Number, true
-}
-
-// HasNumber returns a boolean if a field has been set.
-func (o *PluginCollectionItem) HasNumber() bool {
-	if o != nil && o.Number != nil {
-		return true
-	}
-
-	return false
-}
-
-// SetNumber gets a reference to the given string and assigns it to the Number field.
-func (o *PluginCollectionItem) SetNumber(v string) {
-	o.Number = &v
-}
-
 // GetName returns the Name field value if set, zero value otherwise.
 func (o *PluginCollectionItem) GetName() string {
 	if o == nil || o.Name == nil {
@@ -439,9 +405,6 @@
 
 func (o PluginCollectionItem) MarshalJSON() ([]byte, error) {
 	toSerialize := map[string]interface{}{}
-	if o.Number != nil {
-		toSerialize["number"] = o.Number
-	}
 	if o.Name != nil {
 		toSerialize["name"] = o.Name
 	}
diff --git a/airflow/model_pool.go b/airflow/model_pool.go
index ee1f7a3..45ab430 100644
--- a/airflow/model_pool.go
+++ b/airflow/model_pool.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_pool_collection.go b/airflow/model_pool_collection.go
index f4bb71a..89693a8 100644
--- a/airflow/model_pool_collection.go
+++ b/airflow/model_pool_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_pool_collection_all_of.go b/airflow/model_pool_collection_all_of.go
index 477576a..ac18cbc 100644
--- a/airflow/model_pool_collection_all_of.go
+++ b/airflow/model_pool_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_provider.go b/airflow/model_provider.go
index c1ca0b9..72487a0 100644
--- a/airflow/model_provider.go
+++ b/airflow/model_provider.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_provider_collection.go b/airflow/model_provider_collection.go
index 1a0da4a..6e231ee 100644
--- a/airflow/model_provider_collection.go
+++ b/airflow/model_provider_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_relative_delta.go b/airflow/model_relative_delta.go
index a17c21d..ebbba1c 100644
--- a/airflow/model_relative_delta.go
+++ b/airflow/model_relative_delta.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_resource.go b/airflow/model_resource.go
index baa45df..b1eda8a 100644
--- a/airflow/model_resource.go
+++ b/airflow/model_resource.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_role.go b/airflow/model_role.go
index d0bf0cb..dea0413 100644
--- a/airflow/model_role.go
+++ b/airflow/model_role.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_role_collection.go b/airflow/model_role_collection.go
index b79ba78..454c997 100644
--- a/airflow/model_role_collection.go
+++ b/airflow/model_role_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_role_collection_all_of.go b/airflow/model_role_collection_all_of.go
index e43e313..1ef1a32 100644
--- a/airflow/model_role_collection_all_of.go
+++ b/airflow/model_role_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_schedule_interval.go b/airflow/model_schedule_interval.go
index d296fe2..b118247 100644
--- a/airflow/model_schedule_interval.go
+++ b/airflow/model_schedule_interval.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -43,6 +43,11 @@
 // Unmarshal JSON data into any of the pointers in the struct
 func (dst *ScheduleInterval) UnmarshalJSON(data []byte) error {
 	var err error
+	// this object is nullable so check if the payload is null or empty string
+	if string(data) == "" || string(data) == "{}" {
+		return nil
+	}
+
 	// use discriminator value to speed up the lookup
 	var jsonDict map[string]interface{}
 	err = json.Unmarshal(data, &jsonDict)
diff --git a/airflow/model_scheduler_status.go b/airflow/model_scheduler_status.go
index c647fc8..012fd5d 100644
--- a/airflow/model_scheduler_status.go
+++ b/airflow/model_scheduler_status.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_set_dag_run_note.go b/airflow/model_set_dag_run_note.go
new file mode 100644
index 0000000..d750532
--- /dev/null
+++ b/airflow/model_set_dag_run_note.go
@@ -0,0 +1,134 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// SetDagRunNote struct for SetDagRunNote
+type SetDagRunNote struct {
+	// Custom notes left by users for this Dag Run.
+	Note *string `json:"note,omitempty"`
+}
+
+// NewSetDagRunNote instantiates a new SetDagRunNote object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewSetDagRunNote() *SetDagRunNote {
+	this := SetDagRunNote{}
+	return &this
+}
+
+// NewSetDagRunNoteWithDefaults instantiates a new SetDagRunNote object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewSetDagRunNoteWithDefaults() *SetDagRunNote {
+	this := SetDagRunNote{}
+	return &this
+}
+
+// GetNote returns the Note field value if set, zero value otherwise.
+func (o *SetDagRunNote) GetNote() string {
+	if o == nil || o.Note == nil {
+		var ret string
+		return ret
+	}
+	return *o.Note
+}
+
+// GetNoteOk returns a tuple with the Note field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *SetDagRunNote) GetNoteOk() (*string, bool) {
+	if o == nil || o.Note == nil {
+		return nil, false
+	}
+	return o.Note, true
+}
+
+// HasNote returns a boolean if a field has been set.
+func (o *SetDagRunNote) HasNote() bool {
+	if o != nil && o.Note != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetNote gets a reference to the given string and assigns it to the Note field.
+func (o *SetDagRunNote) SetNote(v string) {
+	o.Note = &v
+}
+
+func (o SetDagRunNote) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Note != nil {
+		toSerialize["note"] = o.Note
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableSetDagRunNote struct {
+	value *SetDagRunNote
+	isSet bool
+}
+
+func (v NullableSetDagRunNote) Get() *SetDagRunNote {
+	return v.value
+}
+
+func (v *NullableSetDagRunNote) Set(val *SetDagRunNote) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableSetDagRunNote) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableSetDagRunNote) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableSetDagRunNote(val *SetDagRunNote) *NullableSetDagRunNote {
+	return &NullableSetDagRunNote{value: val, isSet: true}
+}
+
+func (v NullableSetDagRunNote) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableSetDagRunNote) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_set_task_instance_note.go b/airflow/model_set_task_instance_note.go
new file mode 100644
index 0000000..ed7343f
--- /dev/null
+++ b/airflow/model_set_task_instance_note.go
@@ -0,0 +1,127 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// SetTaskInstanceNote struct for SetTaskInstanceNote
+type SetTaskInstanceNote struct {
+	// The custom note to set for this Task Instance.
+	Note string `json:"note"`
+}
+
+// NewSetTaskInstanceNote instantiates a new SetTaskInstanceNote object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewSetTaskInstanceNote(note string) *SetTaskInstanceNote {
+	this := SetTaskInstanceNote{}
+	this.Note = note
+	return &this
+}
+
+// NewSetTaskInstanceNoteWithDefaults instantiates a new SetTaskInstanceNote object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewSetTaskInstanceNoteWithDefaults() *SetTaskInstanceNote {
+	this := SetTaskInstanceNote{}
+	return &this
+}
+
+// GetNote returns the Note field value
+func (o *SetTaskInstanceNote) GetNote() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Note
+}
+
+// GetNoteOk returns a tuple with the Note field value
+// and a boolean to check if the value has been set.
+func (o *SetTaskInstanceNote) GetNoteOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return &o.Note, true
+}
+
+// SetNote sets field value
+func (o *SetTaskInstanceNote) SetNote(v string) {
+	o.Note = v
+}
+
+func (o SetTaskInstanceNote) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["note"] = o.Note
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableSetTaskInstanceNote struct {
+	value *SetTaskInstanceNote
+	isSet bool
+}
+
+func (v NullableSetTaskInstanceNote) Get() *SetTaskInstanceNote {
+	return v.value
+}
+
+func (v *NullableSetTaskInstanceNote) Set(val *SetTaskInstanceNote) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableSetTaskInstanceNote) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableSetTaskInstanceNote) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableSetTaskInstanceNote(val *SetTaskInstanceNote) *NullableSetTaskInstanceNote {
+	return &NullableSetTaskInstanceNote{value: val, isSet: true}
+}
+
+func (v NullableSetTaskInstanceNote) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableSetTaskInstanceNote) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_sla_miss.go b/airflow/model_sla_miss.go
index 04c1859..f35e426 100644
--- a/airflow/model_sla_miss.go
+++ b/airflow/model_sla_miss.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_tag.go b/airflow/model_tag.go
index e7ba639..b4748d0 100644
--- a/airflow/model_tag.go
+++ b/airflow/model_tag.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_task.go b/airflow/model_task.go
index 294096d..e2ae6f3 100644
--- a/airflow/model_task.go
+++ b/airflow/model_task.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -46,7 +46,7 @@
 	IsMapped *bool `json:"is_mapped,omitempty"`
 	WaitForDownstream *bool `json:"wait_for_downstream,omitempty"`
 	Retries *float32 `json:"retries,omitempty"`
-	Queue *string `json:"queue,omitempty"`
+	Queue NullableString `json:"queue,omitempty"`
 	Pool *string `json:"pool,omitempty"`
 	PoolSlots *float32 `json:"pool_slots,omitempty"`
 	ExecutionTimeout *TimeDelta `json:"execution_timeout,omitempty"`
@@ -442,36 +442,46 @@
 	o.Retries = &v
 }
 
-// GetQueue returns the Queue field value if set, zero value otherwise.
+// GetQueue returns the Queue field value if set, zero value otherwise (both if not set or set to explicit null).
 func (o *Task) GetQueue() string {
-	if o == nil || o.Queue == nil {
+	if o == nil || o.Queue.Get() == nil {
 		var ret string
 		return ret
 	}
-	return *o.Queue
+	return *o.Queue.Get()
 }
 
 // GetQueueOk returns a tuple with the Queue field value if set, nil otherwise
 // and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
 func (o *Task) GetQueueOk() (*string, bool) {
-	if o == nil || o.Queue == nil {
+	if o == nil  {
 		return nil, false
 	}
-	return o.Queue, true
+	return o.Queue.Get(), o.Queue.IsSet()
 }
 
 // HasQueue returns a boolean if a field has been set.
 func (o *Task) HasQueue() bool {
-	if o != nil && o.Queue != nil {
+	if o != nil && o.Queue.IsSet() {
 		return true
 	}
 
 	return false
 }
 
-// SetQueue gets a reference to the given string and assigns it to the Queue field.
+// SetQueue gets a reference to the given NullableString and assigns it to the Queue field.
 func (o *Task) SetQueue(v string) {
-	o.Queue = &v
+	o.Queue.Set(&v)
+}
+// SetQueueNil sets the value for Queue to be an explicit nil
+func (o *Task) SetQueueNil() {
+	o.Queue.Set(nil)
+}
+
+// UnsetQueue ensures that no value is present for Queue, not even an explicit nil
+func (o *Task) UnsetQueue() {
+	o.Queue.Unset()
 }
 
 // GetPool returns the Pool field value if set, zero value otherwise.
@@ -893,8 +903,8 @@
 	if o.Retries != nil {
 		toSerialize["retries"] = o.Retries
 	}
-	if o.Queue != nil {
-		toSerialize["queue"] = o.Queue
+	if o.Queue.IsSet() {
+		toSerialize["queue"] = o.Queue.Get()
 	}
 	if o.Pool != nil {
 		toSerialize["pool"] = o.Pool
diff --git a/airflow/model_task_collection.go b/airflow/model_task_collection.go
index fcc0bfc..78e81a9 100644
--- a/airflow/model_task_collection.go
+++ b/airflow/model_task_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_task_extra_links.go b/airflow/model_task_extra_links.go
index 97235ad..b926e9b 100644
--- a/airflow/model_task_extra_links.go
+++ b/airflow/model_task_extra_links.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_task_instance.go b/airflow/model_task_instance.go
index bb7962d..c8d1037 100644
--- a/airflow/model_task_instance.go
+++ b/airflow/model_task_instance.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -44,21 +44,26 @@
 	Duration NullableFloat32 `json:"duration,omitempty"`
 	State *TaskState `json:"state,omitempty"`
 	TryNumber *int32 `json:"try_number,omitempty"`
+	MapIndex *int32 `json:"map_index,omitempty"`
 	MaxTries *int32 `json:"max_tries,omitempty"`
 	Hostname *string `json:"hostname,omitempty"`
 	Unixname *string `json:"unixname,omitempty"`
 	Pool *string `json:"pool,omitempty"`
 	PoolSlots *int32 `json:"pool_slots,omitempty"`
-	Queue *string `json:"queue,omitempty"`
-	PriorityWeight *int32 `json:"priority_weight,omitempty"`
+	Queue NullableString `json:"queue,omitempty"`
+	PriorityWeight NullableInt32 `json:"priority_weight,omitempty"`
 	// *Changed in version 2.1.1*&#58; Field becomes nullable. 
 	Operator NullableString `json:"operator,omitempty"`
 	QueuedWhen NullableString `json:"queued_when,omitempty"`
 	Pid NullableInt32 `json:"pid,omitempty"`
 	ExecutorConfig *string `json:"executor_config,omitempty"`
-	SlaMiss *SLAMiss `json:"sla_miss,omitempty"`
+	SlaMiss NullableSLAMiss `json:"sla_miss,omitempty"`
 	// JSON object describing rendered fields.  *New in version 2.3.0* 
 	RenderedFields *map[string]interface{} `json:"rendered_fields,omitempty"`
+	Trigger *Trigger `json:"trigger,omitempty"`
+	TriggererJob *Job `json:"triggerer_job,omitempty"`
+	// Contains manually entered notes by the user about the TaskInstance.  *New in version 2.5.0* 
+	Note NullableString `json:"note,omitempty"`
 }
 
 // NewTaskInstance instantiates a new TaskInstance object
@@ -396,6 +401,38 @@
 	o.TryNumber = &v
 }
 
+// GetMapIndex returns the MapIndex field value if set, zero value otherwise.
+func (o *TaskInstance) GetMapIndex() int32 {
+	if o == nil || o.MapIndex == nil {
+		var ret int32
+		return ret
+	}
+	return *o.MapIndex
+}
+
+// GetMapIndexOk returns a tuple with the MapIndex field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *TaskInstance) GetMapIndexOk() (*int32, bool) {
+	if o == nil || o.MapIndex == nil {
+		return nil, false
+	}
+	return o.MapIndex, true
+}
+
+// HasMapIndex returns a boolean if a field has been set.
+func (o *TaskInstance) HasMapIndex() bool {
+	if o != nil && o.MapIndex != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetMapIndex gets a reference to the given int32 and assigns it to the MapIndex field.
+func (o *TaskInstance) SetMapIndex(v int32) {
+	o.MapIndex = &v
+}
+
 // GetMaxTries returns the MaxTries field value if set, zero value otherwise.
 func (o *TaskInstance) GetMaxTries() int32 {
 	if o == nil || o.MaxTries == nil {
@@ -556,68 +593,88 @@
 	o.PoolSlots = &v
 }
 
-// GetQueue returns the Queue field value if set, zero value otherwise.
+// GetQueue returns the Queue field value if set, zero value otherwise (both if not set or set to explicit null).
 func (o *TaskInstance) GetQueue() string {
-	if o == nil || o.Queue == nil {
+	if o == nil || o.Queue.Get() == nil {
 		var ret string
 		return ret
 	}
-	return *o.Queue
+	return *o.Queue.Get()
 }
 
 // GetQueueOk returns a tuple with the Queue field value if set, nil otherwise
 // and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
 func (o *TaskInstance) GetQueueOk() (*string, bool) {
-	if o == nil || o.Queue == nil {
+	if o == nil  {
 		return nil, false
 	}
-	return o.Queue, true
+	return o.Queue.Get(), o.Queue.IsSet()
 }
 
 // HasQueue returns a boolean if a field has been set.
 func (o *TaskInstance) HasQueue() bool {
-	if o != nil && o.Queue != nil {
+	if o != nil && o.Queue.IsSet() {
 		return true
 	}
 
 	return false
 }
 
-// SetQueue gets a reference to the given string and assigns it to the Queue field.
+// SetQueue gets a reference to the given NullableString and assigns it to the Queue field.
 func (o *TaskInstance) SetQueue(v string) {
-	o.Queue = &v
+	o.Queue.Set(&v)
+}
+// SetQueueNil sets the value for Queue to be an explicit nil
+func (o *TaskInstance) SetQueueNil() {
+	o.Queue.Set(nil)
 }
 
-// GetPriorityWeight returns the PriorityWeight field value if set, zero value otherwise.
+// UnsetQueue ensures that no value is present for Queue, not even an explicit nil
+func (o *TaskInstance) UnsetQueue() {
+	o.Queue.Unset()
+}
+
+// GetPriorityWeight returns the PriorityWeight field value if set, zero value otherwise (both if not set or set to explicit null).
 func (o *TaskInstance) GetPriorityWeight() int32 {
-	if o == nil || o.PriorityWeight == nil {
+	if o == nil || o.PriorityWeight.Get() == nil {
 		var ret int32
 		return ret
 	}
-	return *o.PriorityWeight
+	return *o.PriorityWeight.Get()
 }
 
 // GetPriorityWeightOk returns a tuple with the PriorityWeight field value if set, nil otherwise
 // and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
 func (o *TaskInstance) GetPriorityWeightOk() (*int32, bool) {
-	if o == nil || o.PriorityWeight == nil {
+	if o == nil  {
 		return nil, false
 	}
-	return o.PriorityWeight, true
+	return o.PriorityWeight.Get(), o.PriorityWeight.IsSet()
 }
 
 // HasPriorityWeight returns a boolean if a field has been set.
 func (o *TaskInstance) HasPriorityWeight() bool {
-	if o != nil && o.PriorityWeight != nil {
+	if o != nil && o.PriorityWeight.IsSet() {
 		return true
 	}
 
 	return false
 }
 
-// SetPriorityWeight gets a reference to the given int32 and assigns it to the PriorityWeight field.
+// SetPriorityWeight gets a reference to the given NullableInt32 and assigns it to the PriorityWeight field.
 func (o *TaskInstance) SetPriorityWeight(v int32) {
-	o.PriorityWeight = &v
+	o.PriorityWeight.Set(&v)
+}
+// SetPriorityWeightNil sets the value for PriorityWeight to be an explicit nil
+func (o *TaskInstance) SetPriorityWeightNil() {
+	o.PriorityWeight.Set(nil)
+}
+
+// UnsetPriorityWeight ensures that no value is present for PriorityWeight, not even an explicit nil
+func (o *TaskInstance) UnsetPriorityWeight() {
+	o.PriorityWeight.Unset()
 }
 
 // GetOperator returns the Operator field value if set, zero value otherwise (both if not set or set to explicit null).
@@ -778,36 +835,46 @@
 	o.ExecutorConfig = &v
 }
 
-// GetSlaMiss returns the SlaMiss field value if set, zero value otherwise.
+// GetSlaMiss returns the SlaMiss field value if set, zero value otherwise (both if not set or set to explicit null).
 func (o *TaskInstance) GetSlaMiss() SLAMiss {
-	if o == nil || o.SlaMiss == nil {
+	if o == nil || o.SlaMiss.Get() == nil {
 		var ret SLAMiss
 		return ret
 	}
-	return *o.SlaMiss
+	return *o.SlaMiss.Get()
 }
 
 // GetSlaMissOk returns a tuple with the SlaMiss field value if set, nil otherwise
 // and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
 func (o *TaskInstance) GetSlaMissOk() (*SLAMiss, bool) {
-	if o == nil || o.SlaMiss == nil {
+	if o == nil  {
 		return nil, false
 	}
-	return o.SlaMiss, true
+	return o.SlaMiss.Get(), o.SlaMiss.IsSet()
 }
 
 // HasSlaMiss returns a boolean if a field has been set.
 func (o *TaskInstance) HasSlaMiss() bool {
-	if o != nil && o.SlaMiss != nil {
+	if o != nil && o.SlaMiss.IsSet() {
 		return true
 	}
 
 	return false
 }
 
-// SetSlaMiss gets a reference to the given SLAMiss and assigns it to the SlaMiss field.
+// SetSlaMiss gets a reference to the given NullableSLAMiss and assigns it to the SlaMiss field.
 func (o *TaskInstance) SetSlaMiss(v SLAMiss) {
-	o.SlaMiss = &v
+	o.SlaMiss.Set(&v)
+}
+// SetSlaMissNil sets the value for SlaMiss to be an explicit nil
+func (o *TaskInstance) SetSlaMissNil() {
+	o.SlaMiss.Set(nil)
+}
+
+// UnsetSlaMiss ensures that no value is present for SlaMiss, not even an explicit nil
+func (o *TaskInstance) UnsetSlaMiss() {
+	o.SlaMiss.Unset()
 }
 
 // GetRenderedFields returns the RenderedFields field value if set, zero value otherwise.
@@ -842,6 +909,112 @@
 	o.RenderedFields = &v
 }
 
+// GetTrigger returns the Trigger field value if set, zero value otherwise.
+func (o *TaskInstance) GetTrigger() Trigger {
+	if o == nil || o.Trigger == nil {
+		var ret Trigger
+		return ret
+	}
+	return *o.Trigger
+}
+
+// GetTriggerOk returns a tuple with the Trigger field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *TaskInstance) GetTriggerOk() (*Trigger, bool) {
+	if o == nil || o.Trigger == nil {
+		return nil, false
+	}
+	return o.Trigger, true
+}
+
+// HasTrigger returns a boolean if a field has been set.
+func (o *TaskInstance) HasTrigger() bool {
+	if o != nil && o.Trigger != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTrigger gets a reference to the given Trigger and assigns it to the Trigger field.
+func (o *TaskInstance) SetTrigger(v Trigger) {
+	o.Trigger = &v
+}
+
+// GetTriggererJob returns the TriggererJob field value if set, zero value otherwise.
+func (o *TaskInstance) GetTriggererJob() Job {
+	if o == nil || o.TriggererJob == nil {
+		var ret Job
+		return ret
+	}
+	return *o.TriggererJob
+}
+
+// GetTriggererJobOk returns a tuple with the TriggererJob field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *TaskInstance) GetTriggererJobOk() (*Job, bool) {
+	if o == nil || o.TriggererJob == nil {
+		return nil, false
+	}
+	return o.TriggererJob, true
+}
+
+// HasTriggererJob returns a boolean if a field has been set.
+func (o *TaskInstance) HasTriggererJob() bool {
+	if o != nil && o.TriggererJob != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTriggererJob gets a reference to the given Job and assigns it to the TriggererJob field.
+func (o *TaskInstance) SetTriggererJob(v Job) {
+	o.TriggererJob = &v
+}
+
+// GetNote returns the Note field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *TaskInstance) GetNote() string {
+	if o == nil || o.Note.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.Note.Get()
+}
+
+// GetNoteOk returns a tuple with the Note field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *TaskInstance) GetNoteOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.Note.Get(), o.Note.IsSet()
+}
+
+// HasNote returns a boolean if a field has been set.
+func (o *TaskInstance) HasNote() bool {
+	if o != nil && o.Note.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetNote gets a reference to the given NullableString and assigns it to the Note field.
+func (o *TaskInstance) SetNote(v string) {
+	o.Note.Set(&v)
+}
+// SetNoteNil sets the value for Note to be an explicit nil
+func (o *TaskInstance) SetNoteNil() {
+	o.Note.Set(nil)
+}
+
+// UnsetNote ensures that no value is present for Note, not even an explicit nil
+func (o *TaskInstance) UnsetNote() {
+	o.Note.Unset()
+}
+
 func (o TaskInstance) MarshalJSON() ([]byte, error) {
 	toSerialize := map[string]interface{}{}
 	if o.TaskId != nil {
@@ -871,6 +1044,9 @@
 	if o.TryNumber != nil {
 		toSerialize["try_number"] = o.TryNumber
 	}
+	if o.MapIndex != nil {
+		toSerialize["map_index"] = o.MapIndex
+	}
 	if o.MaxTries != nil {
 		toSerialize["max_tries"] = o.MaxTries
 	}
@@ -886,11 +1062,11 @@
 	if o.PoolSlots != nil {
 		toSerialize["pool_slots"] = o.PoolSlots
 	}
-	if o.Queue != nil {
-		toSerialize["queue"] = o.Queue
+	if o.Queue.IsSet() {
+		toSerialize["queue"] = o.Queue.Get()
 	}
-	if o.PriorityWeight != nil {
-		toSerialize["priority_weight"] = o.PriorityWeight
+	if o.PriorityWeight.IsSet() {
+		toSerialize["priority_weight"] = o.PriorityWeight.Get()
 	}
 	if o.Operator.IsSet() {
 		toSerialize["operator"] = o.Operator.Get()
@@ -904,12 +1080,21 @@
 	if o.ExecutorConfig != nil {
 		toSerialize["executor_config"] = o.ExecutorConfig
 	}
-	if o.SlaMiss != nil {
-		toSerialize["sla_miss"] = o.SlaMiss
+	if o.SlaMiss.IsSet() {
+		toSerialize["sla_miss"] = o.SlaMiss.Get()
 	}
 	if o.RenderedFields != nil {
 		toSerialize["rendered_fields"] = o.RenderedFields
 	}
+	if o.Trigger != nil {
+		toSerialize["trigger"] = o.Trigger
+	}
+	if o.TriggererJob != nil {
+		toSerialize["triggerer_job"] = o.TriggererJob
+	}
+	if o.Note.IsSet() {
+		toSerialize["note"] = o.Note.Get()
+	}
 	return json.Marshal(toSerialize)
 }
 
diff --git a/airflow/model_task_instance_collection.go b/airflow/model_task_instance_collection.go
index 76fbdbc..da08fd6 100644
--- a/airflow/model_task_instance_collection.go
+++ b/airflow/model_task_instance_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_task_instance_collection_all_of.go b/airflow/model_task_instance_collection_all_of.go
index 72ac938..71b743a 100644
--- a/airflow/model_task_instance_collection_all_of.go
+++ b/airflow/model_task_instance_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_task_instance_reference.go b/airflow/model_task_instance_reference.go
index 58dc181..025b5ef 100644
--- a/airflow/model_task_instance_reference.go
+++ b/airflow/model_task_instance_reference.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_task_instance_reference_collection.go b/airflow/model_task_instance_reference_collection.go
index 5da5fc7..4f06a2d 100644
--- a/airflow/model_task_instance_reference_collection.go
+++ b/airflow/model_task_instance_reference_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_task_outlet_dataset_reference.go b/airflow/model_task_outlet_dataset_reference.go
new file mode 100644
index 0000000..1df492d
--- /dev/null
+++ b/airflow/model_task_outlet_dataset_reference.go
@@ -0,0 +1,265 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// TaskOutletDatasetReference A datasets reference to an upstream task.  *New in version 2.4.0* 
+type TaskOutletDatasetReference struct {
+	// The DAG ID that updates the dataset.
+	DagId NullableString `json:"dag_id,omitempty"`
+	// The task ID that updates the dataset.
+	TaskId NullableString `json:"task_id,omitempty"`
+	// The dataset creation time
+	CreatedAt *string `json:"created_at,omitempty"`
+	// The dataset update time
+	UpdatedAt *string `json:"updated_at,omitempty"`
+}
+
+// NewTaskOutletDatasetReference instantiates a new TaskOutletDatasetReference object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewTaskOutletDatasetReference() *TaskOutletDatasetReference {
+	this := TaskOutletDatasetReference{}
+	return &this
+}
+
+// NewTaskOutletDatasetReferenceWithDefaults instantiates a new TaskOutletDatasetReference object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewTaskOutletDatasetReferenceWithDefaults() *TaskOutletDatasetReference {
+	this := TaskOutletDatasetReference{}
+	return &this
+}
+
+// GetDagId returns the DagId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *TaskOutletDatasetReference) GetDagId() string {
+	if o == nil || o.DagId.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.DagId.Get()
+}
+
+// GetDagIdOk returns a tuple with the DagId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *TaskOutletDatasetReference) GetDagIdOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.DagId.Get(), o.DagId.IsSet()
+}
+
+// HasDagId returns a boolean if a field has been set.
+func (o *TaskOutletDatasetReference) HasDagId() bool {
+	if o != nil && o.DagId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDagId gets a reference to the given NullableString and assigns it to the DagId field.
+func (o *TaskOutletDatasetReference) SetDagId(v string) {
+	o.DagId.Set(&v)
+}
+// SetDagIdNil sets the value for DagId to be an explicit nil
+func (o *TaskOutletDatasetReference) SetDagIdNil() {
+	o.DagId.Set(nil)
+}
+
+// UnsetDagId ensures that no value is present for DagId, not even an explicit nil
+func (o *TaskOutletDatasetReference) UnsetDagId() {
+	o.DagId.Unset()
+}
+
+// GetTaskId returns the TaskId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *TaskOutletDatasetReference) GetTaskId() string {
+	if o == nil || o.TaskId.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.TaskId.Get()
+}
+
+// GetTaskIdOk returns a tuple with the TaskId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *TaskOutletDatasetReference) GetTaskIdOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.TaskId.Get(), o.TaskId.IsSet()
+}
+
+// HasTaskId returns a boolean if a field has been set.
+func (o *TaskOutletDatasetReference) HasTaskId() bool {
+	if o != nil && o.TaskId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetTaskId gets a reference to the given NullableString and assigns it to the TaskId field.
+func (o *TaskOutletDatasetReference) SetTaskId(v string) {
+	o.TaskId.Set(&v)
+}
+// SetTaskIdNil sets the value for TaskId to be an explicit nil
+func (o *TaskOutletDatasetReference) SetTaskIdNil() {
+	o.TaskId.Set(nil)
+}
+
+// UnsetTaskId ensures that no value is present for TaskId, not even an explicit nil
+func (o *TaskOutletDatasetReference) UnsetTaskId() {
+	o.TaskId.Unset()
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *TaskOutletDatasetReference) GetCreatedAt() string {
+	if o == nil || o.CreatedAt == nil {
+		var ret string
+		return ret
+	}
+	return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *TaskOutletDatasetReference) GetCreatedAtOk() (*string, bool) {
+	if o == nil || o.CreatedAt == nil {
+		return nil, false
+	}
+	return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *TaskOutletDatasetReference) HasCreatedAt() bool {
+	if o != nil && o.CreatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCreatedAt gets a reference to the given string and assigns it to the CreatedAt field.
+func (o *TaskOutletDatasetReference) SetCreatedAt(v string) {
+	o.CreatedAt = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *TaskOutletDatasetReference) GetUpdatedAt() string {
+	if o == nil || o.UpdatedAt == nil {
+		var ret string
+		return ret
+	}
+	return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *TaskOutletDatasetReference) GetUpdatedAtOk() (*string, bool) {
+	if o == nil || o.UpdatedAt == nil {
+		return nil, false
+	}
+	return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *TaskOutletDatasetReference) HasUpdatedAt() bool {
+	if o != nil && o.UpdatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetUpdatedAt gets a reference to the given string and assigns it to the UpdatedAt field.
+func (o *TaskOutletDatasetReference) SetUpdatedAt(v string) {
+	o.UpdatedAt = &v
+}
+
+func (o TaskOutletDatasetReference) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DagId.IsSet() {
+		toSerialize["dag_id"] = o.DagId.Get()
+	}
+	if o.TaskId.IsSet() {
+		toSerialize["task_id"] = o.TaskId.Get()
+	}
+	if o.CreatedAt != nil {
+		toSerialize["created_at"] = o.CreatedAt
+	}
+	if o.UpdatedAt != nil {
+		toSerialize["updated_at"] = o.UpdatedAt
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableTaskOutletDatasetReference struct {
+	value *TaskOutletDatasetReference
+	isSet bool
+}
+
+func (v NullableTaskOutletDatasetReference) Get() *TaskOutletDatasetReference {
+	return v.value
+}
+
+func (v *NullableTaskOutletDatasetReference) Set(val *TaskOutletDatasetReference) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableTaskOutletDatasetReference) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableTaskOutletDatasetReference) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableTaskOutletDatasetReference(val *TaskOutletDatasetReference) *NullableTaskOutletDatasetReference {
+	return &NullableTaskOutletDatasetReference{value: val, isSet: true}
+}
+
+func (v NullableTaskOutletDatasetReference) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableTaskOutletDatasetReference) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_task_state.go b/airflow/model_task_state.go
index cecdf49..7b59313 100644
--- a/airflow/model_task_state.go
+++ b/airflow/model_task_state.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -33,7 +33,7 @@
 	"fmt"
 )
 
-// TaskState Task state.  *Changed in version 2.0.2*&#58; 'removed' is added as a possible value.  *Changed in version 2.2.0*&#58; 'deferred' and 'sensing' is added as a possible value. 
+// TaskState Task state.  *Changed in version 2.0.2*&#58; 'removed' is added as a possible value.  *Changed in version 2.2.0*&#58; 'deferred' is added as a possible value.  *Changed in version 2.4.0*&#58; 'sensing' state has been removed. *Changed in version 2.4.2*&#58; 'restarting' is added as a possible value 
 type TaskState string
 
 // List of TaskState
@@ -49,8 +49,8 @@
 	TASKSTATE_NONE TaskState = "none"
 	TASKSTATE_SCHEDULED TaskState = "scheduled"
 	TASKSTATE_DEFERRED TaskState = "deferred"
-	TASKSTATE_SENSING TaskState = "sensing"
 	TASKSTATE_REMOVED TaskState = "removed"
+	TASKSTATE_RESTARTING TaskState = "restarting"
 )
 
 // All allowed values of TaskState enum
@@ -66,8 +66,8 @@
 	"none",
 	"scheduled",
 	"deferred",
-	"sensing",
 	"removed",
+	"restarting",
 }
 
 func (v *TaskState) UnmarshalJSON(src []byte) error {
diff --git a/airflow/model_time_delta.go b/airflow/model_time_delta.go
index 0bc45ad..08fb260 100644
--- a/airflow/model_time_delta.go
+++ b/airflow/model_time_delta.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_trigger.go b/airflow/model_trigger.go
new file mode 100644
index 0000000..f3d21a3
--- /dev/null
+++ b/airflow/model_trigger.go
@@ -0,0 +1,287 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// Trigger struct for Trigger
+type Trigger struct {
+	Id *int32 `json:"id,omitempty"`
+	Classpath *string `json:"classpath,omitempty"`
+	Kwargs *string `json:"kwargs,omitempty"`
+	CreatedDate *string `json:"created_date,omitempty"`
+	TriggererId NullableInt32 `json:"triggerer_id,omitempty"`
+}
+
+// NewTrigger instantiates a new Trigger object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewTrigger() *Trigger {
+	this := Trigger{}
+	return &this
+}
+
+// NewTriggerWithDefaults instantiates a new Trigger object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewTriggerWithDefaults() *Trigger {
+	this := Trigger{}
+	return &this
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *Trigger) GetId() int32 {
+	if o == nil || o.Id == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Trigger) GetIdOk() (*int32, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *Trigger) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given int32 and assigns it to the Id field.
+func (o *Trigger) SetId(v int32) {
+	o.Id = &v
+}
+
+// GetClasspath returns the Classpath field value if set, zero value otherwise.
+func (o *Trigger) GetClasspath() string {
+	if o == nil || o.Classpath == nil {
+		var ret string
+		return ret
+	}
+	return *o.Classpath
+}
+
+// GetClasspathOk returns a tuple with the Classpath field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Trigger) GetClasspathOk() (*string, bool) {
+	if o == nil || o.Classpath == nil {
+		return nil, false
+	}
+	return o.Classpath, true
+}
+
+// HasClasspath returns a boolean if a field has been set.
+func (o *Trigger) HasClasspath() bool {
+	if o != nil && o.Classpath != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetClasspath gets a reference to the given string and assigns it to the Classpath field.
+func (o *Trigger) SetClasspath(v string) {
+	o.Classpath = &v
+}
+
+// GetKwargs returns the Kwargs field value if set, zero value otherwise.
+func (o *Trigger) GetKwargs() string {
+	if o == nil || o.Kwargs == nil {
+		var ret string
+		return ret
+	}
+	return *o.Kwargs
+}
+
+// GetKwargsOk returns a tuple with the Kwargs field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Trigger) GetKwargsOk() (*string, bool) {
+	if o == nil || o.Kwargs == nil {
+		return nil, false
+	}
+	return o.Kwargs, true
+}
+
+// HasKwargs returns a boolean if a field has been set.
+func (o *Trigger) HasKwargs() bool {
+	if o != nil && o.Kwargs != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetKwargs gets a reference to the given string and assigns it to the Kwargs field.
+func (o *Trigger) SetKwargs(v string) {
+	o.Kwargs = &v
+}
+
+// GetCreatedDate returns the CreatedDate field value if set, zero value otherwise.
+func (o *Trigger) GetCreatedDate() string {
+	if o == nil || o.CreatedDate == nil {
+		var ret string
+		return ret
+	}
+	return *o.CreatedDate
+}
+
+// GetCreatedDateOk returns a tuple with the CreatedDate field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Trigger) GetCreatedDateOk() (*string, bool) {
+	if o == nil || o.CreatedDate == nil {
+		return nil, false
+	}
+	return o.CreatedDate, true
+}
+
+// HasCreatedDate returns a boolean if a field has been set.
+func (o *Trigger) HasCreatedDate() bool {
+	if o != nil && o.CreatedDate != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCreatedDate gets a reference to the given string and assigns it to the CreatedDate field.
+func (o *Trigger) SetCreatedDate(v string) {
+	o.CreatedDate = &v
+}
+
+// GetTriggererId returns the TriggererId field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Trigger) GetTriggererId() int32 {
+	if o == nil || o.TriggererId.Get() == nil {
+		var ret int32
+		return ret
+	}
+	return *o.TriggererId.Get()
+}
+
+// GetTriggererIdOk returns a tuple with the TriggererId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Trigger) GetTriggererIdOk() (*int32, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.TriggererId.Get(), o.TriggererId.IsSet()
+}
+
+// HasTriggererId returns a boolean if a field has been set.
+func (o *Trigger) HasTriggererId() bool {
+	if o != nil && o.TriggererId.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetTriggererId gets a reference to the given NullableInt32 and assigns it to the TriggererId field.
+func (o *Trigger) SetTriggererId(v int32) {
+	o.TriggererId.Set(&v)
+}
+// SetTriggererIdNil sets the value for TriggererId to be an explicit nil
+func (o *Trigger) SetTriggererIdNil() {
+	o.TriggererId.Set(nil)
+}
+
+// UnsetTriggererId ensures that no value is present for TriggererId, not even an explicit nil
+func (o *Trigger) UnsetTriggererId() {
+	o.TriggererId.Unset()
+}
+
+func (o Trigger) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+	if o.Classpath != nil {
+		toSerialize["classpath"] = o.Classpath
+	}
+	if o.Kwargs != nil {
+		toSerialize["kwargs"] = o.Kwargs
+	}
+	if o.CreatedDate != nil {
+		toSerialize["created_date"] = o.CreatedDate
+	}
+	if o.TriggererId.IsSet() {
+		toSerialize["triggerer_id"] = o.TriggererId.Get()
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableTrigger struct {
+	value *Trigger
+	isSet bool
+}
+
+func (v NullableTrigger) Get() *Trigger {
+	return v.value
+}
+
+func (v *NullableTrigger) Set(val *Trigger) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableTrigger) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableTrigger) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableTrigger(val *Trigger) *NullableTrigger {
+	return &NullableTrigger{value: val, isSet: true}
+}
+
+func (v NullableTrigger) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableTrigger) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_trigger_rule.go b/airflow/model_trigger_rule.go
index d79d3fa..bdad206 100644
--- a/airflow/model_trigger_rule.go
+++ b/airflow/model_trigger_rule.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_update_dag_run_state.go b/airflow/model_update_dag_run_state.go
index e573e6d..413c155 100644
--- a/airflow/model_update_dag_run_state.go
+++ b/airflow/model_update_dag_run_state.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_update_task_instance.go b/airflow/model_update_task_instance.go
new file mode 100644
index 0000000..7d32a31
--- /dev/null
+++ b/airflow/model_update_task_instance.go
@@ -0,0 +1,175 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+/*
+Airflow API (Stable)
+
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+
+API version: 2.5.0
+Contact: dev@airflow.apache.org
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package airflow
+
+import (
+	"encoding/json"
+)
+
+// UpdateTaskInstance struct for UpdateTaskInstance
+type UpdateTaskInstance struct {
+	// If set, don't actually run this operation. The response will contain the task instance planned to be affected, but won't be modified in any way. 
+	DryRun *bool `json:"dry_run,omitempty"`
+	// Expected new state.
+	NewState *string `json:"new_state,omitempty"`
+}
+
+// NewUpdateTaskInstance instantiates a new UpdateTaskInstance object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewUpdateTaskInstance() *UpdateTaskInstance {
+	this := UpdateTaskInstance{}
+	var dryRun bool = false
+	this.DryRun = &dryRun
+	return &this
+}
+
+// NewUpdateTaskInstanceWithDefaults instantiates a new UpdateTaskInstance object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewUpdateTaskInstanceWithDefaults() *UpdateTaskInstance {
+	this := UpdateTaskInstance{}
+	var dryRun bool = false
+	this.DryRun = &dryRun
+	return &this
+}
+
+// GetDryRun returns the DryRun field value if set, zero value otherwise.
+func (o *UpdateTaskInstance) GetDryRun() bool {
+	if o == nil || o.DryRun == nil {
+		var ret bool
+		return ret
+	}
+	return *o.DryRun
+}
+
+// GetDryRunOk returns a tuple with the DryRun field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *UpdateTaskInstance) GetDryRunOk() (*bool, bool) {
+	if o == nil || o.DryRun == nil {
+		return nil, false
+	}
+	return o.DryRun, true
+}
+
+// HasDryRun returns a boolean if a field has been set.
+func (o *UpdateTaskInstance) HasDryRun() bool {
+	if o != nil && o.DryRun != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDryRun gets a reference to the given bool and assigns it to the DryRun field.
+func (o *UpdateTaskInstance) SetDryRun(v bool) {
+	o.DryRun = &v
+}
+
+// GetNewState returns the NewState field value if set, zero value otherwise.
+func (o *UpdateTaskInstance) GetNewState() string {
+	if o == nil || o.NewState == nil {
+		var ret string
+		return ret
+	}
+	return *o.NewState
+}
+
+// GetNewStateOk returns a tuple with the NewState field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *UpdateTaskInstance) GetNewStateOk() (*string, bool) {
+	if o == nil || o.NewState == nil {
+		return nil, false
+	}
+	return o.NewState, true
+}
+
+// HasNewState returns a boolean if a field has been set.
+func (o *UpdateTaskInstance) HasNewState() bool {
+	if o != nil && o.NewState != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetNewState gets a reference to the given string and assigns it to the NewState field.
+func (o *UpdateTaskInstance) SetNewState(v string) {
+	o.NewState = &v
+}
+
+func (o UpdateTaskInstance) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.DryRun != nil {
+		toSerialize["dry_run"] = o.DryRun
+	}
+	if o.NewState != nil {
+		toSerialize["new_state"] = o.NewState
+	}
+	return json.Marshal(toSerialize)
+}
+
+type NullableUpdateTaskInstance struct {
+	value *UpdateTaskInstance
+	isSet bool
+}
+
+func (v NullableUpdateTaskInstance) Get() *UpdateTaskInstance {
+	return v.value
+}
+
+func (v *NullableUpdateTaskInstance) Set(val *UpdateTaskInstance) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableUpdateTaskInstance) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableUpdateTaskInstance) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableUpdateTaskInstance(val *UpdateTaskInstance) *NullableUpdateTaskInstance {
+	return &NullableUpdateTaskInstance{value: val, isSet: true}
+}
+
+func (v NullableUpdateTaskInstance) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableUpdateTaskInstance) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/airflow/model_update_task_instances_state.go b/airflow/model_update_task_instances_state.go
index da7fac9..7c46a75 100644
--- a/airflow/model_update_task_instances_state.go
+++ b/airflow/model_update_task_instances_state.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_user.go b/airflow/model_user.go
index ffbdc9b..5980948 100644
--- a/airflow/model_user.go
+++ b/airflow/model_user.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -34,9 +34,9 @@
 
 // User A user object with sensitive data.  *New in version 2.1.0* 
 type User struct {
-	// The user's first name.  *Changed in version 2.2.0*&#58; A minimum character length requirement ('minLength') is added. 
+	// The user's first name.  *Changed in version 2.4.0*&#58; The requirement for this to be non-empty was removed. 
 	FirstName *string `json:"first_name,omitempty"`
-	// The user's last name.  *Changed in version 2.2.0*&#58; A minimum character length requirement ('minLength') is added. 
+	// The user's last name.  *Changed in version 2.4.0*&#58; The requirement for this to be non-empty was removed. 
 	LastName *string `json:"last_name,omitempty"`
 	// The username.  *Changed in version 2.2.0*&#58; A minimum character length requirement ('minLength') is added. 
 	Username *string `json:"username,omitempty"`
diff --git a/airflow/model_user_all_of.go b/airflow/model_user_all_of.go
index f7b0576..1d15d27 100644
--- a/airflow/model_user_all_of.go
+++ b/airflow/model_user_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_user_collection.go b/airflow/model_user_collection.go
index 7fb0be1..71c2b8e 100644
--- a/airflow/model_user_collection.go
+++ b/airflow/model_user_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_user_collection_all_of.go b/airflow/model_user_collection_all_of.go
index e38a080..aa46f23 100644
--- a/airflow/model_user_collection_all_of.go
+++ b/airflow/model_user_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_user_collection_item.go b/airflow/model_user_collection_item.go
index 8a6c279..3eb72bb 100644
--- a/airflow/model_user_collection_item.go
+++ b/airflow/model_user_collection_item.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -34,9 +34,9 @@
 
 // UserCollectionItem A user object.  *New in version 2.1.0* 
 type UserCollectionItem struct {
-	// The user's first name.  *Changed in version 2.2.0*&#58; A minimum character length requirement ('minLength') is added. 
+	// The user's first name.  *Changed in version 2.4.0*&#58; The requirement for this to be non-empty was removed. 
 	FirstName *string `json:"first_name,omitempty"`
-	// The user's last name.  *Changed in version 2.2.0*&#58; A minimum character length requirement ('minLength') is added. 
+	// The user's last name.  *Changed in version 2.4.0*&#58; The requirement for this to be non-empty was removed. 
 	LastName *string `json:"last_name,omitempty"`
 	// The username.  *Changed in version 2.2.0*&#58; A minimum character length requirement ('minLength') is added. 
 	Username *string `json:"username,omitempty"`
diff --git a/airflow/model_user_collection_item_roles.go b/airflow/model_user_collection_item_roles.go
index e4a520f..5f10a7a 100644
--- a/airflow/model_user_collection_item_roles.go
+++ b/airflow/model_user_collection_item_roles.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_variable.go b/airflow/model_variable.go
index eda6551..6f4c385 100644
--- a/airflow/model_variable.go
+++ b/airflow/model_variable.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -35,6 +35,8 @@
 // Variable Full representation of Variable
 type Variable struct {
 	Key *string `json:"key,omitempty"`
+	// The description of the variable.  *New in version 2.4.0* 
+	Description NullableString `json:"description,omitempty"`
 	Value *string `json:"value,omitempty"`
 }
 
@@ -87,6 +89,48 @@
 	o.Key = &v
 }
 
+// GetDescription returns the Description field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Variable) GetDescription() string {
+	if o == nil || o.Description.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.Description.Get()
+}
+
+// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Variable) GetDescriptionOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.Description.Get(), o.Description.IsSet()
+}
+
+// HasDescription returns a boolean if a field has been set.
+func (o *Variable) HasDescription() bool {
+	if o != nil && o.Description.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDescription gets a reference to the given NullableString and assigns it to the Description field.
+func (o *Variable) SetDescription(v string) {
+	o.Description.Set(&v)
+}
+// SetDescriptionNil sets the value for Description to be an explicit nil
+func (o *Variable) SetDescriptionNil() {
+	o.Description.Set(nil)
+}
+
+// UnsetDescription ensures that no value is present for Description, not even an explicit nil
+func (o *Variable) UnsetDescription() {
+	o.Description.Unset()
+}
+
 // GetValue returns the Value field value if set, zero value otherwise.
 func (o *Variable) GetValue() string {
 	if o == nil || o.Value == nil {
@@ -124,6 +168,9 @@
 	if o.Key != nil {
 		toSerialize["key"] = o.Key
 	}
+	if o.Description.IsSet() {
+		toSerialize["description"] = o.Description.Get()
+	}
 	if o.Value != nil {
 		toSerialize["value"] = o.Value
 	}
diff --git a/airflow/model_variable_all_of.go b/airflow/model_variable_all_of.go
index 9e7969b..8d5a2ca 100644
--- a/airflow/model_variable_all_of.go
+++ b/airflow/model_variable_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_variable_collection.go b/airflow/model_variable_collection.go
index f604d49..d4f2832 100644
--- a/airflow/model_variable_collection.go
+++ b/airflow/model_variable_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_variable_collection_all_of.go b/airflow/model_variable_collection_all_of.go
index 34f1458..4523def 100644
--- a/airflow/model_variable_collection_all_of.go
+++ b/airflow/model_variable_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_variable_collection_item.go b/airflow/model_variable_collection_item.go
index 740ff85..891abf2 100644
--- a/airflow/model_variable_collection_item.go
+++ b/airflow/model_variable_collection_item.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
@@ -35,6 +35,8 @@
 // VariableCollectionItem XCom entry collection item. The value field are only available when retrieving a single object due to the sensitivity of this data.
 type VariableCollectionItem struct {
 	Key *string `json:"key,omitempty"`
+	// The description of the variable.  *New in version 2.4.0* 
+	Description NullableString `json:"description,omitempty"`
 }
 
 // NewVariableCollectionItem instantiates a new VariableCollectionItem object
@@ -86,11 +88,56 @@
 	o.Key = &v
 }
 
+// GetDescription returns the Description field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *VariableCollectionItem) GetDescription() string {
+	if o == nil || o.Description.Get() == nil {
+		var ret string
+		return ret
+	}
+	return *o.Description.Get()
+}
+
+// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *VariableCollectionItem) GetDescriptionOk() (*string, bool) {
+	if o == nil  {
+		return nil, false
+	}
+	return o.Description.Get(), o.Description.IsSet()
+}
+
+// HasDescription returns a boolean if a field has been set.
+func (o *VariableCollectionItem) HasDescription() bool {
+	if o != nil && o.Description.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetDescription gets a reference to the given NullableString and assigns it to the Description field.
+func (o *VariableCollectionItem) SetDescription(v string) {
+	o.Description.Set(&v)
+}
+// SetDescriptionNil sets the value for Description to be an explicit nil
+func (o *VariableCollectionItem) SetDescriptionNil() {
+	o.Description.Set(nil)
+}
+
+// UnsetDescription ensures that no value is present for Description, not even an explicit nil
+func (o *VariableCollectionItem) UnsetDescription() {
+	o.Description.Unset()
+}
+
 func (o VariableCollectionItem) MarshalJSON() ([]byte, error) {
 	toSerialize := map[string]interface{}{}
 	if o.Key != nil {
 		toSerialize["key"] = o.Key
 	}
+	if o.Description.IsSet() {
+		toSerialize["description"] = o.Description.Get()
+	}
 	return json.Marshal(toSerialize)
 }
 
diff --git a/airflow/model_version_info.go b/airflow/model_version_info.go
index 343a6a3..c7f0bbb 100644
--- a/airflow/model_version_info.go
+++ b/airflow/model_version_info.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_weight_rule.go b/airflow/model_weight_rule.go
index 3cc47ec..7c97c8d 100644
--- a/airflow/model_weight_rule.go
+++ b/airflow/model_weight_rule.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_x_com.go b/airflow/model_x_com.go
index c297233..f62b041 100644
--- a/airflow/model_x_com.go
+++ b/airflow/model_x_com.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_x_com_all_of.go b/airflow/model_x_com_all_of.go
index 77f83f2..21f25d5 100644
--- a/airflow/model_x_com_all_of.go
+++ b/airflow/model_x_com_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_x_com_collection.go b/airflow/model_x_com_collection.go
index 06f3388..39625d3 100644
--- a/airflow/model_x_com_collection.go
+++ b/airflow/model_x_com_collection.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_x_com_collection_all_of.go b/airflow/model_x_com_collection_all_of.go
index 481c242..6275611 100644
--- a/airflow/model_x_com_collection_all_of.go
+++ b/airflow/model_x_com_collection_all_of.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/model_x_com_collection_item.go b/airflow/model_x_com_collection_item.go
index 3096235..e8c90ff 100644
--- a/airflow/model_x_com_collection_item.go
+++ b/airflow/model_x_com_collection_item.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/response.go b/airflow/response.go
index 1dceb95..e5b60a5 100644
--- a/airflow/response.go
+++ b/airflow/response.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */
 
diff --git a/airflow/utils.go b/airflow/utils.go
index e343109..dd011df 100644
--- a/airflow/utils.go
+++ b/airflow/utils.go
@@ -20,7 +20,7 @@
 
 # Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
-API version: 1.0.0
+API version: 2.5.0
 Contact: dev@airflow.apache.org
 */