> ## Documentation Index
> Fetch the complete documentation index at: https://astronomer.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

<Update label="2026-07-10">
  ## Summary

  * Added a `LabsListAlerts` endpoint to the Labs API. `GET /organizations/{organizationId}/alerts` lists alerts and their notification channels, with filtering by alert or deployment IDs.

  ## Added

  * **Endpoints**
    * `GET /organizations/{organizationId}/alerts` (`LabsListAlerts`): List alerts, including their notification channels. Filter with `alertIds` or `deploymentIds` (up to 1,000 IDs each) and paginate with `offset` and `limit` (default 20, maximum 1,000). Returns an `AlertsList`.
</Update>

<Update label="2026-07-01">
  ## Summary

  * Added bulk alert management to the Labs API. New `create-alerts`, `update-alerts`, and `delete-alerts` endpoints let clients manage up to 30, 30, and 20 alerts per request across six alert types: Dag success, Dag failure, Dag duration, Dag timeliness, task duration, and task failure.

  ## Added

  * **Endpoints**
    * `POST /organizations/{organizationId}/create-alerts` (`LabsCreateAlerts`): Bulk create up to 30 alerts. Takes a `CreateAlertsRequest` and returns an `AlertsList`.
    * `POST /organizations/{organizationId}/update-alerts` (`LabsUpdateAlerts`): Bulk update up to 30 alerts. Takes an `UpdateAlertsRequest` and returns an `AlertsList`.
    * `POST /organizations/{organizationId}/delete-alerts` (`LabsDeleteAlerts`): Bulk delete up to 20 alerts. Takes a `DeleteAlertsRequest`. Returns `204` with no response body.

  * **Schemas**
    * `Alert`, `AlertsList`, `AlertNotificationChannel`, `AlertRules`, `BasicSubjectProfile`: Response shapes for an alert, a list of alerts, a notification channel, an alert's rules, and the profile of the user or API token that created or updated an alert.
    * `CreateAlertsRequest`, `UpdateAlertsRequest`, `DeleteAlertsRequest`: Bulk request wrappers. `CreateAlertsRequest` and `UpdateAlertsRequest` each wrap a list of `CreateAlertRequest` or `UpdateAlertRequest`, a `type`-discriminated union over the six alert types. `DeleteAlertsRequest` wraps a list of `alertIds`.
    * Per-type request, properties, and rules schemas: each of the six alert types (`DAG_SUCCESS`, `DAG_FAILURE`, `DAG_DURATION`, `DAG_TIMELINESS`, `TASK_DURATION`, and `TASK_FAILURE`) gets its own create and update request, properties, and rules schemas, for example `CreateDagDurationAlertRequest`, `CreateDagDurationAlertProperties`, and `CreateDagDurationAlertRules` for Dag duration alerts. Each type's properties schema holds its type-specific configuration, for example `dagDurationSeconds` for Dag duration alerts or `dagDeadline` and `daysOfWeek` for Dag timeliness alerts.
    * `PatternMatch`, `PatternMatchRequest`: Scope an alert to specific Dag or task IDs using an `entityType` (`DAG_ID` or `TASK_ID`) and `operatorType` (`IS`, `IS_NOT`, `INCLUDES`, or `EXCLUDES`).
</Update>

<Update label="2026-06-02">
  ## Summary

  * Initial release of the Astro Labs API, an experimental surface for Labs features.
  * Adds Observability endpoints for AI-powered Dag-failure diagnosis: start a diagnosis run, poll its status, and stream its events over Server-Sent Events.
  * Adds a demonstration `Example` endpoint that shows how Labs minor-version pinning behaves through the `X-Labs-API-Version` header.

  ## Added

  * **Endpoints**
    * `POST /organizations/{organizationId}/observability/deployments/{deploymentId}/dag-failure-diagnosis/runs`: Start an asynchronous Dag-failure diagnosis run.
    * `GET /organizations/{organizationId}/observability/deployments/{deploymentId}/dag-failure-diagnosis/runs/{diagnosisRunId}/status`: Get the status of a diagnosis run.
    * `GET /organizations/{organizationId}/observability/deployments/{deploymentId}/dag-failure-diagnosis/runs/{diagnosisRunId}/events`: Stream diagnosis events over Server-Sent Events, with reconnection through the `lastEventId` query parameter.

  * **Schemas**
    * `DagFailureDiagnosisRun`: A started diagnosis run. Includes `runId`, `status`, and `createdAt`.
    * `DagFailureDiagnosisRunStatus`: The current status of a diagnosis run. Includes `runId`, `status`, `createdAt`, and `updatedAt`.
    * `StartDagFailureDiagnosisRequest`: The request body for starting a run. Required: `dagId`, `runId`. Optional: `taskId`, `tryNumbers`, `skipCacheRead`.
    * `Example`: The demonstration response. Includes `id`, `createdAt`, and `proofOfConcept`.
    * `Error`: The error response shape. Includes `message`, `statusCode`, and `requestId`.
</Update>
