Summary
- Added bulk create/delete endpoints for organization allowed IP address ranges.
- Added an endpoint to retrieve Organization audit logs for a time period.
- Added three billing usage endpoints: daily usage, per-deployment usage, and per-workspace usage, synced from the org’s Sigma cost breakdown export.
Added
- Endpoints
POST /organizations/{organizationId}/allowed-ip-address-ranges(LabsCreateAllowedIpAddressRanges): Bulk create up to 1,000 allowed IP address (CIDR) ranges for an organization in one atomic request. Not idempotent — a retry after an unacknowledged2xxmay return409. Returns anAllowedIpAddressRangesList.DELETE /organizations/{organizationId}/allowed-ip-address-ranges(LabsDeleteAllowedIpAddressRanges): Bulk delete up to 1,000 allowed IP address ranges for an organization in one atomic request. Unknown or duplicate IDs are accepted and ignored.GET /organizations/{organizationId}/audit-logs(LabsGetOrganizationAuditLogs): Retrieve an organization’s audit logs for a time period, filtered withstartDateandendDate. Returns a raw byte stream (application/octet-stream).GET /organizations/{organizationId}/billing/daily-usage(LabsListDailyUsage): List daily deployment resource cost data. Filter bystartDate/endDate(max 12 months),workspaceId, ordeploymentId(up to 1,000 each), and choose the response shape withformat(astronomerorfocus— FOCUS format). Paginate withoffset/limitand sort withsorts. Enterprise+ tier only.GET /organizations/{organizationId}/billing/aggregate/deployment-usage(LabsListDeploymentUsage): List per-deployment task, DAG, and operator activity metrics, aggregated by day, week, or month (timeGrain). Filter bystartDate/endDate(max 12 months),workspaceId, ordeploymentId. Enterprise+ tier only.GET /organizations/{organizationId}/billing/aggregate/workspace-usage(LabsListWorkspaceUsage): List per-workspace task, DAG, and operator activity metrics, aggregated by day, week, or month (timeGrain). Filter bystartDate/endDate(max 12 months) orworkspaceId. Enterprise+ tier only.
- Schemas
AllowedIpAddressRange,AllowedIpAddressRangesList: represent a single allowed IP range and a paginated list of them.BulkCreateAllowedIpAddressRangesRequest,BulkDeleteAllowedIpAddressRangesRequest: request bodies for the bulk create/delete endpoints.DailyUsage,DailyUsageVariants,DailyUsagesPaginated: standard-format daily usage records and paginated response.FocusDailyUsage,FocusDailyUsagesPaginated: FOCUS-format daily usage records and paginated response.DeploymentUsage,DeploymentUsagesPaginated: per-deployment usage records and paginated response.WorkspaceUsage,WorkspaceUsagesPaginated: per-workspace usage records and paginated response.
Summary
- Added a
LabsListAlertsendpoint to the Labs API.GET /organizations/{organizationId}/alertslists 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 withalertIdsordeploymentIds(up to 1,000 IDs each) and paginate withoffsetandlimit(default 20, maximum 1,000). Returns anAlertsList.
Summary
- Added bulk alert management to the Labs API. New
create-alerts,update-alerts, anddelete-alertsendpoints 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 aCreateAlertsRequestand returns anAlertsList.POST /organizations/{organizationId}/update-alerts(LabsUpdateAlerts): Bulk update up to 30 alerts. Takes anUpdateAlertsRequestand returns anAlertsList.POST /organizations/{organizationId}/delete-alerts(LabsDeleteAlerts): Bulk delete up to 20 alerts. Takes aDeleteAlertsRequest. Returns204with 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.CreateAlertsRequestandUpdateAlertsRequesteach wrap a list ofCreateAlertRequestorUpdateAlertRequest, atype-discriminated union over the six alert types.DeleteAlertsRequestwraps a list ofalertIds.- Per-type request, properties, and rules schemas: each of the six alert types (
DAG_SUCCESS,DAG_FAILURE,DAG_DURATION,DAG_TIMELINESS,TASK_DURATION, andTASK_FAILURE) gets its own create and update request, properties, and rules schemas, for exampleCreateDagDurationAlertRequest,CreateDagDurationAlertProperties, andCreateDagDurationAlertRulesfor Dag duration alerts. Each type’s properties schema holds its type-specific configuration, for exampledagDurationSecondsfor Dag duration alerts ordagDeadlineanddaysOfWeekfor Dag timeliness alerts. PatternMatch,PatternMatchRequest: Scope an alert to specific Dag or task IDs using anentityType(DAG_IDorTASK_ID) andoperatorType(IS,IS_NOT,INCLUDES, orEXCLUDES).
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
Exampleendpoint that shows how Labs minor-version pinning behaves through theX-Labs-API-Versionheader.
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 thelastEventIdquery parameter.
-
Schemas
DagFailureDiagnosisRun: A started diagnosis run. IncludesrunId,status, andcreatedAt.DagFailureDiagnosisRunStatus: The current status of a diagnosis run. IncludesrunId,status,createdAt, andupdatedAt.StartDagFailureDiagnosisRequest: The request body for starting a run. Required:dagId,runId. Optional:taskId,tryNumbers,skipCacheRead.Example: The demonstration response. Includesid,createdAt, andproofOfConcept.Error: The error response shape. Includesmessage,statusCode, andrequestId.