Platform API reference
Use the following reference to learn about all of the possible requests within the Platform schema.
To use this schema in Postman:
- Click the Download button on this page to download the YAML file for the schema.
- Follow the Postman documentation to import the schema to Postman.
A cluster
object represents an Astro cluster, which is a Kubernetes cluster that hosts the infrastructure required to run Deployments. Make requests to cluster
endpoints to manage your standard and dedicated clusters. See Create a dedicated cluster.
List clusters
List clusters in an Organization.
Authorizations:
path Parameters
organizationId required | string The Organization's unique ID. |
query Parameters
provider | string Enum: "AWS" "AZURE" "GCP" The cloud provider to list clusters for. Clusters from other providers will be filtered out of the results. |
offset | integer >= 0 Default: 0 The number of results to skip before returning values. |
limit | integer [ 0 .. 1000 ] Default: 20 The maximum number of results to return. |
sorts | Array of strings Items Enum: "name:asc" "name:desc" "createdAt:asc" "createdAt:desc" "updatedAt:asc" "updatedAt:desc" A list of field names to sort by, and whether to show results as ascending or descending. Formatted as |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "clusters": [
- {
- "cloudProvider": "AWS",
- "createdAt": "2022-11-22T04:37:12Z",
- "dbInstanceType": "db.t3.medium",
- "id": "clm7k8tgw000008jz97i37y81",
- "isLimited": false,
- "metadata": {
- "externalIPs": [
- "35.100.100.1"
]
}, - "name": "my cluster",
- "nodePools": [
- {
- "cloudProvider": "AWS",
- "clusterId": "clm891jb6000308jrc3vjdtde",
- "createdAt": "2022-11-22T04:37:12Z",
- "id": "clm890zhe000208jr39dd0ubs",
- "isDefault": true,
- "maxNodeCount": 1,
- "name": "default",
- "nodeInstanceType": "t3.medium",
- "supportedAstroMachines": [
- "A5",
- "A10"
], - "updatedAt": "2022-11-22T04:37:12Z"
}
], - "organizationId": "clm88r8hi000008jwhzxu5crg",
- "podSubnetRange": "172.21.0.0/19",
- "providerAccount": "provider-account",
- "region": "us-east-1",
- "servicePeeringRange": "172.23.0.0/20",
- "serviceSubnetRange": "172.22.0.0/22",
- "status": "CREATED",
- "tags": [
- {
- "key": "key1",
- "value": "value1"
}
], - "tenantId": "your-tenant-id",
- "type": "DEDICATED",
- "updatedAt": "2022-11-22T04:37:12Z",
- "vpcSubnetRange": "172.20.0.0/22",
- "workspaceIds": [
- "clm88rddl000108jwgeka2div"
]
}
], - "limit": 10,
- "offset": 0,
- "totalCount": 100
}
Create a cluster
Create a cluster in the Organization. An Astro cluster is a Kubernetes cluster that hosts the infrastructure required to run Deployments.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to create the cluster in. |
Request Body schema: application/json
The request body for creating a cluster
cloudProvider required | string Enum: "AWS" "AZURE" "GCP" The cluster's cloud provider. |
dbInstanceType | string The type of database instance that is used for the cluster. Required for Hybrid clusters. |
Array of objects (ClusterK8sTag) The Kubernetes tags in the cluster. | |
name required | string The cluster's name. |
Array of objects (CreateNodePoolRequest) The list of node pools to create in the cluster. | |
providerAccount | string The provider account ID. Required for Hybrid clusters. |
region required | string The cluster's region. |
type required | string Enum: "DEDICATED" "HYBRID" The cluster's type. |
vpcSubnetRange required | string The VPC subnet range. |
workspaceIds | Array of strings unique The list of Workspaces that are authorized to the cluster. |
Responses
Request samples
- Payload
{- "cloudProvider": "AZURE",
- "dbInstanceType": "Small General Purpose",
- "k8sTags": [
- {
- "key": "key1",
- "value": "value1"
}
], - "name": "My cluster",
- "nodePools": [
- {
- "isDefault": true,
- "maxNodeCount": 10,
- "name": "my-nodepool",
- "nodeInstanceType": "t3.medium"
}
], - "providerAccount": "provider-account",
- "region": "us-east-1",
- "type": "DEDICATED",
- "vpcSubnetRange": "172.20.0.0/22",
- "workspaceIds": [
- "string"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 412
- 500
{- "cloudProvider": "AWS",
- "createdAt": "2022-11-22T04:37:12Z",
- "dbInstanceType": "db.t3.medium",
- "id": "clm7k8tgw000008jz97i37y81",
- "isLimited": false,
- "metadata": {
- "externalIPs": [
- "35.100.100.1"
]
}, - "name": "my cluster",
- "nodePools": [
- {
- "cloudProvider": "AWS",
- "clusterId": "clm891jb6000308jrc3vjdtde",
- "createdAt": "2022-11-22T04:37:12Z",
- "id": "clm890zhe000208jr39dd0ubs",
- "isDefault": true,
- "maxNodeCount": 1,
- "name": "default",
- "nodeInstanceType": "t3.medium",
- "supportedAstroMachines": [
- "A5",
- "A10"
], - "updatedAt": "2022-11-22T04:37:12Z"
}
], - "organizationId": "clm88r8hi000008jwhzxu5crg",
- "podSubnetRange": "172.21.0.0/19",
- "providerAccount": "provider-account",
- "region": "us-east-1",
- "servicePeeringRange": "172.23.0.0/20",
- "serviceSubnetRange": "172.22.0.0/22",
- "status": "CREATED",
- "tags": [
- {
- "key": "key1",
- "value": "value1"
}
], - "tenantId": "your-tenant-id",
- "type": "DEDICATED",
- "updatedAt": "2022-11-22T04:37:12Z",
- "vpcSubnetRange": "172.20.0.0/22",
- "workspaceIds": [
- "clm88rddl000108jwgeka2div"
]
}
Delete a cluster
Delete a cluster.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the cluster belongs. |
clusterId required | string The cluster's ID. |
Responses
Response samples
- 400
- 401
- 403
- 404
- 500
{- "message": "string",
- "requestId": "string",
- "statusCode": 400
}
Get a cluster
Retrieve details about a cluster.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the cluster belongs. |
clusterId required | string The cluster's ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "cloudProvider": "AWS",
- "createdAt": "2022-11-22T04:37:12Z",
- "dbInstanceType": "db.t3.medium",
- "id": "clm7k8tgw000008jz97i37y81",
- "isLimited": false,
- "metadata": {
- "externalIPs": [
- "35.100.100.1"
]
}, - "name": "my cluster",
- "nodePools": [
- {
- "cloudProvider": "AWS",
- "clusterId": "clm891jb6000308jrc3vjdtde",
- "createdAt": "2022-11-22T04:37:12Z",
- "id": "clm890zhe000208jr39dd0ubs",
- "isDefault": true,
- "maxNodeCount": 1,
- "name": "default",
- "nodeInstanceType": "t3.medium",
- "supportedAstroMachines": [
- "A5",
- "A10"
], - "updatedAt": "2022-11-22T04:37:12Z"
}
], - "organizationId": "clm88r8hi000008jwhzxu5crg",
- "podSubnetRange": "172.21.0.0/19",
- "providerAccount": "provider-account",
- "region": "us-east-1",
- "servicePeeringRange": "172.23.0.0/20",
- "serviceSubnetRange": "172.22.0.0/22",
- "status": "CREATED",
- "tags": [
- {
- "key": "key1",
- "value": "value1"
}
], - "tenantId": "your-tenant-id",
- "type": "DEDICATED",
- "updatedAt": "2022-11-22T04:37:12Z",
- "vpcSubnetRange": "172.20.0.0/22",
- "workspaceIds": [
- "clm88rddl000108jwgeka2div"
]
}
Update a cluster
Update a cluster in the Organization.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the cluster belongs. |
clusterId required | string The cluster's ID |
Request Body schema: application/json
The request body for updating the cluster
dbInstanceType | string The cluster's database instance type. Required for Hybrid clusters. |
required | Array of objects (ClusterK8sTag) A list of Kubernetes tags to add to the cluster. |
name required | string The cluster's name. |
Array of objects (UpdateNodePoolRequest) A list of node pools to add to the cluster. For Hybrid clusters only. | |
workspaceIds | Array of strings unique The list of Workspaces that are authorized to the cluster. If this value is not provided, the existing list of Workspaces remains. If this value is '[]' then all workspace cluster mappings are removed. |
Responses
Request samples
- Payload
{- "dbInstanceType": "Small General Purpose",
- "k8sTags": [
- {
- "key": "key1",
- "value": "value1"
}
], - "name": "My cluster",
- "nodePools": [
- {
- "id": "clm8bvk8b000008l9deowc5lx",
- "isDefault": true,
- "maxNodeCount": 10,
- "name": "my-nodepool",
- "nodeInstanceType": "t3.medium"
}
], - "workspaceIds": [
- "string"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 412
- 500
{- "cloudProvider": "AWS",
- "createdAt": "2022-11-22T04:37:12Z",
- "dbInstanceType": "db.t3.medium",
- "id": "clm7k8tgw000008jz97i37y81",
- "isLimited": false,
- "metadata": {
- "externalIPs": [
- "35.100.100.1"
]
}, - "name": "my cluster",
- "nodePools": [
- {
- "cloudProvider": "AWS",
- "clusterId": "clm891jb6000308jrc3vjdtde",
- "createdAt": "2022-11-22T04:37:12Z",
- "id": "clm890zhe000208jr39dd0ubs",
- "isDefault": true,
- "maxNodeCount": 1,
- "name": "default",
- "nodeInstanceType": "t3.medium",
- "supportedAstroMachines": [
- "A5",
- "A10"
], - "updatedAt": "2022-11-22T04:37:12Z"
}
], - "organizationId": "clm88r8hi000008jwhzxu5crg",
- "podSubnetRange": "172.21.0.0/19",
- "providerAccount": "provider-account",
- "region": "us-east-1",
- "servicePeeringRange": "172.23.0.0/20",
- "serviceSubnetRange": "172.22.0.0/22",
- "status": "CREATED",
- "tags": [
- {
- "key": "key1",
- "value": "value1"
}
], - "tenantId": "your-tenant-id",
- "type": "DEDICATED",
- "updatedAt": "2022-11-22T04:37:12Z",
- "vpcSubnetRange": "172.20.0.0/22",
- "workspaceIds": [
- "clm88rddl000108jwgeka2div"
]
}
The organization
object contains the metadata and configurations of an Astro Organization. It does not include objects within the Organization, such as users and clusters. Make requests to organization
endpoints to view and update high level settings for your Organization, including settings related to authentication and billing. To manage resources within an Organization, make requests to the endpoints related to those resources, such as users
. See Billing, Set up single sign-on, and Manage domains.
List Organizations
List the details about all Organizations that you have access to. Requires using a personal access token (PAT) for authentication.
Authorizations:
query Parameters
supportPlan | string Enum: "TRIAL" "BASIC" "STANDARD" "PREMIUM" "BUSINESS_CRITICAL" Filters the Organization list by support plan. |
product | string Enum: "HOSTED" "HYBRID" Filters the Organization list by product. |
offset | integer >= 0 Default: 0 The number of results to skip before returning values. |
limit | integer [ 0 .. 1000 ] Default: 20 The maximum number of results to return. |
sorts | Array of strings Items Enum: "name:asc" "name:desc" "createdAt:asc" "createdAt:desc" "updatedAt:asc" "updatedAt:desc" A list of field names to sort by, and whether to show results as ascending or descending. Formatted as |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "limit": 10,
- "offset": 0,
- "organizations": [
- {
- "billingEmail": "billing@company.com",
- "createdAt": "2022-11-22T04:37:12T",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "id": "clmaxoarx000008l2c5ayb9pt",
- "isScimEnabled": false,
- "managedDomains": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "enforcedLogins": [
- "password"
], - "id": "cln203mz7000008jv0jyz9m3y",
- "name": "mycompany.com",
- "organizationId": "cln204xr2000008mu3hhe3zwe",
- "status": "PENDING",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "name": "My organization",
- "paymentMethod": "CREDIT_CARD",
- "product": "HOSTED",
- "status": "ACTIVE",
- "supportPlan": "BUSINESS_CRITICAL",
- "trialExpiresAt": "2022-11-22T04:37:12T",
- "updatedAt": "2022-11-22T04:37:12T",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}
}
], - "totalCount": 100
}
Get an Organization
Retrieve information about a specific Organization.
Authorizations:
path Parameters
organizationId required | string The Organization's ID. |
query Parameters
isLookUpOnly | boolean Whether to show only Organization metadata. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "billingEmail": "billing@company.com",
- "createdAt": "2022-11-22T04:37:12T",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "id": "clmaxoarx000008l2c5ayb9pt",
- "isScimEnabled": false,
- "managedDomains": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "enforcedLogins": [
- "password"
], - "id": "cln203mz7000008jv0jyz9m3y",
- "name": "mycompany.com",
- "organizationId": "cln204xr2000008mu3hhe3zwe",
- "status": "PENDING",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "name": "My organization",
- "paymentMethod": "CREDIT_CARD",
- "product": "HOSTED",
- "status": "ACTIVE",
- "supportPlan": "BUSINESS_CRITICAL",
- "trialExpiresAt": "2022-11-22T04:37:12T",
- "updatedAt": "2022-11-22T04:37:12T",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}
}
Update an Organization
Update an Organization's details.
Authorizations:
path Parameters
organizationId required | string The Organization's ID. |
Request Body schema: application/json
The request body for updating the Organization.
billingEmail required | string The Organization's billing email. |
isScimEnabled required | boolean Whether SCIM is enabled for the Organization. |
name required | string <= 50 characters The name of the Organization. |
Responses
Request samples
- Payload
{- "billingEmail": "billing@company.com",
- "isScimEnabled": false,
- "name": "My Organization"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "billingEmail": "billing@company.com",
- "createdAt": "2022-11-22T04:37:12T",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "id": "clmaxoarx000008l2c5ayb9pt",
- "isScimEnabled": false,
- "managedDomains": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "enforcedLogins": [
- "password"
], - "id": "cln203mz7000008jv0jyz9m3y",
- "name": "mycompany.com",
- "organizationId": "cln204xr2000008mu3hhe3zwe",
- "status": "PENDING",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "name": "My organization",
- "paymentMethod": "CREDIT_CARD",
- "product": "HOSTED",
- "status": "ACTIVE",
- "supportPlan": "BUSINESS_CRITICAL",
- "trialExpiresAt": "2022-11-22T04:37:12T",
- "updatedAt": "2022-11-22T04:37:12T",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}
}
The options
object represents all possible configurations for a given Astro component. Make requests to the options
object to get the configuration constraints for creating or updating a given Astro component.
Get cluster options
Get all possible options for configuring a cluster.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to get cluster options for. |
query Parameters
provider | string Enum: "AWS" "AZURE" "GCP" The cluster's cloud provider. |
type required | string Enum: "DEDICATED" "HYBRID" The cluster type. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
[- {
- "databaseInstances": [
- {
- "cpu": 4,
- "memory": "16Gi",
- "name": "e2-standard-4"
}
], - "defaultDatabaseInstance": {
- "cpu": 4,
- "memory": "16Gi",
- "name": "e2-standard-4"
}, - "defaultNodeInstance": {
- "cpu": 4,
- "memory": "16Gi",
- "name": "e2-standard-4"
}, - "defaultPodSubnetRange": "172.21.0.0/19",
- "defaultRegion": {
- "bannedInstances": [
- "t3.medium"
], - "limited": true,
- "name": "us-east-1"
}, - "defaultServicePeeringRange": "172.23.0.0/20",
- "defaultServiceSubnetRange": "172.22.0.0/22",
- "defaultVpcSubnetRange": "172.20.0.0/19",
- "nodeCountDefault": 20,
- "nodeCountMax": 100,
- "nodeCountMin": 2,
- "nodeInstances": [
- {
- "cpu": 4,
- "memory": "16Gi",
- "name": "e2-standard-4"
}
], - "provider": "AZURE",
- "regions": [
- {
- "bannedInstances": [
- "t3.medium"
], - "limited": true,
- "name": "us-east-1"
}
]
}
]
Get Deployment options
Get the options available for configuring a Deployment.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to retrieve Deployment options for. |
query Parameters
deploymentId | string The ID of a Deployment to retrieve options for. |
deploymentType | string Enum: "HYBRID" "DEDICATED" "STANDARD" The runtime type of the deployment. |
cloudProvider | string Enum: "AWS" "AZURE" "GCP" The cloud provider of the cluster for the deployment. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "executors": [
- "string"
], - "resourceQuotas": {
- "defaultPodSize": {
- "cpu": {
- "ceiling": "10",
- "default": "5",
- "floor": "1"
}, - "memory": {
- "ceiling": "10",
- "default": "5",
- "floor": "1"
}
}, - "resourceQuota": {
- "cpu": {
- "ceiling": "10",
- "default": "5",
- "floor": "1"
}, - "memory": {
- "ceiling": "10",
- "default": "5",
- "floor": "1"
}
}
}, - "runtimeReleases": [
- {
- "airflowDatabaseMigration": false,
- "airflowVersion": "2.7.1",
- "channel": "stable",
- "releaseDate": "2022-11-22T04:37:12Z",
- "stellarDatabaseMigration": false,
- "version": "9.1.0"
}
], - "schedulerMachines": [
- {
- "name": "string",
- "spec": {
- "concurrency": 10,
- "cpu": "1",
- "ephemeralStorage": "10Gi",
- "memory": "2Gi"
}
}
], - "workerMachines": [
- {
- "concurrency": {
- "ceiling": 10,
- "default": 5,
- "floor": 1
}, - "name": "string",
- "spec": {
- "concurrency": 10,
- "cpu": "1",
- "ephemeralStorage": "10Gi",
- "memory": "2Gi"
}
}
], - "workerQueues": {
- "maxWorkers": {
- "ceiling": 10,
- "default": 5,
- "floor": 1
}, - "minWorkers": {
- "ceiling": 10,
- "default": 5,
- "floor": 1
}, - "workerConcurrency": {
- "ceiling": 10,
- "default": 5,
- "floor": 1
}
}, - "workloadIdentityOptions": [
- {
- "label": "workload-label",
- "role": "workload-role"
}
]
}
The workspace
object represents an Astro Workspace, which is a collection of Deployments that can be accessed by a specific group of users. It contains metadata about a Workspace, but does not contain objects within the Workspace such as users and Deployments. Make requests to workspace
endpoints to manage high level details about your Workspace. To manage resources within a Workspace, make requests to the endpoints related to those resources, such as users
, and use the workspaceIds
parameter to filter results by Workspace. See Configure Workspaces.
List Workspaces
List Workspaces in an Organization
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to list Workspaces for. |
query Parameters
workspaceIds | Array of strings A list of IDs for specific Workspaces to list. The API will list information only for Workspaces which have been specified in this list. |
offset | integer >= 0 Default: 0 The number of results to skip before returning values. |
limit | integer [ 0 .. 1000 ] Default: 20 The maximum number of results to return. |
sorts | Array of strings Items Enum: "name:asc" "name:desc" "createdAt:asc" "createdAt:desc" "updatedAt:asc" "updatedAt:desc" A list of field names to sort by, and whether to show results as ascending or descending. Formatted as |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "limit": 0,
- "offset": 0,
- "totalCount": 0,
- "workspaces": [
- {
- "cicdEnforcedDefault": true,
- "createdAt": "2023-09-08T12:00:00Z",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "description": "This is a test workspace",
- "id": "clm8t5u4q000008jq4qoc3036",
- "name": "My Workspace",
- "organizationId": "clm8t5u4q000008jq4qoc3036",
- "organizationName": "My Organization",
- "updatedAt": "2023-09-08T13:30:00Z",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}
}
]
}
Create Workspace
Create a Workspace.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the Workspace will belong. |
Request Body schema: application/json
The request body for creating a new Workspace.
cicdEnforcedDefault | boolean Whether new Deployments enforce CI/CD deploys by default. |
description | string The Workspace's description. |
name required | string <= 50 characters The Workspace's name. |
Responses
Request samples
- Payload
{- "cicdEnforcedDefault": true,
- "description": "This is a test workspace",
- "name": "My Workspace"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "cicdEnforcedDefault": true,
- "createdAt": "2023-09-08T12:00:00Z",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "description": "This is a test workspace",
- "id": "clm8t5u4q000008jq4qoc3036",
- "name": "My Workspace",
- "organizationId": "clm8t5u4q000008jq4qoc3036",
- "organizationName": "My Organization",
- "updatedAt": "2023-09-08T13:30:00Z",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}
}
Delete Workspace
Delete a Workspace.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the Workspace belongs. |
workspaceId required | string The Workspace's ID. |
Responses
Response samples
- 400
- 401
- 403
- 404
- 500
{- "message": "string",
- "requestId": "string",
- "statusCode": 400
}
Get Workspace
Get information about a Workspace.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the Workspace belongs. |
workspaceId required | string The Workspace's ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "cicdEnforcedDefault": true,
- "createdAt": "2023-09-08T12:00:00Z",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "description": "This is a test workspace",
- "id": "clm8t5u4q000008jq4qoc3036",
- "name": "My Workspace",
- "organizationId": "clm8t5u4q000008jq4qoc3036",
- "organizationName": "My Organization",
- "updatedAt": "2023-09-08T13:30:00Z",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}
}
Update Workspace
Update a Workspace.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the Workspace belongs. |
workspaceId required | string The Workspace's ID. |
Request Body schema: application/json
The request body for updating a new Workspace.
cicdEnforcedDefault required | boolean Whether new Deployments enforce CI/CD deploys by default. |
description required | string The Workspace's description. |
name required | string <= 50 characters The Workspace's name. |
Responses
Request samples
- Payload
{- "cicdEnforcedDefault": true,
- "description": "This is a test workspace",
- "name": "My Workspace"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "cicdEnforcedDefault": true,
- "createdAt": "2023-09-08T12:00:00Z",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "description": "This is a test workspace",
- "id": "clm8t5u4q000008jq4qoc3036",
- "name": "My Workspace",
- "organizationId": "clm8t5u4q000008jq4qoc3036",
- "organizationName": "My Organization",
- "updatedAt": "2023-09-08T13:30:00Z",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}
}
List Deployments
List Deployments in an Organization.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to list Deployments for. |
query Parameters
deploymentIds | Array of strings A list of IDs for Deployments to show. The API returns details only for the specified Deployments. |
workspaceIds | Array of strings A list of IDs for Workspaces to filter on. The API returns details for all Deployments belonging only to the specified Workspaces. |
offset | integer >= 0 Default: 0 The number of results to skip before returning values. |
limit | integer >= 0 Default: 20 The maximum number of results to return. |
sorts | Array of strings Items Enum: "name:asc" "name:desc" "createdAt:asc" "createdAt:desc" "updatedAt:asc" "updatedAt:desc" A list of field names to sort by, and whether to show results as ascending or descending. Formatted as |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "deployments": [
- {
- "airflowVersion": "2.7.2, if airflow version is not found, it will return NA",
- "cloudProvider": "azure",
- "clusterId": "clmh597sg000208lb2kjhcn8q",
- "clusterName": "my cluster",
- "contactEmails": [
- "user1@company.com"
], - "createdAt": "2022-11-22T04:37:12Z",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "dagTarballVersion": "1",
- "defaultTaskPodCpu": "0.5",
- "defaultTaskPodMemory": "1",
- "description": "My deployment description",
- "environmentVariables": [
- {
- "isSecret": true,
- "key": "my-var",
- "updatedAt": "2022-11-22T04:37:12Z",
- "value": "my-var-value"
}
], - "executor": "CELERY",
- "externalIPs": [
- "0.0.0.0"
], - "id": "clmh57jtm000008lb58fe2wmv",
- "imageTag": "my-image-tag",
- "imageVersion": "deploy-2023-09-14T19-04",
- "isCicdEnforced": true,
- "isDagDeployEnabled": true,
- "isHighAvailability": true,
- "name": "My deployment",
- "namespace": "weightless-diameter-8927",
- "organizationId": "clmh59gt0000308lbgswe5fvh",
- "region": "us-east-1",
- "resourceQuotaCpu": "160",
- "resourceQuotaMemory": "320Gi",
- "runtimeVersion": "9.1.0",
- "schedulerAu": 5,
- "schedulerCpu": "1",
- "schedulerMemory": "1Gi",
- "schedulerReplicas": 1,
- "schedulerSize": "MEDIUM",
- "status": "HEALTHY",
- "statusReason": "Successfully Deployed",
- "taskPodNodePoolId": "clmh5mash000008mia6lnbs0f",
- "type": "DEDICATED",
- "updatedAt": "2022-11-22T04:37:12Z",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "webServerAirflowApiUrl": "myorganization.astronomer-dev.run/d8fe2wmv/api/v1",
- "webServerCpu": "0.5",
- "webServerIngressHostname": "clmh597sg000208lb2kjhcn8q.astronomer.run/d8fe2wmv",
- "webServerMemory": "0.5Gi",
- "webServerReplicas": 1,
- "webServerUrl": "myorganization.astronomer-dev.run/d8fe2wmv?orgId=org_edxLzpFcLrgEfpD5",
- "workerQueues": [
- {
- "astroMachine": "A5",
- "id": "clmh9vsuf000908midngba9mw",
- "isDefault": true,
- "maxWorkerCount": 10,
- "minWorkerCount": 1,
- "name": "My worker queue",
- "nodePoolId": "clmh9yjcn000a08mi8dsgbno9",
- "podCpu": "1",
- "podMemory": "2Gi",
- "workerConcurrency": 20
}
], - "workloadIdentity": "string",
- "workspaceId": "clmh58o7d000108lb74ktc9o64",
- "workspaceName": "my-workspace"
}
], - "limit": 10,
- "offset": 0,
- "totalCount": 100
}
Create a Deployment
Create a Deployment in the Organization. An Astro Deployment is an Airflow environment that is powered by all core Airflow components.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization in which to create the Deployment. |
Request Body schema: application/json
The request body for creating a Deployment.
astroRuntimeVersion required | string Deployment's Astro Runtime version. |
clusterId required | string The ID of the cluster where the Deployment will be created. |
defaultTaskPodCpu required | string The default CPU resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in number of CPU cores. |
defaultTaskPodMemory required | string The default memory resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in |
description | string <= 1000 characters The Deployment's description. |
executor required | string Enum: "CELERY" "KUBERNETES" The Deployment's executor type. |
isCicdEnforced required | boolean Whether the Deployment requires that all deploys are made through CI/CD. |
isDagDeployEnabled required | boolean Whether the Deployment has DAG deploys enabled. |
isHighAvailability required | boolean Whether the Deployment is configured for high availability. If |
name required | string <= 500 characters The Deployment's name. |
resourceQuotaCpu required | string The CPU quota for worker Pods when running the Kubernetes executor or KubernetesPodOperator. If current CPU usage across all workers exceeds the quota, no new worker Pods can be scheduled. Units are in number of CPU cores. |
resourceQuotaMemory required | string The memory quota for worker Pods when running the Kubernetes executor or KubernetesPodOperator. If current memory usage across all workers exceeds the quota, no new worker Pods can be scheduled. Units are in |
schedulerSize required | string Enum: "SMALL" "MEDIUM" "LARGE" The size of the scheduler pod. |
type required | string Enum: "DEDICATED" "HYBRID" "STANDARD" The type of the Deployment. |
Array of objects (WorkerQueueRequest) non-empty The list of worker queues configured for the Deployment. Applies only when | |
workspaceId required | string The ID of the workspace to which the Deployment belongs. |
Responses
Request samples
- Payload
{- "astroRuntimeVersion": "9.1.0",
- "clusterId": "clmh9g6zj000008mg77if5wa2",
- "defaultTaskPodCpu": "0.5",
- "defaultTaskPodMemory": "1",
- "description": "My deployment description",
- "executor": "CELERY",
- "isCicdEnforced": true,
- "isDagDeployEnabled": true,
- "isHighAvailability": true,
- "name": "My deployment",
- "resourceQuotaCpu": "160",
- "resourceQuotaMemory": "320Gi",
- "schedulerSize": "MEDIUM",
- "type": "DEDICATED",
- "workerQueues": [
- {
- "astroMachine": "A5",
- "id": "clmha1mzc000b08mi96n182au",
- "isDefault": true,
- "maxWorkerCount": 1,
- "minWorkerCount": 0,
- "name": "My worker queue",
- "workerConcurrency": 1
}
], - "workspaceId": "clmh8ol3x000008jo656y4285"
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "airflowVersion": "2.7.2, if airflow version is not found, it will return NA",
- "cloudProvider": "azure",
- "clusterId": "clmh597sg000208lb2kjhcn8q",
- "clusterName": "my cluster",
- "contactEmails": [
- "user1@company.com"
], - "createdAt": "2022-11-22T04:37:12Z",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "dagTarballVersion": "1",
- "defaultTaskPodCpu": "0.5",
- "defaultTaskPodMemory": "1",
- "description": "My deployment description",
- "environmentVariables": [
- {
- "isSecret": true,
- "key": "my-var",
- "updatedAt": "2022-11-22T04:37:12Z",
- "value": "my-var-value"
}
], - "executor": "CELERY",
- "externalIPs": [
- "0.0.0.0"
], - "id": "clmh57jtm000008lb58fe2wmv",
- "imageTag": "my-image-tag",
- "imageVersion": "deploy-2023-09-14T19-04",
- "isCicdEnforced": true,
- "isDagDeployEnabled": true,
- "isHighAvailability": true,
- "name": "My deployment",
- "namespace": "weightless-diameter-8927",
- "organizationId": "clmh59gt0000308lbgswe5fvh",
- "region": "us-east-1",
- "resourceQuotaCpu": "160",
- "resourceQuotaMemory": "320Gi",
- "runtimeVersion": "9.1.0",
- "schedulerAu": 5,
- "schedulerCpu": "1",
- "schedulerMemory": "1Gi",
- "schedulerReplicas": 1,
- "schedulerSize": "MEDIUM",
- "status": "HEALTHY",
- "statusReason": "Successfully Deployed",
- "taskPodNodePoolId": "clmh5mash000008mia6lnbs0f",
- "type": "DEDICATED",
- "updatedAt": "2022-11-22T04:37:12Z",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "webServerAirflowApiUrl": "myorganization.astronomer-dev.run/d8fe2wmv/api/v1",
- "webServerCpu": "0.5",
- "webServerIngressHostname": "clmh597sg000208lb2kjhcn8q.astronomer.run/d8fe2wmv",
- "webServerMemory": "0.5Gi",
- "webServerReplicas": 1,
- "webServerUrl": "myorganization.astronomer-dev.run/d8fe2wmv?orgId=org_edxLzpFcLrgEfpD5",
- "workerQueues": [
- {
- "astroMachine": "A5",
- "id": "clmh9vsuf000908midngba9mw",
- "isDefault": true,
- "maxWorkerCount": 10,
- "minWorkerCount": 1,
- "name": "My worker queue",
- "nodePoolId": "clmh9yjcn000a08mi8dsgbno9",
- "podCpu": "1",
- "podMemory": "2Gi",
- "workerConcurrency": 20
}
], - "workloadIdentity": "string",
- "workspaceId": "clmh58o7d000108lb74ktc9o64",
- "workspaceName": "my-workspace"
}
Delete a Deployment
Delete a Deployment from an Organization.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the Deployment belongs. |
deploymentId required | string The Deployment's ID. |
Responses
Response samples
- 400
- 401
- 403
- 404
- 500
{- "message": "string",
- "requestId": "string",
- "statusCode": 400
}
Get a Deployment
Retrieve details about a Deployment.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the Deployment belongs. |
deploymentId required | string The Deployment's ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "airflowVersion": "2.7.2, if airflow version is not found, it will return NA",
- "cloudProvider": "azure",
- "clusterId": "clmh597sg000208lb2kjhcn8q",
- "clusterName": "my cluster",
- "contactEmails": [
- "user1@company.com"
], - "createdAt": "2022-11-22T04:37:12Z",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "dagTarballVersion": "1",
- "defaultTaskPodCpu": "0.5",
- "defaultTaskPodMemory": "1",
- "description": "My deployment description",
- "environmentVariables": [
- {
- "isSecret": true,
- "key": "my-var",
- "updatedAt": "2022-11-22T04:37:12Z",
- "value": "my-var-value"
}
], - "executor": "CELERY",
- "externalIPs": [
- "0.0.0.0"
], - "id": "clmh57jtm000008lb58fe2wmv",
- "imageTag": "my-image-tag",
- "imageVersion": "deploy-2023-09-14T19-04",
- "isCicdEnforced": true,
- "isDagDeployEnabled": true,
- "isHighAvailability": true,
- "name": "My deployment",
- "namespace": "weightless-diameter-8927",
- "organizationId": "clmh59gt0000308lbgswe5fvh",
- "region": "us-east-1",
- "resourceQuotaCpu": "160",
- "resourceQuotaMemory": "320Gi",
- "runtimeVersion": "9.1.0",
- "schedulerAu": 5,
- "schedulerCpu": "1",
- "schedulerMemory": "1Gi",
- "schedulerReplicas": 1,
- "schedulerSize": "MEDIUM",
- "status": "HEALTHY",
- "statusReason": "Successfully Deployed",
- "taskPodNodePoolId": "clmh5mash000008mia6lnbs0f",
- "type": "DEDICATED",
- "updatedAt": "2022-11-22T04:37:12Z",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "webServerAirflowApiUrl": "myorganization.astronomer-dev.run/d8fe2wmv/api/v1",
- "webServerCpu": "0.5",
- "webServerIngressHostname": "clmh597sg000208lb2kjhcn8q.astronomer.run/d8fe2wmv",
- "webServerMemory": "0.5Gi",
- "webServerReplicas": 1,
- "webServerUrl": "myorganization.astronomer-dev.run/d8fe2wmv?orgId=org_edxLzpFcLrgEfpD5",
- "workerQueues": [
- {
- "astroMachine": "A5",
- "id": "clmh9vsuf000908midngba9mw",
- "isDefault": true,
- "maxWorkerCount": 10,
- "minWorkerCount": 1,
- "name": "My worker queue",
- "nodePoolId": "clmh9yjcn000a08mi8dsgbno9",
- "podCpu": "1",
- "podMemory": "2Gi",
- "workerConcurrency": 20
}
], - "workloadIdentity": "string",
- "workspaceId": "clmh58o7d000108lb74ktc9o64",
- "workspaceName": "my-workspace"
}
Update a Deployment
Update a Deployment in the Organization.
Authorizations:
path Parameters
organizationId required | string The ID of the Organization to which the Deployment belongs. |
deploymentId required | string The Deployment's ID. |
Request Body schema: application/json
The request body for updating a Deployment.
contactEmails | Array of strings A list of contact emails for the Deployment. |
defaultTaskPodCpu required | string The default CPU resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in number of CPU cores. |
defaultTaskPodMemory required | string The default memory resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in |
description | string <= 1000 characters The Deployment's description. |
required | Array of objects (DeploymentEnvironmentVariableRequest) List of environment variables to add to the Deployment. |
executor required | string Enum: "CELERY" "KUBERNETES" The executor Deployment's executor. |
isCicdEnforced required | boolean Whether the Deployment requires that all deploys are made through CI/CD. |
isDagDeployEnabled required | boolean Whether the Deployment has DAG deploys enabled. |
isHighAvailability required | boolean Whether the Deployment is configured for high availability. If |
name required | string <= 500 characters The Deployment's name. |
resourceQuotaCpu required | string The CPU quota for worker Pods when running the Kubernetes executor or KubernetesPodOperator. If current CPU usage across all workers exceeds the quota, no new worker Pods can be scheduled. Units are in number of CPU cores. |
resourceQuotaMemory required | string The memory quota for worker Pods when running the Kubernetes executor or KubernetesPodOperator. If current memory usage across all workers exceeds the quota, no new worker Pods can be scheduled. Units are in |
schedulerSize required | string Enum: "SMALL" "MEDIUM" "LARGE" The size of the scheduler pod. |
type required | string Enum: "DEDICATED" "HYBRID" "STANDARD" The type of the Deployment. |
Array of objects (WorkerQueueRequest) non-empty A list of the Deployment's worker queues. Applies only when | |
workloadIdentity | string The Deployment's workload identity. |
workspaceId required | string The ID of the Workspace to which the Deployment belongs. |
Responses
Request samples
- Payload
{- "contactEmails": [
- "user1@company.com"
], - "defaultTaskPodCpu": "0.5",
- "defaultTaskPodMemory": "1",
- "description": "My deployment description",
- "environmentVariables": [
- {
- "isSecret": false,
- "key": "my-var",
- "value": "my-var-value"
}
], - "executor": "CELERY",
- "isCicdEnforced": true,
- "isDagDeployEnabled": true,
- "isHighAvailability": true,
- "name": "My deployment",
- "resourceQuotaCpu": "160",
- "resourceQuotaMemory": "320Gi",
- "schedulerSize": "MEDIUM",
- "type": "DEDICATED",
- "workerQueues": [
- {
- "astroMachine": "A5",
- "id": "clmha1mzc000b08mi96n182au",
- "isDefault": true,
- "maxWorkerCount": 1,
- "minWorkerCount": 0,
- "name": "My worker queue",
- "workerConcurrency": 1
}
], - "workloadIdentity": "arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0",
- "workspaceId": "clmh7vdf4000008lhhlnk9t6o"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "airflowVersion": "2.7.2, if airflow version is not found, it will return NA",
- "cloudProvider": "azure",
- "clusterId": "clmh597sg000208lb2kjhcn8q",
- "clusterName": "my cluster",
- "contactEmails": [
- "user1@company.com"
], - "createdAt": "2022-11-22T04:37:12Z",
- "createdBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "dagTarballVersion": "1",
- "defaultTaskPodCpu": "0.5",
- "defaultTaskPodMemory": "1",
- "description": "My deployment description",
- "environmentVariables": [
- {
- "isSecret": true,
- "key": "my-var",
- "updatedAt": "2022-11-22T04:37:12Z",
- "value": "my-var-value"
}
], - "executor": "CELERY",
- "externalIPs": [
- "0.0.0.0"
], - "id": "clmh57jtm000008lb58fe2wmv",
- "imageTag": "my-image-tag",
- "imageVersion": "deploy-2023-09-14T19-04",
- "isCicdEnforced": true,
- "isDagDeployEnabled": true,
- "isHighAvailability": true,
- "name": "My deployment",
- "namespace": "weightless-diameter-8927",
- "organizationId": "clmh59gt0000308lbgswe5fvh",
- "region": "us-east-1",
- "resourceQuotaCpu": "160",
- "resourceQuotaMemory": "320Gi",
- "runtimeVersion": "9.1.0",
- "schedulerAu": 5,
- "schedulerCpu": "1",
- "schedulerMemory": "1Gi",
- "schedulerReplicas": 1,
- "schedulerSize": "MEDIUM",
- "status": "HEALTHY",
- "statusReason": "Successfully Deployed",
- "taskPodNodePoolId": "clmh5mash000008mia6lnbs0f",
- "type": "DEDICATED",
- "updatedAt": "2022-11-22T04:37:12Z",
- "updatedBy": {
- "apiTokenName": "my-token",
- "fullName": "Jane Doe",
- "id": "clm8qv74h000008mlf08scq7k",
- "subjectType": "USER",
- "username": "user1@company.com"
}, - "webServerAirflowApiUrl": "myorganization.astronomer-dev.run/d8fe2wmv/api/v1",
- "webServerCpu": "0.5",
- "webServerIngressHostname": "clmh597sg000208lb2kjhcn8q.astronomer.run/d8fe2wmv",
- "webServerMemory": "0.5Gi",
- "webServerReplicas": 1,
- "webServerUrl": "myorganization.astronomer-dev.run/d8fe2wmv?orgId=org_edxLzpFcLrgEfpD5",
- "workerQueues": [
- {
- "astroMachine": "A5",
- "id": "clmh9vsuf000908midngba9mw",
- "isDefault": true,
- "maxWorkerCount": 10,
- "minWorkerCount": 1,
- "name": "My worker queue",
- "nodePoolId": "clmh9yjcn000a08mi8dsgbno9",
- "podCpu": "1",
- "podMemory": "2Gi",
- "workerConcurrency": 20
}
], - "workloadIdentity": "string",
- "workspaceId": "clmh58o7d000108lb74ktc9o64",
- "workspaceName": "my-workspace"
}