Skip to main content

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 unacknowledged 2xx may return 409. Returns an AllowedIpAddressRangesList.
    • 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 with startDate and endDate. Returns a raw byte stream (application/octet-stream).
    • GET /organizations/{organizationId}/billing/daily-usage (LabsListDailyUsage): List daily deployment resource cost data. Filter by startDate/endDate (max 12 months), workspaceId, or deploymentId (up to 1,000 each), and choose the response shape with format (astronomer or focusFOCUS format). Paginate with offset/limit and sort with sorts. 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 by startDate/endDate (max 12 months), workspaceId, or deploymentId. 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 by startDate/endDate (max 12 months) or workspaceId. 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 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.