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.

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).

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.