components: schemas: AddTeamMembersRequest: properties: memberIds: description: The list of IDs for users to add to the Team. example: - clma5y9hu000208k2aumf7pbd items: type: string minItems: 1 type: array required: - memberIds type: object AllowedIpAddressRange: properties: createdAt: description: The time when the allowed IP address range was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' id: description: The allowed IP address range's ID. example: clm9sq6s0000008kz7uvl7yz7 type: string ipAddressRange: description: The allowed IP address range in CIDR format. example: 1.1.1.1/32 type: string organizationId: description: The allowed IP address range's Organization ID. example: clyt27999000008me3yp39wcp type: string updatedAt: description: The time when the allowed IP address range was updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' required: - createdAt - id - ipAddressRange - organizationId - updatedAt type: object AllowedIpAddressRangesPaginated: properties: allowedIpAddressRanges: items: $ref: '#/components/schemas/AllowedIpAddressRange' type: array limit: description: The maximum number of allowed IP address ranges in one page. example: 10 type: integer offset: description: The offset of the current page of allowed IP address ranges. example: 0 type: integer totalCount: description: The total number of allowed IP address ranges. example: 10 type: integer required: - allowedIpAddressRanges - limit - offset - totalCount type: object ApiToken: properties: createdAt: description: The time when the API token was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' description: description: The description of the API token. example: my token description type: string endAt: description: The time when the API token expires in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string expiryPeriodInDays: description: The expiry period of the API token in days. example: 30 type: integer id: description: The API token's ID. example: clm8q7f6q000008lcgyougpsk type: string kind: description: The kind of the API token. enum: - STANDARD - DIRECT_ACCESS example: STANDARD type: string lastUsedAt: description: The time when the API token was last used in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string name: description: The name of the API token. example: My token type: string roles: description: The roles of the API token. items: $ref: '#/components/schemas/ApiTokenRole' type: array scope: description: The scope of the API token. enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION example: WORKSPACE type: string shortToken: description: The short value of the API token. example: short-token type: string startAt: description: The time when the API token will become valid in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string token: description: The value of the API token. example: token type: string updatedAt: description: The time when the API token was last updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' required: - createdAt - description - id - kind - name - scope - shortToken - startAt - updatedAt type: object ApiTokenRole: properties: deploymentId: description: Required when EntityType is DAG or TAG. The deployment containing the DAG. example: clm8t5u4q000008jq4qoc3031 type: string entityId: description: The ID of the entity. For DAG roles, this is the DAG ID. For TAG roles, this is the tag value. example: clm8sgvai000008l794psbkdv type: string entityType: description: The type of the entity. enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION - DAG - TAG example: WORKSPACE type: string role: description: The role of the API token. example: WORKSPACE_MEMBER type: string required: - entityId - entityType - role type: object ApiTokensPaginated: properties: limit: description: The limit of values in this page. example: 10 type: integer offset: description: The offset of values in this page. example: 0 type: integer tokens: description: The list of API tokens in this page. items: $ref: '#/components/schemas/ApiToken' type: array totalCount: description: The total number of API tokens. example: 100 type: integer required: - limit - offset - tokens - totalCount type: object BasicSubjectProfile: properties: apiTokenName: description: The API token's name. Returned only when `SubjectType` is `SERVICEKEY`. example: my-token type: string avatarUrl: description: The URL for the user's profile image. Returned only when `SubjectType` is `USER`. example: https://avatar.url type: string fullName: description: The subject's full name. Returned only when `SubjectType` is `USER`. example: Jane Doe type: string id: description: The subject's ID. example: clm8qv74h000008mlf08scq7k type: string subjectType: description: The subject type. enum: - USER - SERVICEKEY example: USER type: string username: description: The subject's username. Returned only when `SubjectType` is `USER`. example: user1@company.com type: string required: - id type: object Bundle: properties: bundleType: description: The type of bundle. type: string currentVersion: description: The current bundle version. type: string deployId: description: The ID of the deploy that included the bundle. type: string desiredVersion: description: The desired version of the bundle. type: string mountPath: description: The path where the Astro mounts the bundle on the Airflow component pods. type: string required: - bundleType - deployId - mountPath type: object Cluster: properties: cloudProvider: description: The name of the cluster's cloud provider. enum: - AWS - AZURE - GCP example: AWS type: string createdAt: description: The time when the cluster was created in UTC. formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string dbInstanceType: description: The type of database instance that is used for the cluster. example: db.t3.medium type: string drRegion: description: The DR region for the cluster. example: us-east-1 type: string healthStatus: $ref: '#/components/schemas/ClusterHealthStatus' id: description: The cluster's ID. example: clm7k8tgw000008jz97i37y81 type: string isLimited: description: Whether the cluster is limited. example: false type: boolean metadata: $ref: '#/components/schemas/ClusterMetadata' name: description: The cluster's name. example: my cluster type: string nodePools: description: The list of node pools that are created in the cluster. items: $ref: '#/components/schemas/NodePool' type: array organizationId: description: The ID of the Organization that the cluster belongs to. example: clm88r8hi000008jwhzxu5crg type: string podSubnetRange: description: The subnet range for Pods. For GCP clusters only. example: 172.21.0.0/19 type: string providerAccount: description: The provider account ID. For GCP clusters only. example: provider-account type: string region: description: The region in which the cluster is created. example: us-east-1 type: string secondaryVpcCidr: description: The VPC subnet range. type: string servicePeeringRange: description: The service peering range. For GCP clusters only. example: 172.23.0.0/20 type: string serviceSubnetRange: description: The service subnet range. For GCP clusters only. example: 172.22.0.0/22 type: string status: description: The status of the cluster. enum: - CREATING - CREATED - CREATE_FAILED - UPDATE_FAILED - UPDATING - ACCESS_DENIED - UPGRADE_PENDING - FAILING_OVER - FAILOVER_FAILED example: CREATED type: string tags: description: The Kubernetes tags in the cluster. For AWS Hybrid clusters only. items: $ref: '#/components/schemas/ClusterK8sTag' type: array tenantId: description: The tenant ID. For Azure clusters only. example: your-tenant-id type: string type: description: The type of the cluster. enum: - DEDICATED - HYBRID example: DEDICATED type: string updatedAt: description: The time when the cluster was last updated in UTC. formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string vpcSubnetRange: example: 172.20.0.0/22 type: string workspaceIds: description: The list of Workspaces that are authorized to the cluster. example: - clm88rddl000108jwgeka2div items: type: string type: array required: - cloudProvider - createdAt - dbInstanceType - drRegion - id - name - organizationId - region - status - type - updatedAt - vpcSubnetRange type: object ClusterHealthStatus: properties: details: description: List of details supporting health assessment. items: $ref: '#/components/schemas/ClusterHealthStatusDetail' type: array value: description: Overall health state (HEALTHY or UNHEALTHY). enum: - HEALTHY - UNHEALTHY - UNKNOWN example: HEALTHY type: string required: - value type: object ClusterHealthStatusDetail: properties: code: description: The health status for a specific component. type: string component: type: string description: description: A description of the component that was assessed. type: string severity: description: The weight this component is given in overall cluster health assessment. type: string required: - code - description - severity type: object ClusterK8sTag: properties: key: description: The tag's key. example: key1 type: string value: description: The tag's value. example: value1 type: string type: object ClusterMetadata: properties: externalIPs: description: External IPs of the cluster. example: - 35.100.100.1 items: type: string type: array kubeDnsIp: description: The IP address of the kube-dns service. example: 10.100.100.0 type: string oidcIssuerUrl: description: OIDC issuer URL for the cluster example: https://westus2.oic.prod-aks.azure.com/b84efac8-cfae-467a-b223-23b9aea1486d/3075f79e-abc2-4602-a691-28117197e83d/ type: string type: object ClusterOptions: properties: databaseInstances: description: The available database instances. items: $ref: '#/components/schemas/ProviderInstanceType' type: array defaultDatabaseInstance: $ref: '#/components/schemas/ProviderInstanceType' defaultNodeInstance: $ref: '#/components/schemas/ProviderInstanceType' defaultPodSubnetRange: description: The default pod subnet range. example: 172.21.0.0/19 type: string defaultRegion: $ref: '#/components/schemas/ProviderRegion' defaultServicePeeringRange: description: The default service peering range. example: 172.23.0.0/20 type: string defaultServiceSubnetRange: description: The default service subnet range. example: 172.22.0.0/22 type: string defaultVpcSubnetRange: description: The default VPC subnet range. example: 172.20.0.0/19 type: string nodeCountDefault: description: The default number of nodes. example: 20 type: integer nodeCountMax: description: The maximum number of nodes. example: 100 type: integer nodeCountMin: description: The minimum number of nodes. example: 2 type: integer nodeInstances: description: The available node instances. items: $ref: '#/components/schemas/ProviderInstanceType' type: array provider: description: The cloud provider. enum: - AWS - AZURE - GCP example: AZURE type: string regions: description: The available regions. items: $ref: '#/components/schemas/ProviderRegion' type: array required: - databaseInstances - defaultDatabaseInstance - defaultNodeInstance - defaultRegion - defaultVpcSubnetRange - nodeCountDefault - nodeCountMax - nodeCountMin - nodeInstances - provider - regions type: object ClustersPaginated: properties: clusters: description: The list of clusters in the current page. items: $ref: '#/components/schemas/Cluster' type: array limit: description: The maximum number of clusters in one page. example: 10 type: integer offset: description: The offset of the current page of clusters. example: 0 type: integer totalCount: description: The total number of clusters. example: 100 type: integer required: - clusters - limit - offset - totalCount type: object ConnectionAuthType: properties: airflowType: description: The type of connection in Airflow type: string authMethodName: description: The name of the auth method used in the connection type: string description: description: A description of the connection auth type type: string guidePath: description: The URL to the guide for the connection auth type type: string id: description: The ID of the connection auth type type: string name: description: The name of the connection auth type type: string parameters: description: The parameters for the connection auth type items: $ref: '#/components/schemas/ConnectionAuthTypeParameter' type: array providerLogo: description: The URL of the provider logo type: string providerPackageName: description: The name of the provider package type: string required: - airflowType - authMethodName - description - id - name - parameters - providerPackageName type: object ConnectionAuthTypeParameter: properties: airflowParamName: description: The name of the parameter in Airflow type: string dataType: description: The data type of the parameter type: string description: description: A description of the parameter type: string example: description: An example value for the parameter type: string friendlyName: description: The UI-friendly name for the parameter type: string isInExtra: description: Whether or not the parameter is included in the "extra" field type: boolean isRequired: description: Whether the parameter is required type: boolean isSecret: description: Whether the parameter is a secret type: boolean pattern: description: A regex pattern for the parameter type: string required: - airflowParamName - dataType - description - friendlyName - isInExtra - isRequired - isSecret type: object CreateAgentTokenRequest: properties: description: description: The description for the API token. example: This is my API token type: string name: description: The name of the API token. example: My token type: string tokenExpiryPeriodInDays: description: The expiry period of the API token in days. If not specified, the token will never expire. example: 30 maximum: 3650 minimum: 1 type: integer required: - name type: object CreateAllowedIpAddressRangeRequest: properties: ipAddressRange: description: The allowed IP address range in CIDR format. example: 1.1.1.1/32 type: string required: - ipAddressRange type: object CreateApiTokenRequest: properties: description: description: The description for the API token. example: This is my API token type: string entityId: description: The ID of the Workspace or Deployment to which the API token is scoped. It is required if `Scope` is `WORKSPACE` or `DEPLOYMENT`. example: clm8pxjjw000008l23jm08hyu type: string kind: description: The kind of API token. Defaults to STANDARD if not specified. enum: - STANDARD - DIRECT_ACCESS example: STANDARD type: string name: description: The name of the API token. example: My token type: string role: description: The role of the API token. example: WORKSPACE_OWNER type: string scope: description: The scope of the API token. enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION example: WORKSPACE type: string tokenExpiryPeriodInDays: description: The expiry period of the API token in days. If not specified, the token will never expire. example: 30 maximum: 3650 minimum: 1 type: integer required: - name - role - scope type: object CreateAwsClusterRequest: properties: cloudProvider: description: The cluster's cloud provider. enum: - AWS - AZURE - GCP example: AZURE type: string dbInstanceType: description: The type of database instance that is used for the cluster. Required for Hybrid clusters. example: Small General Purpose type: string k8sTags: description: The Kubernetes tags in the cluster. items: $ref: '#/components/schemas/ClusterK8sTag' type: array name: description: The cluster's name. example: My cluster type: string nodePools: description: The list of node pools to create in the cluster. items: $ref: '#/components/schemas/CreateNodePoolRequest' type: array providerAccount: description: The provider account ID. Required for Hybrid clusters. example: provider-account type: string region: description: The cluster's region. example: us-east-1 type: string secondaryVpcCidr: description: The secondary VPC CIDR for pods. For AWS clusters only. example: 100.64.0.0/16 type: string type: description: The cluster's type. enum: - DEDICATED - HYBRID example: DEDICATED type: string vpcSubnetRange: description: The VPC subnet range. example: 172.20.0.0/22 type: string workspaceIds: description: The list of Workspaces that are authorized to the cluster. items: type: string type: array required: - cloudProvider - name - region - type - vpcSubnetRange type: object CreateAzureClusterRequest: properties: cloudProvider: description: The cluster's cloud provider. enum: - AWS - AZURE - GCP example: AZURE type: string dbInstanceType: description: The type of database instance that is used for the cluster. Required for Hybrid clusters. example: Small General Purpose type: string k8sTags: description: The Kubernetes tags in the cluster. items: $ref: '#/components/schemas/ClusterK8sTag' type: array name: description: The cluster's name. example: My cluster type: string nodePools: description: The list of node pools to create in the cluster. items: $ref: '#/components/schemas/CreateNodePoolRequest' type: array providerAccount: description: The provider account ID. Required for Hybrid clusters. example: provider-account type: string region: description: The cluster's region. example: us-east-1 type: string tenantId: description: The tenant ID. For Azure clusters only. example: 82ab587e-33f8-47a2-8909-b9269551d45c type: string type: description: The cluster's type. enum: - DEDICATED - HYBRID example: DEDICATED type: string vpcSubnetRange: description: The VPC subnet range. example: 172.20.0.0/22 type: string workspaceIds: description: The list of Workspaces that are authorized to the cluster. items: type: string type: array required: - cloudProvider - name - region - type - vpcSubnetRange type: object CreateClusterRequest: oneOf: - $ref: '#/components/schemas/CreateAwsClusterRequest' - $ref: '#/components/schemas/CreateAzureClusterRequest' - $ref: '#/components/schemas/CreateGcpClusterRequest' type: object CreateCustomRoleRequest: properties: description: description: The role's description. example: Subject can only view deployments. type: string name: description: The role's name. example: Deployment_Viewer type: string permissions: description: The permissions included in the role. example: - deployment.get items: type: string minItems: 1 type: array restrictedWorkspaceIds: description: The IDs of the Workspaces that the role is restricted to. example: - cldbvzoi20182g8odxt8ehi5i items: type: string type: array scopeType: description: The scope of the role. enum: - DEPLOYMENT - DAG example: DEPLOYMENT type: string required: - name - permissions - scopeType type: object CreateDedicatedDeploymentRequest: properties: astroRuntimeVersion: description: Deployment's Astro Runtime version. example: 9.1.0 type: string clusterId: description: The ID of the cluster where the Deployment will be created. example: clmh9g6zj000008mg77if5wa2 type: string contactEmails: description: A list of contact emails for the Deployment. example: - user1@company.com items: type: string type: array defaultTaskPodCpu: description: The default CPU resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in number of CPU cores. Required if Remote Execution is disabled. example: "0.5" type: string defaultTaskPodMemory: description: The default memory resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in `Gi` and must be explicitly included. This value must always be twice the value of `DefaultTaskPodCpu`. Required if Remote Execution is disabled. example: 1Gi type: string description: description: The Deployment's description. example: My deployment description maxLength: 1000 type: string drWorkloadIdentity: description: The Deployment's DR workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string environmentVariables: description: List of environment variables to add to the Deployment. items: $ref: '#/components/schemas/DeploymentEnvironmentVariableRequest' type: array executor: description: The Deployment's executor type. enum: - CELERY - KUBERNETES - ASTRO example: CELERY type: string isCicdEnforced: description: Whether the Deployment requires that all deploys are made through CI/CD. example: true type: boolean isDagDeployEnabled: description: Whether the Deployment has DAG deploys enabled. example: true type: boolean isDevelopmentMode: description: If true, deployment will be able to use development-only features, such as hibernation, but will not have guaranteed uptime SLAs type: boolean isHighAvailability: description: Whether the Deployment is configured for high availability. If `true`, multiple scheduler pods will be online. example: true type: boolean name: description: The Deployment's name. example: My deployment maxLength: 500 type: string remoteExecution: $ref: '#/components/schemas/DeploymentRemoteExecutionRequest' resourceQuotaCpu: description: 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. Required if Remote Execution is disabled. example: "160" type: string resourceQuotaMemory: description: 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 `Gi` and must be explicitly included. This value must always be twice the value of `ResourceQuotaCpu`. Required if Remote Execution is disabled. example: 320Gi type: string scalingSpec: $ref: '#/components/schemas/DeploymentScalingSpecRequest' schedulerSize: description: The size of the scheduler Pod. enum: - SMALL - MEDIUM - LARGE - EXTRA_LARGE example: MEDIUM type: string type: description: The type of the Deployment. enum: - DEDICATED - HYBRID - STANDARD example: DEDICATED type: string workerQueues: description: A list of the Deployment's worker queues. Applies only when `Executor` is `CELERY` or if Remote Execution is disabled and executor is `ASTRO`. All these Deployments need at least 1 worker queue called `default`. items: $ref: '#/components/schemas/WorkerQueueRequest' minItems: 1 type: array workloadIdentity: description: The Deployment's workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string workspaceId: description: The ID of the Workspace to which the Deployment belongs. example: clmh8ol3x000008jo656y4285 type: string required: - astroRuntimeVersion - clusterId - executor - isCicdEnforced - isDagDeployEnabled - isHighAvailability - name - schedulerSize - type - workspaceId type: object CreateDeployRequest: properties: bundleMountPath: description: The path where Astro mounts the bundle on the Airflow component pods. Required if deploy type is BUNDLE. type: string bundleType: description: The type of bundle deployed. Required if deploy type is BUNDLE. example: dbt type: string description: description: The deploy's description. example: My deploy description maxLength: 500 type: string type: description: The type of deploy. enum: - IMAGE_AND_DAG - IMAGE_ONLY - DAG_ONLY - BUNDLE example: IMAGE_AND_DAG type: string required: - type type: object CreateDeploymentRequest: oneOf: - $ref: '#/components/schemas/CreateDedicatedDeploymentRequest' - $ref: '#/components/schemas/CreateHybridDeploymentRequest' - $ref: '#/components/schemas/CreateStandardDeploymentRequest' type: object CreateEnvironmentObject: properties: id: description: The ID of the environment object type: string required: - id type: object CreateEnvironmentObjectAirflowVariableOverridesRequest: properties: value: description: The value of the Airflow variable type: string type: object CreateEnvironmentObjectAirflowVariableRequest: properties: isSecret: description: Whether the value is a secret or not type: boolean value: description: The value of the Airflow variable type: string type: object CreateEnvironmentObjectConnectionOverridesRequest: properties: extra: description: Extra connection details, if any type: object host: description: The host address for the connection type: string login: description: The username used for the connection type: string password: description: The password used for the connection type: string port: description: The port for the connection type: integer schema: description: The schema for the connection type: string type: description: The type of connection type: string type: object CreateEnvironmentObjectConnectionRequest: properties: authTypeId: description: The ID for the connection auth type type: string extra: description: Extra connection details, if any type: object host: description: The host address for the connection type: string login: description: The username used for the connection type: string password: description: The password used for the connection type: string port: description: The port for the connection type: integer schema: description: The schema for the connection type: string type: description: The type of connection type: string required: - type type: object CreateEnvironmentObjectLinkRequest: properties: overrides: $ref: '#/components/schemas/CreateEnvironmentObjectOverridesRequest' scope: description: Scope to link the environment object enum: - DEPLOYMENT type: string scopeEntityId: description: Entity ID of the scope to link the environment object type: string required: - scope - scopeEntityId type: object CreateEnvironmentObjectMetricsExportOverridesRequest: properties: authType: description: The type of authentication to use when connecting to the remote endpoint enum: - BASIC - AUTH_TOKEN type: string basicToken: description: The bearer token to connect to the remote endpoint type: string endpoint: description: The Prometheus endpoint where the metrics are exported type: string exporterType: description: The type of exporter enum: - PROMETHEUS type: string headers: additionalProperties: type: string description: Add key-value pairs to the HTTP request headers made by Astro when connecting to the remote endpoint type: object labels: additionalProperties: type: string description: Any key-value pair metrics labels for your export. You can use these to filter your metrics in downstream applications. type: object password: description: The password to connect to the remote endpoint type: string username: description: The username to connect to the remote endpoint type: string type: object CreateEnvironmentObjectMetricsExportRequest: properties: authType: description: The type of authentication to use when connecting to the remote endpoint enum: - BASIC - AUTH_TOKEN type: string basicToken: description: The bearer token to connect to the remote endpoint type: string endpoint: description: The Prometheus endpoint where the metrics are exported type: string exporterType: description: The type of exporter enum: - PROMETHEUS type: string headers: additionalProperties: type: string description: Add key-value pairs to the HTTP request headers made by Astro when connecting to the remote endpoint type: object labels: additionalProperties: type: string description: Any key-value pair metrics labels for your export. You can use these to filter your metrics in downstream applications. type: object password: description: The password to connect to the remote endpoint type: string username: description: The username to connect to the remote endpoint type: string required: - endpoint - exporterType type: object CreateEnvironmentObjectOverridesRequest: properties: airflowVariable: $ref: '#/components/schemas/CreateEnvironmentObjectAirflowVariableOverridesRequest' connection: $ref: '#/components/schemas/CreateEnvironmentObjectConnectionOverridesRequest' metricsExport: $ref: '#/components/schemas/CreateEnvironmentObjectMetricsExportOverridesRequest' type: object CreateEnvironmentObjectRequest: properties: airflowVariable: $ref: '#/components/schemas/CreateEnvironmentObjectAirflowVariableRequest' autoLinkDeployments: description: Whether or not to automatically link Deployments to the environment object. Only applicable for WORKSPACE scope type: boolean connection: $ref: '#/components/schemas/CreateEnvironmentObjectConnectionRequest' excludeLinks: description: The links to exclude from the environment object. Only applicable for WORKSPACE scope items: $ref: '#/components/schemas/ExcludeLinkEnvironmentObjectRequest' type: array links: description: The Deployments that Astro links to the environment object. Only applicable for WORKSPACE scope items: $ref: '#/components/schemas/CreateEnvironmentObjectLinkRequest' type: array metricsExport: $ref: '#/components/schemas/CreateEnvironmentObjectMetricsExportRequest' objectKey: description: The key for the environment object type: string objectType: description: The type of environment object enum: - CONNECTION - AIRFLOW_VARIABLE - METRICS_EXPORT type: string scope: description: The scope of the environment object enum: - WORKSPACE - DEPLOYMENT type: string scopeEntityId: description: The ID of the scope entity where the environment object is created type: string required: - objectKey - objectType - scope - scopeEntityId type: object CreateGcpClusterRequest: properties: cloudProvider: description: The cluster's cloud provider. enum: - AWS - AZURE - GCP example: AZURE type: string dbInstanceType: description: The type of database instance that is used for the cluster. Required for Hybrid clusters. example: Small General Purpose type: string k8sTags: description: The Kubernetes tags in the cluster. items: $ref: '#/components/schemas/ClusterK8sTag' type: array name: description: The cluster's name. example: My cluster type: string nodePools: description: The list of node pools to create in the cluster. items: $ref: '#/components/schemas/CreateNodePoolRequest' type: array podSubnetRange: description: The subnet range for Pods. For GCP clusters only. example: 172.21.0.0/19 type: string providerAccount: description: The provider account ID. Required for Hybrid clusters. example: provider-account type: string region: description: The cluster's region. example: us-east-1 type: string servicePeeringRange: description: The service subnet range. For GCP clusters only. example: 172.23.0.0/20 type: string serviceSubnetRange: description: The service peering range. For GCP clusters only. example: 172.22.0.0/22 type: string type: description: The cluster's type. enum: - DEDICATED - HYBRID example: DEDICATED type: string vpcSubnetRange: description: The VPC subnet range. example: 172.20.0.0/22 type: string workspaceIds: description: The list of Workspaces that are authorized to the cluster. items: type: string type: array required: - cloudProvider - name - podSubnetRange - region - servicePeeringRange - serviceSubnetRange - type - vpcSubnetRange type: object CreateHybridDeploymentRequest: properties: astroRuntimeVersion: description: Deployment's Astro Runtime version. example: 9.1.0 type: string clusterId: description: The ID of the cluster where the Deployment will be created. example: clmh9grqp000108mg4r2l5ok4 type: string contactEmails: description: A list of contact emails for the Deployment. example: - user1@company.com items: type: string type: array description: description: The Deployment's description. example: My deployment description maxLength: 1000 type: string drWorkloadIdentity: description: The Deployment's DR workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string environmentVariables: description: List of environment variables to add to the Deployment. items: $ref: '#/components/schemas/DeploymentEnvironmentVariableRequest' type: array executor: description: The Deployment's executor type. enum: - CELERY - KUBERNETES example: CELERY type: string isCicdEnforced: description: Whether the Deployment requires that all deploys are made through CI/CD. example: true type: boolean isDagDeployEnabled: description: Whether the Deployment has DAG deploys enabled. example: true type: boolean name: description: The Deployment's name. example: My deployment maxLength: 500 type: string scheduler: $ref: '#/components/schemas/DeploymentInstanceSpecRequest' taskPodNodePoolId: description: The node pool ID for the task pods. For `KUBERNETES` executor only. example: clmh9hbjb000008m9eutqg68h type: string type: description: The type of the Deployment. enum: - DEDICATED - HYBRID - STANDARD example: DEDICATED type: string workerQueues: description: The list of worker queues configured for the Deployment. Applies only when `Executor` is `CELERY`. At least 1 worker queue is needed. All Deployments need at least 1 worker queue called `default`. items: $ref: '#/components/schemas/HybridWorkerQueueRequest' minItems: 1 type: array workloadIdentity: description: The Deployment's workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string workspaceId: description: The ID of the Workspace to which the Deployment belongs. example: clmh8ol3x000008jo656y4285 type: string required: - astroRuntimeVersion - clusterId - executor - isCicdEnforced - isDagDeployEnabled - name - scheduler - type - workspaceId type: object CreateNodePoolRequest: properties: isDefault: description: Whether the node pool is the default node pool of the cluster. example: true type: boolean maxNodeCount: description: The maximum number of nodes that can be created in the node pool. example: 10 type: integer name: description: The name of the node pool. example: my-nodepool type: string nodeInstanceType: description: The type of node instance that is used for the node pool. example: t3.medium type: string required: - maxNodeCount - name - nodeInstanceType type: object CreateStandardDeploymentRequest: properties: astroRuntimeVersion: description: Deployment's Astro Runtime version. example: 9.1.0 type: string cloudProvider: description: The cloud provider for the Deployment's cluster. Optional if `ClusterId` is specified. enum: - AWS - AZURE - GCP example: GCP type: string clusterId: description: The ID of the cluster to which the Deployment will be created in. Optional if cloud provider and region is specified. example: clmh93n2n000008ms3tv79voh type: string contactEmails: description: A list of contact emails for the Deployment. example: - user1@company.com items: type: string type: array defaultTaskPodCpu: description: The default CPU resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in number of CPU cores. Required if Remote Execution is disabled. example: "0.5" type: string defaultTaskPodMemory: description: The default memory resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in `Gi` and must be explicitly included. This value must always be twice the value of `DefaultTaskPodCpu`. Required if Remote Execution is disabled. example: 1Gi type: string description: description: The Deployment's description. example: My deployment description maxLength: 1000 type: string drWorkloadIdentity: description: The Deployment's DR workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string environmentVariables: description: List of environment variables to add to the Deployment. items: $ref: '#/components/schemas/DeploymentEnvironmentVariableRequest' type: array executor: description: The Deployment's executor type. enum: - CELERY - KUBERNETES - ASTRO example: CELERY type: string isCicdEnforced: description: Whether the Deployment requires that all deploys are made through CI/CD. example: true type: boolean isDagDeployEnabled: description: Whether the Deployment has DAG deploys enabled. example: true type: boolean isDevelopmentMode: description: If true, deployment will be able to use development-only features, such as hibernation, but will not have guaranteed uptime SLAs type: boolean isHighAvailability: description: Whether the Deployment is configured for high availability. If `true`, multiple scheduler pods will be online. example: true type: boolean name: description: The Deployment's name. example: My deployment maxLength: 500 type: string region: description: The region to host the Deployment in. Optional if `ClusterId` is specified. example: us-east4 type: string remoteExecution: $ref: '#/components/schemas/DeploymentRemoteExecutionRequest' resourceQuotaCpu: description: 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. Required if Remote Execution is disabled. example: "160" type: string resourceQuotaMemory: description: 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 `Gi` and must be explicitly included. This value must always be twice the value of `ResourceQuotaCpu`. Required if Remote Execution is disabled. example: 320Gi type: string scalingSpec: $ref: '#/components/schemas/DeploymentScalingSpecRequest' schedulerSize: description: The size of the scheduler Pod. enum: - SMALL - MEDIUM - LARGE - EXTRA_LARGE example: MEDIUM type: string type: description: The type of the Deployment. enum: - DEDICATED - HYBRID - STANDARD example: DEDICATED type: string workerQueues: description: A list of the Deployment's worker queues. Applies only when `Executor` is `CELERY` or if Remote Execution is disabled and executor is `ASTRO`. All these Deployments need at least 1 worker queue called `default`. items: $ref: '#/components/schemas/WorkerQueueRequest' minItems: 1 type: array workloadIdentity: description: The Deployment's workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string workspaceId: description: The ID of the Workspace to which the Deployment belongs. example: clmh8ol3x000008jo656y4285 type: string required: - astroRuntimeVersion - executor - isCicdEnforced - isDagDeployEnabled - isHighAvailability - name - schedulerSize - type - workspaceId type: object CreateTeamRequest: properties: description: description: The Team's description. example: My Team description type: string memberIds: description: The list of IDs for users to add to the Team. example: - clma67byh000008md1gr995ez items: type: string type: array name: description: The Team's name. example: My Team type: string organizationRole: description: The Team's Organization role. enum: - ORGANIZATION_OWNER - ORGANIZATION_OBSERVE_ADMIN - ORGANIZATION_OBSERVE_MEMBER - ORGANIZATION_BILLING_ADMIN - ORGANIZATION_MEMBER example: ORGANIZATION_MEMBER type: string required: - name type: object CreateUserInviteRequest: properties: inviteeEmail: description: The email of the user to invite. example: user1@company.com type: string role: description: The user's Organization role. enum: - ORGANIZATION_OWNER - ORGANIZATION_OBSERVE_ADMIN - ORGANIZATION_OBSERVE_MEMBER - ORGANIZATION_BILLING_ADMIN - ORGANIZATION_MEMBER example: ORGANIZATION_MEMBER type: string required: - inviteeEmail - role type: object CreateWorkspaceRequest: properties: cicdEnforcedDefault: description: Whether new Deployments enforce CI/CD deploys by default. example: true type: boolean description: description: The Workspace's description. example: This is a test workspace type: string name: description: The Workspace's name. example: My Workspace maxLength: 50 type: string required: - name type: object DagRole: properties: dagId: description: The DAG ID. Required if Tag is not specified. example: my_dag type: string deploymentId: description: The Deployment ID containing the DAG. example: clm8t5u4q000008jq4qoc3031 type: string role: description: The role name (DAG_VIEWER, DAG_AUTHOR, or custom DAG role). example: DAG_VIEWER type: string tag: description: The DAG tag. Required if DagId is not specified. example: team-a type: string required: - deploymentId - role type: object DefaultRole: properties: description: description: The role's description. example: Subject can only view deployments. type: string name: description: The role's name. example: Deployment_Viewer type: string permissions: description: The role's permissions. example: - deployment.get items: type: string type: array scopeType: description: The role's scope. enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION - SYSTEM - DAG example: DEPLOYMENT type: string required: - name - permissions - scopeType type: object Deploy: properties: airflowVersion: description: The deploy's Airflow version. example: 2.7.2, if airflow version is not found, it will return NA type: string astroRuntimeVersion: description: The deploy's Astro Runtime version. example: 9.1.0 type: string bundleMountPath: description: The path where Astro mounts the bundle on the Airflow component pods. type: string bundleUploadUrl: description: The URL where the deploy uploads the bundle. Appears only if DAG deploys are enabled on the Deployment and deploy type is BUNDLE. type: string bundles: description: The bundles included in a specific Deployment. items: $ref: '#/components/schemas/Bundle' type: array createdAt: description: The time when the deploy was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string createdBySubject: $ref: '#/components/schemas/BasicSubjectProfile' dagTarballVersion: description: The deploy's DAG tarball version, also known as the Bundle Version in the Astro UI. example: "2024-01-12T18:32:20.5898930Z" type: string dagsUploadUrl: description: The deploy's upload URL to upload DAG bundles. Appears only if dag deploys are enabled on the Deployment. example: https://astroproddagdeploy.windows.core.net/clmh59gt0000308lbgswe5fvh/clmh57jtm000008lb58fe2wmv type: string deploymentId: description: The Deployment's ID. example: clmh57jtm000008lb58fe2wmv type: string description: description: The deploy's description. example: My deploy description type: string id: description: The deploy's ID. example: clvetru2w000201mowqwua63n type: string imageRepository: description: The URL of the deploy's image repository. example: https://my-image-repository type: string imageTag: description: The deploy's image tag. Appears only if specified in the most recent deploy. example: my-image-tag type: string isDagDeployEnabled: description: Whether the deploy was triggered on a Deployment with DAG deploys enabled. example: true type: boolean rollbackFromId: description: The ID of the deploy that you completed a rollback on. Appears only if a rollback has been performed. example: clvcz1lrq000101oitxtp276e type: string status: description: The status of the deploy. enum: - INITIALIZED - DEPLOYED - FAILED example: DEPLOYED type: string type: description: The type of deploy. enum: - IMAGE_AND_DAG - IMAGE_ONLY - DAG_ONLY example: IMAGE_AND_DAG type: string updatedAt: description: The time when the deploy was last updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedBySubject: $ref: '#/components/schemas/BasicSubjectProfile' required: - createdAt - deploymentId - id - imageRepository - imageTag - isDagDeployEnabled - status - type type: object DeployRollbackRequest: properties: description: maxLength: 500 type: string type: object Deployment: properties: airflowVersion: description: The Deployment's Airflow version. example: 2.7.2, if airflow version is not found, it will return NA type: string apiUrl: description: The base URL to directly access the Airflow API. example: https://clypw7uah05jb01nwtpojz0j2.astronomer.run/d4yjo9ed/api/v1 type: string astroRuntimeVersion: description: The Deployment's Astro Runtime version. example: 9.1.0 type: string cloudProvider: description: The cloud provider of the cluster. Only for Standard Deployment. enum: - AWS - AZURE - GCP example: AZURE type: string clusterId: description: The ID of the cluster where the Deployment is hosted. example: clmh597sg000208lb2kjhcn8q type: string clusterName: description: The name of the cluster where the Deployment is hosted. Only for Dedicated and Hybrid Deployments. example: my cluster type: string contactEmails: description: The list of contact emails for the Deployment. example: - user1@company.com items: type: string type: array createdAt: description: The time when the Deployment was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' dagTarballVersion: description: The Deployment's current DAG tarball version, also known as the Bundle Version in the Astro UI. If no deploys are currently processing, this value should be the same as DesiredDagTarballVersion. example: "2024-01-12T18:32:20.5898930Z" type: string defaultTaskPodCpu: description: The default CPU resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in number of CPU cores. example: "0.5" type: string defaultTaskPodMemory: description: The default memory resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in `Gi`. This value must always be twice the value of `DefaultTaskPodCpu`. example: 1Gi type: string description: description: The Deployment's description. example: My deployment description type: string desiredDagTarballVersion: description: The Deployment's expected DAG tarball version after a currently processing deploy completes. This value is updated when a user triggers a DAG-only deploy to indicate that the Deployment is expecting a new DAG tarball version. If no deploys are currently processing, this value should be the same as DagTarballVersion. example: "2024-01-12T18:32:20.5898930Z" type: string drExternalIPs: description: A list of the Deployment's external IPs in the DR cluster items: type: string type: array drOidcIssuerUrl: description: OIDC issuer URL of the deployment's DR cluster example: https://westus2.oic.prod-aks.azure.com/b84efac8-cfee-467a-b223-23b9aea1486d/3075f79e-abc2-4602-a691-28117197e83d/ type: string effectiveDRWorkloadIdentity: description: The DR workload identity being used by the deployment. Either user-configured or Astronomer-provided default. type: string effectiveWorkloadIdentity: description: The workload identity being used by the deployment. Either user-configured or Astronomer-provided default. type: string environmentVariables: description: The Deployment's environment variables. Secret values will be omitted from response. items: $ref: '#/components/schemas/DeploymentEnvironmentVariable' type: array executor: description: The Deployment's executor type. enum: - CELERY - KUBERNETES - ASTRO example: CELERY type: string externalIPs: description: A list of the Deployment's external IPs. example: - 0.0.0.0 items: type: string type: array id: description: The Deployment's ID. example: clmh57jtm000008lb58fe2wmv type: string imageRepository: description: The URL of the Deployment's image repository. example: https://my-image-repository type: string imageTag: description: The Deployment's custom image tag. Appears only if specified in the most recent deploy. example: my-image-tag type: string imageVersion: description: A tag that Astronomer applies to the Deployment's Astro Runtime image during a deploy. It includes the date and time of the deploy. example: deploy-2023-09-14T19-04 type: string isCicdEnforced: description: Whether the Deployment requires that all deploys are made through CI/CD. example: true type: boolean isDagDeployEnabled: description: Whether the Deployment has DAG deploys enabled. example: true type: boolean isDevelopmentMode: description: If true, deployment will be able to use development-only features, such as hibernation, but will not have guaranteed uptime SLAs type: boolean isHighAvailability: description: Whether the Deployment has high availability (HA) enabled. If `true`, multiple scheduler Pods will run at once. example: true type: boolean name: description: The Deployment's name. example: My deployment type: string namespace: description: The Deployment's namespace name in the Kubernetes cluster. example: weightless-diameter-8927 type: string oidcIssuerUrl: description: OIDC issuer URL of the deployment's cluster example: https://westus2.oic.prod-aks.azure.com/b84efac8-cfee-467a-b223-23b9aea1486d/3075f79e-abc2-4602-a691-28117197e83d/ type: string organizationId: description: The ID of the Organization to which the Deployment belongs. example: clmh59gt0000308lbgswe5fvh type: string region: description: The region of the cluster. Only for Dedicated and Hybrid Deployments. example: us-east-1 type: string remoteExecution: $ref: '#/components/schemas/DeploymentRemoteExecution' resourceQuotaCpu: description: 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. example: "160" type: string resourceQuotaMemory: description: 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 `Gi`. This value must always be twice the value of `ResourceQuotaCpu`. example: 320Gi type: string runtimeVersion: description: 'Deprecated: runtimeVersion has been replaced with astroRuntimeVersion' example: 9.1.0 type: string scalingSpec: $ref: '#/components/schemas/DeploymentScalingSpec' scalingStatus: $ref: '#/components/schemas/DeploymentScalingStatus' schedulerAu: description: The number of Astronomer units (AU) for the Deployment's scheduler. Applies only to Deployments hosted on Hybrid clusters. example: 5 type: integer schedulerCpu: description: The CPU limit for the Deployment's scheduler. Specified in number of CPU cores. example: "1" type: string schedulerMemory: description: The memory limit for the Deployment's scheduler. Units in Gibibytes or `Gi`. example: 1Gi type: string schedulerReplicas: description: The number of schedulers to use in the Deployment. example: 1 type: integer schedulerSize: description: The Deployment's scheduler size. enum: - SMALL - MEDIUM - LARGE - EXTRA_LARGE example: MEDIUM type: string status: description: The status of the Deployment. enum: - CREATING - DEPLOYING - HEALTHY - UNHEALTHY - UNKNOWN - HIBERNATING example: HEALTHY type: string statusReason: description: A message that provides context for the Deployment's status. example: Successfully Deployed type: string taskPodNodePoolId: description: The node pool ID for the task pod. example: clmh5mash000008mia6lnbs0f type: string type: description: The type of cluster that the Deployment runs on. enum: - DEDICATED - HYBRID - STANDARD example: DEDICATED type: string uiUrl: description: The URL to access the Airflow UI. example: https://clypw7uah05jb01nwtpojz0j2.astronomer.run/d4yjo9ed?orgId=org_bvqayGttQauxdxB2 type: string updatedAt: description: The time when the Deployment was last updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' webServerAirflowApiUrl: description: The Deployment's webserver's base url to directly access the Airflow api. example: myorganization.astronomer-dev.run/d8fe2wmv/api/v1 type: string webServerCpu: description: The CPU limit for the Deployment's webserver. Units are in number of CPU cores. example: "0.5" type: string webServerIngressHostname: description: The Deployment's webserver's ingress hostname. example: clmh597sg000208lb2kjhcn8q.astronomer.run/d8fe2wmv type: string webServerMemory: description: The memory limit for the Deployment's webserver. Units in Gibibytes or `Gi`. example: 0.5Gi type: string webServerReplicas: description: The number of webserver replicas. example: 1 type: integer webServerUrl: description: The Deployment's webserver's url. example: myorganization.astronomer-dev.run/d8fe2wmv?orgId=org_edxLzpFcLrgEfpD5 type: string workerQueues: description: A list of the Deployment's worker queues. items: $ref: '#/components/schemas/WorkerQueue' type: array workspaceId: description: The ID of the Workspace to which the Deployment belongs. example: clmh58o7d000108lb74ktc9o64 type: string workspaceName: description: The name of the Workspace to which the Deployment belongs. example: my-workspace type: string required: - airflowVersion - apiUrl - astroRuntimeVersion - createdAt - createdBy - id - imageRepository - imageTag - isCicdEnforced - isDagDeployEnabled - name - namespace - organizationId - runtimeVersion - schedulerCpu - schedulerMemory - schedulerReplicas - status - uiUrl - updatedAt - updatedBy - webServerAirflowApiUrl - webServerCpu - webServerIngressHostname - webServerMemory - webServerUrl - workspaceId type: object DeploymentEnvironmentVariable: properties: isSecret: description: Whether the environment variable is a secret. example: true type: boolean key: description: The environment variable key, used to call the value in code. example: my-var type: string updatedAt: description: The time when the environment variable was last updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string value: description: The environment variable value. example: my-var-value type: string required: - isSecret - key - updatedAt type: object DeploymentEnvironmentVariableRequest: properties: isSecret: description: Whether the environment variable is a secret. example: false type: boolean key: description: The environment variable key, used to call the value in code. example: my-var type: string value: description: The environment variable value. example: my-var-value type: string required: - isSecret - key type: object DeploymentHibernationOverride: properties: isActive: description: Whether the override is currently active or not type: boolean isHibernating: description: Whether to go into hibernation or not via the override rule type: boolean overrideUntil: description: Timestamp till the override on the hibernation schedule is in effect format: date-time type: string type: object DeploymentHibernationOverrideRequest: properties: isHibernating: description: Whether to go into hibernation or not via the override rule type: boolean overrideUntil: description: Timestamp till the override on the hibernation schedule is in effect type: string type: object DeploymentHibernationSchedule: properties: description: description: A brief description of the schedule maxLength: 200 type: string hibernateAtCron: description: A 5-part cron expression defining the times at which the deployment should hibernate type: string isEnabled: description: Toggle this schedule on or off. If set to false, this schedule will have no effect on hibernation. type: boolean wakeAtCron: description: A 5-part cron expression definingh the times at which the deployment should wake from hibernation type: string required: - hibernateAtCron - isEnabled - wakeAtCron type: object DeploymentHibernationSpec: properties: override: $ref: '#/components/schemas/DeploymentHibernationOverride' schedules: description: The list of schedules for deployment hibernation items: $ref: '#/components/schemas/DeploymentHibernationSchedule' type: array type: object DeploymentHibernationSpecRequest: properties: override: $ref: '#/components/schemas/DeploymentHibernationOverrideRequest' schedules: description: The list of schedules for deployment hibernation items: $ref: '#/components/schemas/DeploymentHibernationSchedule' maxItems: 10 type: array type: object DeploymentHibernationStatus: properties: isHibernating: description: If the deployment is currently in hibernating state or not type: boolean nextEventAt: description: Timestamp of the next scheduled hibernation event for the deployment type: string nextEventType: description: The type of the next scheduled event for the deployment. Either HIBERNATE or WAKE enum: - HIBERNATE - WAKE type: string reason: description: Reason for the current hibernation state of the deployment type: string required: - isHibernating type: object DeploymentInstanceSpecRequest: properties: au: description: The number of Astro unit allocated to the Deployment pod. Minimum `5`, Maximum `24`. example: 5 maximum: 24 minimum: 5 type: integer replicas: description: The number of replicas the pod should have. Minimum `1`, Maximum `4`. example: 1 maximum: 4 minimum: 1 type: integer required: - au - replicas type: object DeploymentOptions: properties: executors: description: The available executors. items: type: string type: array resourceQuotas: $ref: '#/components/schemas/ResourceQuotaOptions' runtimeReleases: description: The available Astro Runtime versions. items: $ref: '#/components/schemas/RuntimeRelease' type: array schedulerMachines: description: The available scheduler sizes. items: $ref: '#/components/schemas/SchedulerMachine' type: array workerMachines: description: The available worker machine types. items: $ref: '#/components/schemas/WorkerMachine' type: array workerQueues: $ref: '#/components/schemas/WorkerQueueOptions' workloadIdentityOptions: description: The available workload identity options. items: $ref: '#/components/schemas/WorkloadIdentityOption' type: array required: - executors - resourceQuotas - runtimeReleases - schedulerMachines - workerMachines - workerQueues type: object DeploymentRemoteExecution: properties: allowedIpAddressRanges: items: type: string type: array enabled: type: boolean remoteApiUrl: type: string taskLogBucket: type: string taskLogUrlPattern: type: string required: - allowedIpAddressRanges - enabled - remoteApiUrl type: object DeploymentRemoteExecutionRequest: properties: allowedIpAddressRanges: items: type: string type: array enabled: type: boolean taskLogBucket: type: string taskLogUrlPattern: type: string required: - enabled type: object DeploymentRole: properties: deploymentId: description: The Deployment ID. example: clm8t5u4q000008jq4qoc3031 type: string role: description: The name of the role for the subject in the Deployment. example: DEPLOYMENT_ADMIN type: string required: - deploymentId - role type: object DeploymentScalingSpec: properties: hibernationSpec: $ref: '#/components/schemas/DeploymentHibernationSpec' type: object DeploymentScalingSpecRequest: properties: hibernationSpec: $ref: '#/components/schemas/DeploymentHibernationSpecRequest' type: object DeploymentScalingStatus: properties: hibernationStatus: $ref: '#/components/schemas/DeploymentHibernationStatus' type: object DeploymentsPaginated: properties: deployments: description: A list of Deployments in the current page. items: $ref: '#/components/schemas/Deployment' type: array limit: description: The maximum number of Deployments in one page. example: 10 type: integer offset: description: The offset of the current page of Deployments. example: 0 type: integer totalCount: description: The total number of Deployments. example: 100 type: integer required: - deployments - limit - offset - totalCount type: object DeploysPaginated: properties: deploys: description: A list of deploys in the current page. items: $ref: '#/components/schemas/Deploy' type: array limit: description: The maximum number of deploys in one page. type: integer offset: description: The offset of the current page of deploys. type: integer totalCount: description: The total number of deploys. type: integer required: - deploys - limit - offset - totalCount type: object EnvironmentObject: properties: airflowVariable: $ref: '#/components/schemas/EnvironmentObjectAirflowVariable' autoLinkDeployments: description: Whether or not to automatically link Deployments to the environment object type: boolean connection: $ref: '#/components/schemas/EnvironmentObjectConnection' createdAt: description: The time when the environment object was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ` type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' excludeLinks: description: The excluded links for the environment object items: $ref: '#/components/schemas/EnvironmentObjectExcludeLink' type: array id: description: The ID of the environment object type: string links: description: The Deployments linked to the environment object items: $ref: '#/components/schemas/EnvironmentObjectLink' type: array metricsExport: $ref: '#/components/schemas/EnvironmentObjectMetricsExport' objectKey: description: The key for the environment object type: string objectType: description: The type of environment object enum: - CONNECTION - AIRFLOW_VARIABLE - METRICS_EXPORT type: string scope: description: The scope of the environment object enum: - WORKSPACE - DEPLOYMENT type: string scopeEntityId: description: The ID of the scope entity where the environment object is created type: string sourceScope: description: The source scope of the environment object, if it is resolved from a link enum: - WORKSPACE - DEPLOYMENT type: string sourceScopeEntityId: description: The source scope entity ID of the environment object, if it is resolved from a link type: string updatedAt: description: The time when the environment object was updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ` type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' required: - objectKey - objectType - scope - scopeEntityId type: object EnvironmentObjectAirflowVariable: properties: isSecret: description: Whether the value is a secret or not type: boolean value: description: The value of the Airflow variable. If the value is a secret, the value returned is empty type: string required: - isSecret - value type: object EnvironmentObjectAirflowVariableOverrides: properties: value: description: The value of the Airflow variable type: string required: - value type: object EnvironmentObjectConnection: properties: connectionAuthType: $ref: '#/components/schemas/ConnectionAuthType' extra: description: Extra connection details, if any type: object host: description: The host address for the connection type: string login: description: The username used for the connection type: string password: description: The password used for the connection type: string port: description: The port for the connection type: integer schema: description: The schema for the connection type: string type: description: The type of connection type: string required: - type type: object EnvironmentObjectConnectionOverrides: properties: extra: description: Extra connection details, if any type: object host: description: The host address for the connection type: string login: description: The username used for the connection type: string password: description: The password used for the connection type: string port: description: The port for the connection type: integer schema: description: The schema for the connection type: string type: description: The type of connection type: string type: object EnvironmentObjectExcludeLink: properties: scope: description: Scope of the excluded entity for environment object enum: - DEPLOYMENT type: string scopeEntityId: description: ID for the excluded entity for the environment object type: string required: - scope - scopeEntityId type: object EnvironmentObjectLink: properties: airflowVariableOverrides: $ref: '#/components/schemas/EnvironmentObjectAirflowVariableOverrides' connectionOverrides: $ref: '#/components/schemas/EnvironmentObjectConnectionOverrides' metricsExportOverrides: $ref: '#/components/schemas/EnvironmentObjectMetricsExportOverrides' scope: description: Scope of the linked entity for the environment object enum: - DEPLOYMENT type: string scopeEntityId: description: Linked entity ID the environment object type: string required: - scope - scopeEntityId type: object EnvironmentObjectMetricsExport: properties: authType: description: The type of authentication to use when connecting to the remote endpoint enum: - BASIC - AUTH_TOKEN type: string basicToken: description: The bearer token to connect to the remote endpoint type: string endpoint: description: The Prometheus endpoint where the metrics are exported type: string exporterType: description: The type of exporter enum: - PROMETHEUS type: string headers: additionalProperties: type: string description: Add key-value pairs to the HTTP request headers made by Astro when connecting to the remote endpoint type: object labels: additionalProperties: type: string description: Any key-value pair metrics labels for your export. You can use these to filter your metrics in downstream applications. type: object password: description: The password to connect to the remote endpoint type: string username: description: The username to connect to the remote endpoint type: string required: - endpoint - exporterType type: object EnvironmentObjectMetricsExportOverrides: properties: authType: description: The type of authentication to use when connecting to the remote endpoint enum: - BASIC - AUTH_TOKEN type: string basicToken: description: The bearer token to connect to the remote endpoint type: string endpoint: description: The Prometheus endpoint where the metrics are exported type: string exporterType: description: The type of exporter enum: - PROMETHEUS type: string headers: additionalProperties: type: string description: Add key-value pairs to the HTTP request headers made by Astro when connecting to the remote endpoint type: object labels: additionalProperties: type: string description: Any key-value pair metrics labels for your export. You can use these to filter your metrics in downstream applications. type: object password: description: The password to connect to the remote endpoint type: string username: description: The username to connect to the remote endpoint type: string type: object EnvironmentObjectsPaginated: properties: environmentObjects: description: The list of environment objects items: $ref: '#/components/schemas/EnvironmentObject' type: array limit: description: The maximum number of environment objects in current page type: integer offset: description: The offset of the current page of environment objects type: integer totalCount: description: The total number of environment objects type: integer required: - environmentObjects - limit - offset - totalCount type: object Error: properties: message: type: string requestId: type: string statusCode: maximum: 600 minimum: 400 type: integer required: - message - requestId - statusCode type: object ExcludeLinkEnvironmentObjectRequest: properties: scope: description: Scope of the entity to exclude for environment object enum: - DEPLOYMENT type: string scopeEntityId: description: Entity ID to exclude for the environment object type: string required: - scope - scopeEntityId type: object FinalizeDeployRequest: properties: bundleTarballVersion: description: The deploy's bundle tarball version. Required if DAG deploy is enabled on the Deployment and deploy type is BUNDLE. type: string dagTarballVersion: description: The deploy's DAG tarball version, also known as the Bundle Version in the Astro UI. Required if DAG deploys are enabled on the Deployment, and deploy type is either IMAGE_AND_DAG or DAG_ONLY. type: string type: object HybridWorkerQueueRequest: properties: id: description: The worker queue's ID. If not provided, a new worker queue will be created. example: clmha1mzc000b08mi96n182au type: string isDefault: description: Whether the worker queue is the default worker queue on the Deployment. example: true type: boolean maxWorkerCount: description: The maximum number of workers that can run at once. minimum: 1 type: integer minWorkerCount: description: The minimum number of workers running at once. minimum: 0 type: integer name: description: The worker queue's name. example: My worker queue maxLength: 63 type: string nodePoolId: description: The node pool ID associated with the worker queue. type: string workerConcurrency: description: The maximum number of concurrent tasks that a worker Pod can run at a time. minimum: 1 type: integer required: - isDefault - maxWorkerCount - minWorkerCount - name - nodePoolId - workerConcurrency type: object Invite: properties: expiresAt: description: The time when the invite is expired in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string inviteId: description: The invite ID. example: clm9t1g17000008jmfsw20lsz type: string invitee: $ref: '#/components/schemas/BasicSubjectProfile' inviter: $ref: '#/components/schemas/BasicSubjectProfile' organizationId: description: The ID of the Organization where the invite was sent. example: clm9t0gbt000108jv4f1cfu8u type: string organizationName: description: The name of the Organization where the invite was sent. example: My Organization type: string userId: description: The ID for the user who was invited. example: clm9t060z000008jv3mira7x5 type: string required: - expiresAt - inviteId - invitee - inviter - organizationId type: object MachineSpec: properties: concurrency: description: The maximum number of tasks that a given machine instance can run at once. example: 10 type: number cpu: description: The CPU quantity. Units are in number of CPU cores. example: "1" type: string ephemeralStorage: description: The ephemeral storage quantity. Units in Gibibytes or `Gi`. example: 10Gi type: string memory: description: The memory quantity. Units in Gibibytes or `Gi`. example: 2Gi type: string required: - cpu - memory type: object ManagedDomain: properties: createdAt: description: The time when the domain was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. format: date-time type: string enforcedLogins: description: A list of login types that are enforced for users belonging to the domain. example: - password items: type: string type: array id: description: The managed domain's ID. example: cln203mz7000008jv0jyz9m3y type: string name: description: The managed domain's name/ URL. example: mycompany.com type: string organizationId: description: The ID of the Organization to which the managed domain belongs. example: cln204xr2000008mu3hhe3zwe type: string status: description: Whether the managed domain has completed the verification process. enum: - PENDING - VERIFIED type: string updatedAt: description: The time when the domain was last updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. format: date-time type: string required: - createdAt - id - name - organizationId - status - updatedAt type: object NodePool: properties: cloudProvider: description: The name of the cloud provider. enum: - AWS - AZURE - GCP example: AWS type: string clusterId: description: The ID of the cluster that the node pool belongs to. example: clm891jb6000308jrc3vjdtde type: string createdAt: description: The time when the node pool was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string id: description: The node pool's ID. example: clm890zhe000208jr39dd0ubs type: string isDefault: description: Whether the node pool is the default node pool of the cluster. example: true type: boolean maxNodeCount: description: The maximum number of nodes that can be created in the node pool. example: 1 type: integer name: description: The name of the node pool. example: default type: string nodeInstanceType: description: The type of node instance that is used for the node pool. example: t3.medium type: string supportedAstroMachines: description: The list of supported Astro machines for the node pool. Returned only for Hosted dedicated clusters. example: - A5 - A10 items: type: string type: array updatedAt: description: The time when the node pool was last updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string required: - cloudProvider - clusterId - createdAt - id - isDefault - maxNodeCount - name - nodeInstanceType - updatedAt type: object Organization: properties: allowEnhancedSupportAccess: description: Whether the organization allows CRE to have view access to their entities type: boolean billingEmail: description: The Organization's billing email. example: billing@company.com type: string createdAt: description: The time when the Organization was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' id: description: The Organization's ID. example: clmaxoarx000008l2c5ayb9pt type: string isScimEnabled: description: Whether SCIM is enabled for the Organization. example: false type: boolean managedDomains: description: The list of managed domains configured in the Organization. items: $ref: '#/components/schemas/ManagedDomain' type: array name: description: The Organization's name. example: My organization type: string paymentMethod: description: The Organization's payment method. enum: - CREDIT_CARD - INVOICE - AWS_MARKETPLACE - AZURE_MARKETPLACE - GCP_MARKETPLACE - SNOWFLAKE_MARKETPLACE example: CREDIT_CARD type: string product: description: The Organization's product type. enum: - HOSTED - HYBRID example: HOSTED type: string productPlans: items: $ref: '#/components/schemas/OrganizationProductPlan' type: array status: description: The Organization's status. enum: - ACTIVE - INACTIVE - SUSPENDED example: ACTIVE type: string trialExpiresAt: description: The time when the Organization's trial expires in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. Organizations that are no longer in Trial will not have a expiry date. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedAt: description: The time when the Organization was last updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' required: - allowEnhancedSupportAccess - createdAt - createdBy - id - isScimEnabled - name - productPlans - updatedAt - updatedBy type: object OrganizationProductPlan: properties: astronomerProduct: enum: - ASTRO type: string organizationId: type: string productPlanId: type: string productPlanName: enum: - INACTIVE - INTERNAL - POV - TRIAL - BASIC - BASIC_PAYGO - TEAM_PAYGO - STANDARD - PREMIUM - BUSINESS_CRITICAL - BUSINESS - TEAM - ENTERPRISE - DEVELOPER - DEVELOPER_PAYGO - TEAM_V2 - BUSINESS_V2 - ENTERPRISE_V2 - TRIAL_V2 example: BUSINESS_CRITICAL type: string required: - astronomerProduct - organizationId - productPlanId - productPlanName type: object OrganizationsPaginated: properties: limit: description: The maximum number of Organizations in the page. example: 10 type: integer offset: description: The offset of the Organizations in the page. example: 0 type: integer organizations: description: The list of Organizations in the page. items: $ref: '#/components/schemas/Organization' type: array totalCount: description: The total number of Organizations. example: 100 type: integer required: - limit - offset - organizations - totalCount type: object OverrideDeploymentHibernationBody: properties: isHibernating: description: The type of override to perform. Set this value to 'true' to have the Deployment hibernate regardless of its hibernation schedule. Set the value to 'false' to have the Deployment wake up regardless of its hibernation schedule. Use 'OverrideUntil' to define the length of the override. nullable: true type: boolean overrideUntil: description: The end of the override time in UTC, formatted as 'YYYY-MM-DDTHH:MM:SSZ'. If this value isn't specified, the override persists until you end it through the Astro UI or another API call. format: date-time nullable: true type: string required: - isHibernating type: object PermissionEntry: properties: action: description: The permission's action. example: get type: string description: description: The permission's description. example: Subject is permitted to get the scope. type: string required: - action - description type: object PermissionGroup: properties: description: description: The permission group's description. example: Astro notification channel defines where alert messages can be sent. For example, alert messages issued via email or slack. type: string name: description: The permission group's name. example: workspace.notificationChannels type: string permissions: description: The permission group's permissions. items: $ref: '#/components/schemas/PermissionEntry' type: array scope: description: The permission group's scope. example: Workspace NotificationChannels type: string required: - description - name - permissions - scope type: object ProviderInstanceType: properties: cpu: description: The number of CPUs. Units are in number of CPU cores. example: 4 type: integer memory: description: The amount of memory. Units in Gibibytes or `Gi`. example: 16Gi type: string name: description: The name of the instance type. example: e2-standard-4 type: string required: - cpu - memory - name type: object ProviderRegion: properties: bannedInstances: description: The banned instances in the region. example: - t3.medium items: type: string type: array limited: description: Whether the region is limited. example: true type: boolean name: description: The name of the region. example: us-east-1 type: string required: - name type: object Range: properties: ceiling: description: The maximum value. example: 10 type: number default: description: The default value. example: 5 type: number floor: description: The minimum value. example: 1 type: number required: - ceiling - default - floor type: object ResourceOption: properties: cpu: $ref: '#/components/schemas/ResourceRange' memory: $ref: '#/components/schemas/ResourceRange' required: - cpu - memory type: object ResourceQuotaOptions: properties: defaultPodSize: $ref: '#/components/schemas/ResourceOption' resourceQuota: $ref: '#/components/schemas/ResourceOption' required: - defaultPodSize - resourceQuota type: object ResourceRange: properties: ceiling: description: The maximum value. example: "10" type: string default: description: The default value. example: "5" type: string floor: description: The minimum value. example: "1" type: string required: - ceiling - default - floor type: object Role: properties: createdAt: description: The time the role was created. example: "2022-11-22T04:37:12Z" format: date-time type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' description: description: The role's description. example: Subject can only view deployments. type: string id: description: The role's ID. example: cluc9tapx000901qn2xrgqdmn type: string name: description: The role's name. example: Deployment_Viewer type: string restrictedWorkspaceIds: description: The IDs of Workspaces that the role is restricted to. example: - cldbvzoi20182g8odxt8ehi5i items: type: string type: array scopeType: description: The role's scope. enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION example: DEPLOYMENT type: string updatedAt: description: The time the role was last updated. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' required: - createdAt - createdBy - id - name - restrictedWorkspaceIds - scopeType - updatedAt - updatedBy type: object RoleTemplate: properties: description: description: The role's description. example: Subject can only view deployments. type: string name: description: The role's name. example: Deployment_Viewer type: string permissions: description: The role's permissions. example: - deployment.get items: type: string type: array scopeType: description: The role's scope. enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION - SYSTEM - DAG example: DEPLOYMENT type: string required: - name - permissions - scopeType type: object RoleWithPermission: properties: createdAt: description: The time the role was created. example: "2022-11-22T04:37:12Z" format: date-time type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' description: description: The role's description. example: Subject can only view deployments. type: string id: description: The role's ID. example: cluc9tapx000901qn2xrgqdmn type: string name: description: The role's name. example: Deployment_Viewer type: string permissions: description: The role's permissions. example: - deployment.get items: type: string type: array restrictedWorkspaceIds: description: The IDs of Workspaces that the role is restricted to. example: - cldbvzoi20182g8odxt8ehi5i items: type: string type: array scopeType: description: The role's scope. enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION example: DEPLOYMENT type: string updatedAt: description: The time the role was last updated. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' required: - createdAt - createdBy - id - name - permissions - restrictedWorkspaceIds - scopeType - updatedAt - updatedBy type: object RolesPaginated: properties: defaultRoles: description: The list of default roles. items: $ref: '#/components/schemas/DefaultRole' type: array limit: description: The number of custom roles returned. example: 1 type: integer offset: description: The offset of the custom roles. example: 1 type: integer roles: description: The list of custom roles. items: $ref: '#/components/schemas/Role' type: array totalCount: description: The total number of custom roles. example: 1 type: integer required: - limit - offset - roles - totalCount type: object RuntimeRelease: properties: airflowDatabaseMigration: description: Whether the release requires an Airflow database migration. example: false type: boolean airflowVersion: description: The Airflow version that the Runtime image is based on. example: 2.7.1 type: string channel: description: The release channel. example: stable type: string releaseDate: description: The time when the version is released in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string stellarDatabaseMigration: description: Whether the release requires a Stellar database migration. example: false type: boolean version: description: The Astro Runtime version. example: 9.1.0 type: string required: - airflowDatabaseMigration - airflowVersion - channel - releaseDate - stellarDatabaseMigration - version type: object SchedulerMachine: properties: name: description: The machine's name. enum: - SMALL - MEDIUM - LARGE - EXTRA_LARGE type: string spec: $ref: '#/components/schemas/MachineSpec' required: - name - spec type: object SubjectRoles: properties: dagRoles: description: A list of the subject's DAG roles. items: $ref: '#/components/schemas/DagRole' type: array deploymentRoles: description: A list of the subject's Deployment roles. Currently only for API tokens. items: $ref: '#/components/schemas/DeploymentRole' type: array organizationRole: description: The subject's Organization role. example: ORGANIZATION_OWNER,ORGANIZATION_OBSERVE_ADMIN,ORGANIZATION_OBSERVE_MEMBER,ORGANIZATION_BILLING_ADMIN,ORGANIZATION_MEMBER type: string workspaceRoles: description: A list of the subject's Workspace roles. items: $ref: '#/components/schemas/WorkspaceRole' type: array type: object Team: properties: createdAt: description: The time when the Team was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' deploymentRoles: description: The Team's role in each Deployment it belongs to. items: $ref: '#/components/schemas/DeploymentRole' type: array description: description: The Team's description. example: My Team description type: string id: description: The Team's ID. example: clma5ftgk000008mhgev00k7d type: string isIdpManaged: description: Whether the Team is managed by an identity provider (IdP). example: false type: boolean name: description: The Team's name. example: My Team type: string organizationId: description: The ID of the Organization to which the Team belongs. example: clma5g8q6000108mh88g27k1y type: string organizationRole: description: The Team's Organization role. enum: - ORGANIZATION_OWNER - ORGANIZATION_OBSERVE_ADMIN - ORGANIZATION_OBSERVE_MEMBER - ORGANIZATION_BILLING_ADMIN - ORGANIZATION_MEMBER example: ORGANIZATION_MEMBER type: string rolesCount: description: The number of roles the Team has. example: 1 type: integer updatedAt: description: The time when the Team was last updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' workspaceRoles: description: The Team's role in each Workspace it belongs to. items: $ref: '#/components/schemas/WorkspaceRole' type: array required: - createdAt - id - isIdpManaged - name - organizationId - organizationRole - updatedAt type: object TeamMember: properties: avatarUrl: description: The URL for the Team member's profile image. example: https://avatar.url type: string createdAt: description: The time when the Team member was added in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string fullName: description: The Team member's full name. example: Jane Doe type: string userId: description: The Team member's ID. example: clma5vzk2000108k20jhq3f7n type: string username: description: The Team member's username. example: user1@company.com type: string required: - userId - username type: object TeamMembersPaginated: properties: limit: description: The maximum number of Team members in one page. example: 10 type: integer offset: description: The offset of the current page of Team members. example: 0 type: integer teamMembers: description: The list of Team members in the current page. items: $ref: '#/components/schemas/TeamMember' type: array totalCount: description: The total number of Team members. example: 100 type: integer required: - limit - offset - teamMembers - totalCount type: object TeamsPaginated: properties: limit: description: The maximum number of Teams in one page. example: 10 type: integer offset: description: The offset of the current page of Teams. example: 0 type: integer teams: description: The list of Teams in the current page. items: $ref: '#/components/schemas/Team' type: array totalCount: description: The total number of Teams. example: 100 type: integer required: - limit - offset - teams - totalCount type: object UpdateApiTokenRequest: properties: description: description: The description of the API token. example: This is my API token maxLength: 500 type: string name: description: The name of the API token. example: My token maxLength: 256 minLength: 1 type: string required: - name type: object UpdateApiTokenRolesRequest: properties: roles: description: The roles of the API token, including DAG roles. items: $ref: '#/components/schemas/ApiTokenRole' minItems: 1 type: array required: - roles type: object UpdateClusterRequest: oneOf: - $ref: '#/components/schemas/UpdateDedicatedClusterRequest' - $ref: '#/components/schemas/UpdateHybridClusterRequest' type: object UpdateCustomRoleRequest: properties: description: description: The role's description. example: Subject can only view deployments. type: string name: description: The role's name. example: Deployment_Viewer type: string permissions: description: The permissions included in the role. example: - deployment.get items: type: string minItems: 1 type: array restrictedWorkspaceIds: description: The IDs of the Workspaces that the role is restricted to. example: - cldbvzoi20182g8odxt8ehi5i items: type: string type: array required: - name - permissions type: object UpdateDedicatedClusterRequest: properties: clusterType: description: The cluster's type. enum: - DEDICATED example: DEDICATED type: string dbInstanceType: description: The cluster's database instance type. Required for Hybrid clusters. example: Small General Purpose type: string k8sTags: description: A list of Kubernetes tags to add to the cluster. items: $ref: '#/components/schemas/ClusterK8sTag' type: array name: description: The cluster's name. example: My cluster type: string nodePools: description: A list of node pools to add to the cluster. For Hybrid clusters only. items: $ref: '#/components/schemas/UpdateNodePoolRequest' type: array workspaceIds: description: 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. items: type: string type: array required: - k8sTags - name type: object UpdateDedicatedDeploymentRequest: properties: astroRuntimeVersion: description: Accepted for Terraform state sync but not used to change runtime version. Runtime changes only occur via deploy flow. // List of environment variables to add to the Deployment. example: 9.1.0 type: string contactEmails: description: A list of contact emails for the Deployment. example: - user1@company.com items: type: string type: array defaultTaskPodCpu: description: The default CPU resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in number of CPU cores. Required if Remote Execution is disabled. example: "0.5" type: string defaultTaskPodMemory: description: The default memory resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in `Gi` and must be explicitly included. This value must always be twice the value of `DefaultTaskPodCpu`. Required if Remote Execution is disabled. example: 1Gi type: string description: description: The Deployment's description. example: My deployment description maxLength: 1000 type: string drWorkloadIdentity: description: The Deployment's DR workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string environmentVariables: items: $ref: '#/components/schemas/DeploymentEnvironmentVariableRequest' type: array executor: description: The Deployment's executor type. enum: - CELERY - KUBERNETES - ASTRO example: CELERY type: string isCicdEnforced: description: Whether the Deployment requires that all deploys are made through CI/CD. example: true type: boolean isDagDeployEnabled: description: Whether the Deployment has DAG deploys enabled. example: true type: boolean isDevelopmentMode: description: Whether the Deployment is for development only. If `false`, the Deployment can be considered production for the purposes of support case priority, but development-only features such as hibernation will not be available. You can't update this value to `true` for existing non-development Deployments. type: boolean isHighAvailability: description: Whether the Deployment is configured for high availability. If `true`, multiple scheduler pods will be online. example: true type: boolean name: description: The Deployment's name. example: My deployment maxLength: 500 type: string remoteExecution: $ref: '#/components/schemas/DeploymentRemoteExecutionRequest' resourceQuotaCpu: description: 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. Required if Remote Execution is disabled. example: "160" type: string resourceQuotaMemory: description: 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 `Gi` and must be explicitly included. This value must always be twice the value of `ResourceQuotaCpu`. Required if Remote Execution is disabled. example: 320Gi type: string scalingSpec: $ref: '#/components/schemas/DeploymentScalingSpecRequest' schedulerSize: description: The size of the scheduler Pod. enum: - SMALL - MEDIUM - LARGE - EXTRA_LARGE example: MEDIUM type: string type: description: The type of the Deployment. enum: - DEDICATED - HYBRID - STANDARD example: DEDICATED type: string workerQueues: description: A list of the Deployment's worker queues. Applies only when `Executor` is `CELERY` or if Remote Execution is disabled and executor is `ASTRO`. All these Deployments need at least 1 worker queue called `default`. items: $ref: '#/components/schemas/WorkerQueueRequest' minItems: 1 type: array workloadIdentity: description: The Deployment's workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string workspaceId: description: The ID of the Workspace to which the Deployment belongs. example: clmh7vdf4000008lhhlnk9t6o type: string required: - environmentVariables - executor - isCicdEnforced - isDagDeployEnabled - isHighAvailability - name - schedulerSize - type - workspaceId type: object UpdateDeployRequest: properties: description: description: The deploy's description. example: My deploy description maxLength: 500 type: string type: object UpdateDeploymentRequest: oneOf: - $ref: '#/components/schemas/UpdateDedicatedDeploymentRequest' - $ref: '#/components/schemas/UpdateHybridDeploymentRequest' - $ref: '#/components/schemas/UpdateStandardDeploymentRequest' type: object UpdateEnvironmentObjectAirflowVariableOverridesRequest: properties: value: description: The value of the Airflow variable type: string type: object UpdateEnvironmentObjectAirflowVariableRequest: properties: value: description: The value of the Airflow variable type: string type: object UpdateEnvironmentObjectConnectionOverridesRequest: properties: extra: description: Extra connection details, if any type: object host: description: The host address for the connection type: string login: description: The username used for the connection type: string password: description: The password used for the connection type: string port: description: The port for the connection type: integer schema: description: The schema for the connection type: string type: description: The type of connection type: string type: object UpdateEnvironmentObjectConnectionRequest: properties: authTypeId: description: The ID for the connection auth type type: string extra: description: Extra connection details, if any type: object host: description: The host address for the connection type: string login: description: The username used for the connection type: string password: description: The password used for the connection type: string port: description: The port for the connection type: integer schema: description: The schema for the connection type: string type: description: The type of connection type: string required: - type type: object UpdateEnvironmentObjectLinkRequest: properties: overrides: $ref: '#/components/schemas/UpdateEnvironmentObjectOverridesRequest' scope: description: Scope of the entity to link the environment object enum: - DEPLOYMENT type: string scopeEntityId: description: Entity ID to link the environment object type: string required: - scope - scopeEntityId type: object UpdateEnvironmentObjectMetricsExportOverridesRequest: properties: authType: description: The type of authentication to use when connecting to the remote endpoint enum: - BASIC - AUTH_TOKEN type: string basicToken: description: The bearer token to connect to the remote endpoint type: string endpoint: description: The Prometheus endpoint where the metrics are exported type: string exporterType: description: The type of exporter enum: - PROMETHEUS type: string headers: additionalProperties: type: string description: Add key-value pairs to the HTTP request headers made by Astro when connecting to the remote endpoint type: object labels: additionalProperties: type: string description: Any key-value pair metrics labels for your export. You can use these to filter your metrics in downstream applications. type: object password: description: The password to connect to the remote endpoint type: string username: description: The username to connect to the remote endpoint type: string type: object UpdateEnvironmentObjectMetricsExportRequest: properties: authType: description: The type of authentication to use when connecting to the remote endpoint enum: - BASIC - AUTH_TOKEN type: string basicToken: description: The bearer token to connect to the remote endpoint type: string endpoint: description: The Prometheus endpoint where the metrics are exported type: string exporterType: description: The type of exporter enum: - PROMETHEUS type: string headers: additionalProperties: type: string description: Add key-value pairs to the HTTP request headers made by Astro when connecting to the remote endpoint type: object labels: additionalProperties: type: string description: Any key-value pair metrics labels for your export. You can use these to filter your metrics in downstream applications. type: object password: description: The password to connect to the remote endpoint type: string username: description: The username to connect to the remote endpoint type: string type: object UpdateEnvironmentObjectOverridesRequest: properties: airflowVariable: $ref: '#/components/schemas/UpdateEnvironmentObjectAirflowVariableOverridesRequest' connection: $ref: '#/components/schemas/UpdateEnvironmentObjectConnectionOverridesRequest' metricsExport: $ref: '#/components/schemas/UpdateEnvironmentObjectMetricsExportOverridesRequest' type: object UpdateEnvironmentObjectRequest: properties: airflowVariable: $ref: '#/components/schemas/UpdateEnvironmentObjectAirflowVariableRequest' autoLinkDeployments: description: Whether or not to automatically link Deployments to the environment object. Only applicable for WORKSPACE scope type: boolean connection: $ref: '#/components/schemas/UpdateEnvironmentObjectConnectionRequest' excludeLinks: description: The links to exclude from the environment object. Only applicable for WORKSPACE scope items: $ref: '#/components/schemas/ExcludeLinkEnvironmentObjectRequest' type: array links: description: The Deployments that Astro links to the environment object. Only applicable for WORKSPACE scope items: $ref: '#/components/schemas/UpdateEnvironmentObjectLinkRequest' type: array metricsExport: $ref: '#/components/schemas/UpdateEnvironmentObjectMetricsExportRequest' type: object UpdateHybridClusterRequest: properties: clusterType: description: The cluster's type. enum: - HYBRID example: HYBRID type: string workspaceIds: description: 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. items: type: string type: array required: - clusterType type: object UpdateHybridDeploymentRequest: properties: astroRuntimeVersion: description: Accepted for Terraform state sync but not used to change runtime version. Runtime changes only occur via deploy flow. // List of environment variables to add to the Deployment. example: 9.1.0 type: string contactEmails: description: A list of contact emails for the Deployment. example: - user1@company.com items: type: string type: array description: description: The Deployment's description. example: My deployment description maxLength: 1000 type: string drWorkloadIdentity: description: The Deployment's DR workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string environmentVariables: items: $ref: '#/components/schemas/DeploymentEnvironmentVariableRequest' type: array executor: description: The Deployment's executor type. enum: - CELERY - KUBERNETES example: CELERY type: string isCicdEnforced: description: Whether the Deployment requires that all deploys are made through CI/CD. example: true type: boolean isDagDeployEnabled: description: Whether the Deployment has DAG deploys enabled. example: true type: boolean name: description: The Deployment's name. example: My deployment maxLength: 500 type: string scheduler: $ref: '#/components/schemas/DeploymentInstanceSpecRequest' taskPodNodePoolId: description: The node pool ID for worker Pods. Applies only when `Executor` is `KUBERNETES`. example: clmh87air000008mgfkgrg9fy type: string type: description: The type of the Deployment. enum: - DEDICATED - HYBRID - STANDARD example: DEDICATED type: string workerQueues: description: The list of worker queues configured for the Deployment. Applies only when `Executor` is `CELERY`. All Deployments need at least 1 worker queue called `default`. items: $ref: '#/components/schemas/HybridWorkerQueueRequest' minItems: 1 type: array workloadIdentity: description: The Deployment's workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string workspaceId: description: The ID of the Workspace to which the Deployment belongs. example: clmh7vdf4000008lhhlnk9t6o type: string required: - environmentVariables - executor - isCicdEnforced - isDagDeployEnabled - name - scheduler - type - workspaceId type: object UpdateNodePoolRequest: properties: id: description: The node pool's ID. example: clm8bvk8b000008l9deowc5lx type: string isDefault: description: Whether the node pool is the default node pool of the cluster. example: true type: boolean maxNodeCount: description: The maximum number of nodes that can be created in the node pool. example: 10 type: integer name: description: The name of the node pool. example: my-nodepool type: string nodeInstanceType: description: The type of node instance that is used for the node pool. example: t3.medium type: string required: - maxNodeCount - name - nodeInstanceType type: object UpdateOrganizationRequest: properties: allowEnhancedSupportAccess: example: false type: boolean billingEmail: description: The Organization's billing email. example: billing@company.com type: string isScimEnabled: description: Whether SCIM is enabled for the Organization. example: false type: boolean name: description: The name of the Organization. example: My Organization maxLength: 50 type: string required: - billingEmail - isScimEnabled - name type: object UpdateStandardDeploymentRequest: properties: astroRuntimeVersion: description: Accepted for Terraform state sync but not used to change runtime version. Runtime changes only occur via deploy flow. // List of environment variables to add to the Deployment. example: 9.1.0 type: string contactEmails: description: A list of contact emails for the Deployment. example: - user1@company.com items: type: string type: array defaultTaskPodCpu: description: The default CPU resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in number of CPU cores. Required if Remote Execution is disabled. example: "0.5" type: string defaultTaskPodMemory: description: The default memory resource usage for a worker Pod when running the Kubernetes executor or KubernetesPodOperator. Units are in `Gi` and must be explicitly included. This value must always be twice the value of `DefaultTaskPodCpu`. Required if Remote Execution is disabled. example: 1Gi type: string description: description: The Deployment's description. example: My deployment description maxLength: 1000 type: string drWorkloadIdentity: description: The Deployment's DR workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string environmentVariables: items: $ref: '#/components/schemas/DeploymentEnvironmentVariableRequest' type: array executor: description: The Deployment's executor type. enum: - CELERY - KUBERNETES - ASTRO example: CELERY type: string isCicdEnforced: description: Whether the Deployment requires that all deploys are made through CI/CD. example: true type: boolean isDagDeployEnabled: description: Whether the Deployment has DAG deploys enabled. example: true type: boolean isDevelopmentMode: description: Whether the Deployment is for development only. If `false`, the Deployment can be considered production for the purposes of support case priority, but development-only features such as hibernation will not be available. You can't update this value to `true` for existing non-development Deployments. type: boolean isHighAvailability: description: Whether the Deployment is configured for high availability. If `true`, multiple scheduler pods will be online. example: true type: boolean name: description: The Deployment's name. example: My deployment maxLength: 500 type: string remoteExecution: $ref: '#/components/schemas/DeploymentRemoteExecutionRequest' resourceQuotaCpu: description: 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. Required if Remote Execution is disabled. example: "160" type: string resourceQuotaMemory: description: 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 `Gi` and must be explicitly included. This value must always be twice the value of `ResourceQuotaCpu`. Required if Remote Execution is disabled. example: 320Gi type: string scalingSpec: $ref: '#/components/schemas/DeploymentScalingSpecRequest' schedulerSize: description: The size of the scheduler Pod. enum: - SMALL - MEDIUM - LARGE - EXTRA_LARGE example: MEDIUM type: string type: description: The type of the Deployment. enum: - DEDICATED - HYBRID - STANDARD example: DEDICATED type: string workerQueues: description: A list of the Deployment's worker queues. Applies only when `Executor` is `CELERY` or if Remote Execution is disabled and executor is `ASTRO`. All these Deployments need at least 1 worker queue called `default`. items: $ref: '#/components/schemas/WorkerQueueRequest' minItems: 1 type: array workloadIdentity: description: The Deployment's workload identity. example: arn:aws:iam::123456789:role/AirflowS3Logs-clmk2qqia000008mhff3ndjr0 type: string workspaceId: description: The ID of the Workspace to which the Deployment belongs. example: clmh7vdf4000008lhhlnk9t6o type: string required: - environmentVariables - executor - isCicdEnforced - isDagDeployEnabled - isHighAvailability - name - schedulerSize - type - workspaceId type: object UpdateTeamRequest: properties: description: description: The Team's description. example: My Team Description type: string name: description: The Team's name. example: My Team type: string required: - name type: object UpdateTeamRolesRequest: properties: dagRoles: description: The Team's updated DAG roles. items: $ref: '#/components/schemas/DagRole' type: array deploymentRoles: description: The user's updated Deployment roles. The Deployments you specify must belong to the Team's Organization. items: $ref: '#/components/schemas/DeploymentRole' type: array organizationRole: description: The Team's Organization roles. example: ORGANIZATION_OWNER,ORGANIZATION_OBSERVE_ADMIN,ORGANIZATION_OBSERVE_MEMBER,ORGANIZATION_BILLING_ADMIN,ORGANIZATION_MEMBER type: string workspaceRoles: description: The Team's updated Workspace roles. The Workspaces you specify must belong to the Team's Organization. items: $ref: '#/components/schemas/WorkspaceRole' type: array required: - organizationRole type: object UpdateUserRolesRequest: properties: dagRoles: description: The user's updated DAG roles. items: $ref: '#/components/schemas/DagRole' type: array deploymentRoles: description: The user's updated Deployment roles. Requires also specifying an `OrganizationRole`. items: $ref: '#/components/schemas/DeploymentRole' type: array organizationRole: description: The user's updated Organization role. example: ORGANIZATION_OWNER,ORGANIZATION_OBSERVE_ADMIN,ORGANIZATION_OBSERVE_MEMBER,ORGANIZATION_BILLING_ADMIN,ORGANIZATION_MEMBER type: string workspaceRoles: description: The user's updated Workspace roles. Requires also specifying an `OrganizationRole`. items: $ref: '#/components/schemas/WorkspaceRole' type: array type: object UpdateWorkspaceRequest: properties: cicdEnforcedDefault: description: Whether new Deployments enforce CI/CD deploys by default. example: true type: boolean description: description: The Workspace's description. example: This is a test workspace type: string name: description: The Workspace's name. example: My Workspace maxLength: 50 type: string required: - cicdEnforcedDefault - description - name type: object User: properties: avatarUrl: description: The URL for the user's profile image. example: https://avatar.url type: string createdAt: description: The time when the user was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string dagRoles: description: The user's DAG roles. items: $ref: '#/components/schemas/DagRole' type: array deploymentRoles: description: The user's Deployment roles. items: $ref: '#/components/schemas/DeploymentRole' type: array fullName: description: The user's full name. example: Jane Doe type: string id: description: The user's ID. example: clm9sq6s0000008kz7uvl7yz7 type: string organizationRole: description: The user's Organization role. enum: - ORGANIZATION_OWNER - ORGANIZATION_OBSERVE_ADMIN - ORGANIZATION_OBSERVE_MEMBER - ORGANIZATION_BILLING_ADMIN - ORGANIZATION_MEMBER example: ORGANIZATION_MEMBER type: string status: description: The user's status. enum: - ACTIVE - INACTIVE - PENDING - BANNED example: ACTIVE type: string updatedAt: description: The time when the user was updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`. example: "2022-11-22T04:37:12Z" format: date-time type: string username: description: The user's username. example: user1@company.com type: string workspaceRoles: description: The user's Workspace roles. items: $ref: '#/components/schemas/WorkspaceRole' type: array required: - avatarUrl - createdAt - fullName - id - status - updatedAt - username type: object UsersPaginated: properties: limit: description: The maximum number of users in one page. example: 10 type: integer offset: description: The offset of the current page of users. example: 0 type: integer totalCount: description: The total number of users. example: 100 type: integer users: description: The list of users in the current page. items: $ref: '#/components/schemas/User' type: array required: - limit - offset - totalCount - users type: object WorkerMachine: properties: concurrency: $ref: '#/components/schemas/Range' name: description: The machine's name. enum: - A5 - A10 - A20 - A40 - A60 - A120 - A160 type: string spec: $ref: '#/components/schemas/MachineSpec' required: - concurrency - name - spec type: object WorkerQueue: properties: astroMachine: description: The Astro machine size for each worker node in the queue. For Astro Hosted only. example: A5 type: string id: description: The worker queue's ID. example: clmh9vsuf000908midngba9mw type: string isDefault: description: Whether the worker queue is the default worker queue in the Deployment. example: true type: boolean maxWorkerCount: description: The maximum number of workers that can run at once. example: 10 type: integer minWorkerCount: description: The minimum number of workers running at once. example: 1 type: integer name: description: The worker queue's name. example: default type: string nodePoolId: description: The node pool ID associated with the worker queue. example: clmh9yjcn000a08mi8dsgbno9 type: string podCpu: description: The maximum number of CPU units available for a worker node. Units are in number of CPU cores. example: "1" type: string podMemory: description: The maximum amount of memory available for a worker node. Units are in Gibibytes or `Gi`. example: 2Gi type: string workerConcurrency: description: The maximum number of concurrent tasks that a worker Pod can run at a time. example: 20 type: integer required: - id - isDefault - maxWorkerCount - minWorkerCount - name - podCpu - podMemory - workerConcurrency type: object WorkerQueueOptions: properties: maxWorkers: $ref: '#/components/schemas/Range' minWorkers: $ref: '#/components/schemas/Range' workerConcurrency: $ref: '#/components/schemas/Range' required: - maxWorkers - minWorkers - workerConcurrency type: object WorkerQueueRequest: properties: astroMachine: description: The Astro machine for each worker in the queue. For Astro Hosted only. enum: - A5 - A10 - A20 - A40 - A60 - A120 - A160 type: string id: description: The worker queue's ID. If not provided, a new worker queue will be created. example: clmha1mzc000b08mi96n182au type: string isDefault: description: Whether the worker queue is the default worker queue on the Deployment. example: true type: boolean maxWorkerCount: description: The maximum number of workers that can run at once. minimum: 1 type: integer minWorkerCount: description: The minimum number of workers running at once. minimum: 0 type: integer name: description: The worker queue's name. example: My worker queue maxLength: 63 type: string workerConcurrency: description: The maximum number of concurrent tasks that a worker Pod can run at a time. minimum: 1 type: integer required: - astroMachine - isDefault - maxWorkerCount - minWorkerCount - name - workerConcurrency type: object WorkloadIdentityOption: properties: label: description: The workload identity label. example: workload-label type: string role: description: The workload identity role. example: workload-role type: string required: - label - role type: object Workspace: properties: cicdEnforcedDefault: description: Whether CI/CD deploys are enforced by default. example: true type: boolean createdAt: description: The time when the Workspace was created in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ` example: "2023-09-08T12:00:00Z" format: date-time type: string createdBy: $ref: '#/components/schemas/BasicSubjectProfile' description: description: The Workspace's description. example: This is a test workspace type: string id: description: The Workspace's ID. example: clm8t5u4q000008jq4qoc3036 type: string name: description: The Workspace's name. example: My Workspace type: string organizationId: description: The ID of the organization to which the workspace belongs. example: clm8t5u4q000008jq4qoc3036 type: string organizationName: description: The name of the Organization to which the Workspace belongs. example: My Organization type: string updatedAt: description: The time when the Workspace was updated in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ` example: "2023-09-08T13:30:00Z" format: date-time type: string updatedBy: $ref: '#/components/schemas/BasicSubjectProfile' required: - cicdEnforcedDefault - createdAt - id - name - organizationId - updatedAt type: object WorkspaceRole: properties: role: description: The role of the subject in the Workspace. enum: - WORKSPACE_OWNER - WORKSPACE_OPERATOR - WORKSPACE_AUTHOR - WORKSPACE_MEMBER - WORKSPACE_ACCESSOR example: WORKSPACE_MEMBER type: string workspaceId: description: The Workspace ID. example: clm8t5u4q000008jq4qoc3036 type: string required: - role - workspaceId type: object WorkspacesPaginated: properties: limit: description: The maximum number of workspaces that can be retrieved per page. example: 0 type: integer offset: description: The offset for the current page of workspaces in the complete result. example: 0 type: integer totalCount: description: The total number of Workspaces in the paginated result. example: 0 type: integer workspaces: description: An array of Workspace objects representing a list of workspaces. items: $ref: '#/components/schemas/Workspace' type: array required: - limit - offset - totalCount - workspaces type: object securitySchemes: JWT: scheme: bearer type: http info: contact: {} description: Astro Platform API title: Astro Platform API version: v1.0 openapi: 3.0.3 paths: /authorization/permission-groups: get: description: List the available permissions you can grant to a custom role. operationId: ListPermissionGroups parameters: - description: Filter the returned permissions based on the scope they apply to. Note that currently, the only available permissions are in the `DEPLOYMENT` and `DAG` scopes. in: query name: scopeType schema: enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION - DAG type: string responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/PermissionGroup' type: array description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List authorization permission groups tags: - Authorization /organizations: get: description: List the details about all Organizations that you have access to. Requires using a personal access token (PAT) for authentication. operationId: ListOrganizations parameters: - description: Filters the Organization list by product plan. in: query name: productPlan schema: enum: - TRIAL - BASIC - STANDARD - PREMIUM - BUSINESS_CRITICAL type: string - description: filter by astronomer product, should be one of ASTRO in: query name: astronomerProduct schema: enum: - ASTRO type: string - description: Filters the Organization list by product. in: query name: product schema: enum: - HOSTED - HYBRID type: string - description: The number of results to skip before returning values. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: The maximum number of results to return. in: query name: limit schema: default: 20 maximum: 1000 minimum: 0 type: integer - description: A list of field names to sort by, and whether to show results as ascending or descending. Formatted as `:asc` or `:desc`. in: query name: sorts schema: items: enum: - name:asc - name:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/OrganizationsPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List Organizations tags: - Organization /organizations/{organizationId}: get: description: Retrieve information about a specific Organization. operationId: GetOrganization parameters: - description: The Organization's ID. in: path name: organizationId required: true schema: type: string - description: Whether to show only Organization metadata. in: query name: isLookUpOnly schema: type: boolean responses: "200": content: application/json: schema: $ref: '#/components/schemas/Organization' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get an Organization tags: - Organization x-permission: - action: organization.get post: description: Update an Organization's details. operationId: UpdateOrganization parameters: - description: The Organization's ID. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateOrganizationRequest' description: The request body for updating the Organization. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Organization' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update an Organization tags: - Organization x-permission: - action: organization.settings.update /organizations/{organizationId}/allowed-ip-address-ranges: get: description: List allowed IP address ranges. operationId: ListAllowedIpAddressRanges parameters: - description: The ID of the Organization that you want to retrieve the list of IP addresses for. in: path name: organizationId required: true schema: type: string - description: The number of results to skip before returning values. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: The maximum number of results to return. in: query name: limit schema: default: 20 minimum: 0 type: integer - description: A list of field names to sort by, and whether to show results as ascending or descending. Formatted as `:asc` or `:desc`. in: query name: sorts schema: items: enum: - ipAddress:asc - ipAddress:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/AllowedIpAddressRangesPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List allowed IP address ranges tags: - AllowedIpAddressRange x-permission: - action: organization.allowedIpAddressRanges.get post: description: Create an allowed IP address range that constrains which IP addresses can be used to interact with your Astro Organization using APIs. operationId: CreateAllowedIpAddressRange parameters: - description: The ID of the Organization where you want to create the allowed IP address range. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAllowedIpAddressRangeRequest' description: The request body for creating an IP address range that allows access to the Astro API. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/AllowedIpAddressRange' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create an allowed IP address range tags: - AllowedIpAddressRange x-permission: - action: organization.allowedIpAddressRanges.create /organizations/{organizationId}/allowed-ip-address-ranges/{allowedIpAddressRangeId}: delete: description: Delete an allowed IP address range. operationId: DeleteAllowedIpAddressRange parameters: - description: The ID of the Organization where you want to delete the allowed IP address range. in: path name: organizationId required: true schema: type: string - description: The ID of the allowed IP address range that you want to delete. in: path name: allowedIpAddressRangeId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete an allowed IP address range tags: - AllowedIpAddressRange x-permission: - action: organization.allowedIpAddressRanges.delete /organizations/{organizationId}/audit-logs: get: description: Retrieve logs across a specified time period for an Organization. operationId: GetOrganizationAuditLogs parameters: - description: The ID of the Organization to retrieve audit logs for. in: path name: organizationId required: true schema: type: string - description: The start date of the logs. in: query name: startDate schema: format: date-time type: string - description: The end date of the logs. in: query name: endDate schema: format: date-time type: string responses: "200": content: application/octet-stream: schema: items: type: integer type: array description: OK "400": content: application/octet-stream: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/octet-stream: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/octet-stream: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/octet-stream: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get Organization audit logs tags: - Organization x-permission: - action: organization.auditLogs.get /organizations/{organizationId}/cluster-options: get: description: Get all possible options for configuring a cluster. operationId: GetClusterOptions parameters: - description: The ID of the Organization to get cluster options for. in: path name: organizationId required: true schema: type: string - description: The cluster's cloud provider. in: query name: provider schema: enum: - AWS - AZURE - GCP type: string - description: The cluster type. in: query name: type required: true schema: enum: - DEDICATED - HYBRID type: string responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/ClusterOptions' type: array description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get cluster options tags: - Options /organizations/{organizationId}/clusters: get: description: List clusters in an Organization. operationId: ListClusters parameters: - description: The Organization's unique ID. in: path name: organizationId required: true schema: type: string - description: A list of names for Clusters to filter by. The API returns details only for the specified Clusters. in: query name: names schema: items: type: string type: array - description: The cloud provider to list clusters for. Clusters from other providers will be filtered out of the results. in: query name: provider schema: enum: - AWS - AZURE - GCP type: string - description: The number of results to skip before returning values. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: The maximum number of results to return. in: query name: limit schema: default: 20 maximum: 1000 minimum: 0 type: integer - description: A list of field names to sort by, and whether to show results as ascending or descending. Formatted as `:asc` or `:desc`. in: query name: sorts schema: items: enum: - name:asc - name:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/ClustersPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List clusters tags: - Cluster x-permission: - action: organization.clusters.get post: description: Create a cluster in the Organization. An Astro cluster is a Kubernetes cluster that hosts the infrastructure required to run Deployments. operationId: CreateCluster parameters: - description: The ID of the Organization to create the cluster in. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateClusterRequest' description: The request body for creating a cluster required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Cluster' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "412": content: application/json: schema: $ref: '#/components/schemas/Error' description: Precondition Failed "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create a cluster tags: - Cluster x-permission: - action: organization.clusters.create /organizations/{organizationId}/clusters/{clusterId}: delete: description: Delete a cluster. operationId: DeleteCluster parameters: - description: The ID of the Organization to which the cluster belongs. in: path name: organizationId required: true schema: type: string - description: The cluster's ID. in: path name: clusterId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete a cluster tags: - Cluster x-permission: - action: organization.clusters.delete get: description: Retrieve details about a cluster. operationId: GetCluster parameters: - description: The ID of the Organization to which the cluster belongs. in: path name: organizationId required: true schema: type: string - description: The cluster's ID. in: path name: clusterId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Cluster' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get a cluster tags: - Cluster x-permission: - action: organization.clusters.get post: description: Update a cluster in the Organization. operationId: UpdateCluster parameters: - description: The ID of the Organization to which the cluster belongs. in: path name: organizationId required: true schema: type: string - description: The cluster's ID in: path name: clusterId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateClusterRequest' description: The request body for updating the cluster required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Cluster' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "412": content: application/json: schema: $ref: '#/components/schemas/Error' description: Precondition Failed "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update a cluster tags: - Cluster x-permission: - action: organization.clusters.update /organizations/{organizationId}/deployment-options: get: description: Get the options available for configuring a Deployment. operationId: GetDeploymentOptions parameters: - description: The ID of the Organization to retrieve Deployment options for. in: path name: organizationId required: true schema: type: string - description: The ID of a Deployment to retrieve options for. in: query name: deploymentId schema: type: string - description: The runtime type of the deployment. in: query name: deploymentType schema: enum: - HYBRID - DEDICATED - STANDARD type: string - description: The executor of the deployment. in: query name: executor schema: enum: - CELERY - KUBERNETES - ASTRO type: string - description: The cloud provider of the cluster for the deployment. in: query name: cloudProvider schema: enum: - AWS - AZURE - GCP type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeploymentOptions' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get Deployment options tags: - Options x-permission: - action: organization.deploymentConfigurations.get /organizations/{organizationId}/deployments: get: description: List Deployments in an Organization. operationId: ListDeployments parameters: - description: The ID of the Organization to list Deployments for. in: path name: organizationId required: true schema: type: string - description: A list of IDs for Deployments to show. The API returns details only for the specified Deployments. in: query name: deploymentIds schema: items: type: string type: array - description: A list of names for Deployments to filter by. The API returns details only for the specified Deployments. in: query name: names schema: items: type: string type: array - description: A list of IDs for Workspaces to filter on. The API returns details for all Deployments belonging only to the specified Workspaces. in: query name: workspaceIds schema: items: type: string type: array - description: The number of results to skip before returning values. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: The maximum number of results to return. in: query name: limit schema: default: 20 minimum: 0 type: integer - description: A list of field names to sort by, and whether to show results as ascending or descending. Formatted as `:asc` or `:desc`. in: query name: sorts schema: items: enum: - name:asc - name:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeploymentsPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List Deployments tags: - Deployment x-permission: - action: organization.deployments.get post: description: Create a Deployment in the Organization. An Astro Deployment is an Airflow environment that is powered by all core Airflow components. operationId: CreateDeployment parameters: - description: The ID of the Organization in which to create the Deployment. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDeploymentRequest' description: The request body for creating a Deployment. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Deployment' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create a Deployment tags: - Deployment x-permission: - action: workspace.deployments.create /organizations/{organizationId}/deployments/{deploymentId}: delete: description: Delete a Deployment from an Organization. operationId: DeleteDeployment parameters: - description: The ID of the Organization to which the Deployment belongs. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete a Deployment tags: - Deployment x-permission: - action: deployment.delete get: description: Retrieve details about a Deployment. operationId: GetDeployment parameters: - description: The ID of the Organization to which the Deployment belongs. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Deployment' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get a Deployment tags: - Deployment x-permission: - action: deployment.get post: description: Update a Deployment in the Organization. operationId: UpdateDeployment parameters: - description: The ID of the Organization to which the Deployment belongs. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateDeploymentRequest' description: The request body for updating a Deployment. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Deployment' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update a Deployment tags: - Deployment x-permission: - action: deployment.update /organizations/{organizationId}/deployments/{deploymentId}/agent-tokens: get: description: List Agent API Tokens. operationId: ListAgentTokens parameters: - description: The ID of the organization that owns the deployment you want to list tokens for. in: path name: organizationId required: true schema: type: string - description: The ID of the deployment that owns the Agent API tokens you want to list. in: path name: deploymentId required: true schema: type: string - description: The number of results to skip before returning values. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: The maximum number of results to return. in: query name: limit schema: default: 20 maximum: 1000 minimum: 0 type: integer - description: A list of field names to sort by, and whether to show results as ascending or descending. Formatted as `:asc` or `:desc`. in: query name: sorts schema: items: enum: - name:asc - name:desc - description:asc - description:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc - createdById:asc - createdById:desc - updatedById:asc - updatedById:desc - tokenStartAt:asc - tokenStartAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiTokensPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List Agent API Tokens tags: - AgentToken x-permission: - action: deployment.agentTokens.get post: description: Create an Agent API token for remote workers. operationId: CreateAgentToken parameters: - description: The ID of the organization that owns the deployment where you want to create the Agent API token. in: path name: organizationId required: true schema: type: string - description: The ID of the deployment where you want to create the Agent API token. in: path name: deploymentId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAgentTokenRequest' description: The request body for creating an Agent API Token. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiToken' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create an Agent API token tags: - AgentToken x-permission: - action: deployment.agentTokens.create /organizations/{organizationId}/deployments/{deploymentId}/agent-tokens/{agentTokenId}: delete: description: Delete an Agent API Token. operationId: DeleteAgentToken parameters: - description: The ID of the organization that owns the deployment where you want to delete the Agent API Token. in: path name: organizationId required: true schema: type: string - description: The ID of the deployment that owns the Agent API token that you want to delete. in: path name: deploymentId required: true schema: type: string - description: The ID of the Agent API token you want to delete. in: path name: agentTokenId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete an Agent API Token tags: - AgentToken x-permission: - action: deployment.agentTokens.delete get: description: Get an Agent API Token. operationId: GetAgentToken parameters: - description: The ID of the Organization that owns the deployment where you want to retrieve Agent API token information. in: path name: organizationId required: true schema: type: string - description: The ID of the deployment where you want to retrieve Agent API token information. in: path name: deploymentId required: true schema: type: string - description: The ID of the Agent API token that you want to retrieve data for. in: path name: agentTokenId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiToken' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get an Agent API Token tags: - AgentToken x-permission: - action: deployment.agentTokens.get /organizations/{organizationId}/deployments/{deploymentId}/deploys: get: description: List deploys for a deployment operationId: ListDeploys parameters: - description: The ID of the Organization to which the Deployment belongs. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string - description: The number of results to skip before returning values. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: The maximum number of results to return. in: query name: limit schema: default: 20 maximum: 1000 minimum: 0 type: integer responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeploysPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List deploys for a deployment tags: - Deploy x-permission: - action: deployment.deploys.get post: description: Create a new Deploy. A Deploy represents an intent to deploy new DAG code to an Astro Deployment. operationId: CreateDeploy parameters: - description: The ID of the Organization in which to create the Deployment. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDeployRequest' description: The Request body for creating a Deploy. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Deploy' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create a Deploy tags: - Deploy x-permission: - action: deployment.deploys.create /organizations/{organizationId}/deployments/{deploymentId}/deploys/{deployId}: get: description: Get a deploy for a deployment operationId: GetDeploy parameters: - description: The ID of the Organization in which to create the Deployment. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string - description: The Deploy's ID. in: path name: deployId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Deploy' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get a deploy for a deployment tags: - Deploy x-permission: - action: deployment.deploys.get post: description: Update an existing Deploy. A Deploy represents an intent to deploy new DAG code to an Astro Deployment. operationId: UpdateDeploy parameters: - description: The ID of the Organization in which to create the Deployment. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string - description: The Deploy's ID. in: path name: deployId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateDeployRequest' description: The Request body for updating a Deploy. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Deploy' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update a Deploy tags: - Deploy x-permission: - action: deployment.deploys.update /organizations/{organizationId}/deployments/{deploymentId}/deploys/{deployId}/finalize: post: description: Finalize a deploy that you initialized using the `deploys` endpoint. operationId: FinalizeDeploy parameters: - description: The ID of the Organization to which the Deployment belongs. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string - description: The deploy's ID. in: path name: deployId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FinalizeDeployRequest' description: The Request body for finalizing a deploy. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Deploy' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Finalize a deploy tags: - Deploy x-permission: - action: deployment.deploys.update /organizations/{organizationId}/deployments/{deploymentId}/deploys/{deployId}/rollback: post: description: Deploy rollback of a deployment operationId: DeployRollback parameters: - description: The ID of the Organization in which to create the Deployment. in: path name: organizationId required: true schema: type: string - description: The Deployment's ID. in: path name: deploymentId required: true schema: type: string - description: The Deploy's ID. in: path name: deployId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/DeployRollbackRequest' description: The Request body to rollback a Deploy. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Deploy' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Deploy rollback of a deployment tags: - Deploy x-permission: - action: deployment.deploys.update /organizations/{organizationId}/deployments/{deploymentId}/hibernation-override: delete: operationId: DeleteDeploymentHibernationOverride parameters: - description: The Organization ID in: path name: organizationId required: true schema: type: string - description: The Deployment ID in: path name: deploymentId required: true schema: type: string responses: 4XX: content: application/json: schema: $ref: '#/components/schemas/Error' description: a common error response 5XX: content: application/json: schema: $ref: '#/components/schemas/Error' description: a common error response "204": description: No Content security: - JWT: [] summary: Delete a hibernation override for a deployment tags: - Deployment x-permission: - action: deployment.update post: operationId: UpdateDeploymentHibernationOverride parameters: - description: The Organization ID in: path name: organizationId required: true schema: type: string - description: The Deployment ID in: path name: deploymentId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/OverrideDeploymentHibernationBody' required: true responses: 4XX: content: application/json: schema: $ref: '#/components/schemas/Error' description: a common error response 5XX: content: application/json: schema: $ref: '#/components/schemas/Error' description: a common error response "200": content: application/json: schema: $ref: '#/components/schemas/DeploymentHibernationOverride' description: OK security: - JWT: [] summary: Configure a hibernation override for a deployment tags: - Deployment x-permission: - action: deployment.update /organizations/{organizationId}/environment-objects: get: description: List environment objects in a Workspace or Deployment. operationId: ListEnvironmentObjects parameters: - description: The ID of the Organization to which the environment object belongs. in: path name: organizationId required: true schema: type: string - description: The number of results to skip before returning values. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: The maximum number of results to return. in: query name: limit schema: default: 20 minimum: 0 type: integer - description: A list of field names to sort by, and whether to show results as ascending or descending. Formatted as `:asc` or `:desc`. in: query name: sorts schema: items: enum: - objectType:asc - objectType:desc - objectKey:asc - objectKey:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array - description: The Workspace ID to filter for. The API returns details for all environment objects belonging only to this specified Workspace. in: query name: workspaceId schema: type: string - description: The Deployment ID to filter for. The API returns details for all environment objects belonging only to this specified Deployment. in: query name: deploymentId schema: type: string - description: The environment object type to filter for. The API returns details for all environment objects belonging only to this specified object type. in: query name: objectType schema: enum: - CONNECTION - AIRFLOW_VARIABLE - METRICS_EXPORT type: string - description: The environment object key to filter for. The API returns details for all environment objects belonging only to the specified object key. in: query name: objectKey schema: type: string - description: If true, returns the actual values of fields of type secret in the API response. in: query name: showSecrets schema: type: boolean - description: Resolve and return the environment objects linked to the specified Deployment or Workspace in the API response. in: query name: resolveLinked schema: type: boolean responses: "200": content: application/json: schema: $ref: '#/components/schemas/EnvironmentObjectsPaginated' description: OK "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "405": content: application/json: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List environment objects tags: - Environment post: description: Create an environment object for a Deployment or Workspace. An environment object represents a connection, Airflow variable, or metrics export resource that is managed by the Astro Environment Manager. operationId: CreateEnvironmentObject parameters: - description: The ID of the Organization in which to create the environment object. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateEnvironmentObjectRequest' description: The request body for creating a new environment object. required: true x-originalParamName: data responses: "200": content: application/json: schema: $ref: '#/components/schemas/CreateEnvironmentObject' description: OK "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "405": content: application/json: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed "409": content: application/json: schema: $ref: '#/components/schemas/Error' description: Conflict "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create a new environment object tags: - Environment /organizations/{organizationId}/environment-objects/{environmentObjectId}: delete: description: Delete an environment object from a Deployment or Workspace. operationId: DeleteEnvironmentObject parameters: - description: The ID of the Organization to which the environment object belongs. in: path name: organizationId required: true schema: type: string - description: The environment object's ID. in: path name: environmentObjectId required: true schema: type: string responses: "204": description: "" "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "405": content: application/json: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed "409": content: application/json: schema: $ref: '#/components/schemas/Error' description: Conflict "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete an environment object tags: - Environment get: description: Retrieve details about an environment object. operationId: GetEnvironmentObject parameters: - description: The ID of the Organization to which the environment object belongs. in: path name: organizationId required: true schema: type: string - description: The environment object's ID. in: path name: environmentObjectId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/EnvironmentObject' description: OK "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "405": content: application/json: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get environment object tags: - Environment post: description: Update an existing Deployment level or Workspace level environment object. operationId: UpdateEnvironmentObject parameters: - description: The ID of the Organization to which the environment object belongs. in: path name: organizationId required: true schema: type: string - description: The environment object's ID. in: path name: environmentObjectId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateEnvironmentObjectRequest' description: The request body for updating an environment object. required: true x-originalParamName: data responses: "200": content: application/json: schema: $ref: '#/components/schemas/EnvironmentObject' description: OK "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "405": content: application/json: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed "409": content: application/json: schema: $ref: '#/components/schemas/Error' description: Conflict "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update an environment object tags: - Environment /organizations/{organizationId}/environment-objects/{environmentObjectId}/exclude-linking: post: description: Exclude a specific Deployment from linking to an environment object created at the Workspace level. operationId: ExcludeLinkingEnvironmentObject parameters: - description: The ID of the Organization to which the environment object belongs. in: path name: organizationId required: true schema: type: string - description: The environment object's ID. in: path name: environmentObjectId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ExcludeLinkEnvironmentObjectRequest' description: The request body to exclude linking an environment object. required: true x-originalParamName: data responses: "200": description: "" "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "405": content: application/json: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed "409": content: application/json: schema: $ref: '#/components/schemas/Error' description: Conflict "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Exclude linking an environment object tags: - Environment /organizations/{organizationId}/invites: post: description: Invite a user to an Organization. operationId: CreateUserInvite parameters: - description: The ID of the Organization to invite the user to. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateUserInviteRequest' description: The request body for creating user invite. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Invite' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create a user invitation tags: - Invite x-permission: - action: organization.users.create /organizations/{organizationId}/invites/{inviteId}: delete: description: Delete an existing user invite. operationId: DeleteUserInvite parameters: - description: The ID of the Organization where the user was invited to. in: path name: organizationId required: true schema: type: string - description: The invite's ID. in: path name: inviteId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete a user invite tags: - Invite x-permission: - action: organization.users.delete /organizations/{organizationId}/role-templates: get: description: Get a list of available role templates in an Organization. A role template can be used as the basis for creating a new custom role. operationId: ListRoleTemplates parameters: - description: The Organization's ID. in: path name: organizationId required: true schema: type: string - description: Filter role templates based on the scope of permissions they include. in: query name: scopeTypes schema: items: enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION - DAG type: string type: array responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/RoleTemplate' type: array description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get role templates tags: - Role x-permission: - action: organization.customRoles.get /organizations/{organizationId}/roles: get: description: List available user roles in an Organization. operationId: ListRoles parameters: - description: The Organization's ID. in: path name: organizationId required: true schema: type: string - description: Whether to include default Astro roles in the returned list. in: query name: includeDefaultRoles schema: type: boolean - description: Filter the list of roles based on the scope of each role. in: query name: scopeTypes schema: items: enum: - DEPLOYMENT - WORKSPACE - ORGANIZATION - DAG type: string type: array - description: Offset for pagination. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: Limit for pagination. in: query name: limit schema: default: 20 minimum: 0 type: integer - description: Sorting criteria, each criterion should conform to format 'fieldName:asc' or 'fieldName:desc'. in: query name: sorts schema: items: enum: - name:asc - name:desc - scopeType:asc - scopeType:desc - description:asc - description:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/RolesPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List roles tags: - Role x-permission: - action: organization.customRoles.get post: description: Create a custom role that you can assign to users, Teams, and API tokens. operationId: CreateCustomRole parameters: - description: The ID of the Organization where you want to create the custom role. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCustomRoleRequest' description: The request body for creating the custom role. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/RoleWithPermission' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create a custom role tags: - Role x-permission: - action: organization.customRoles.create /organizations/{organizationId}/roles/{customRoleId}: delete: description: Delete a custom role. operationId: DeleteCustomRole parameters: - description: The ID of the Organization to which the role belongs. in: path name: organizationId required: true schema: type: string - description: The ID of the role to delete. in: path name: customRoleId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete a custom role tags: - Role x-permission: - action: organization.customRoles.delete post: description: Update the metadata or included permissions for a custom role. operationId: UpdateCustomRole parameters: - description: The ID of the Organization to which the role belongs. in: path name: organizationId required: true schema: type: string - description: The custom role's ID. in: path name: customRoleId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCustomRoleRequest' description: The request body for updating the custom role. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/RoleWithPermission' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update custom role tags: - Role x-permission: - action: organization.customRoles.update /organizations/{organizationId}/roles/{roleId}: get: description: Get details about a custom role. operationId: GetCustomRole parameters: - description: The ID of the Organization to which the role belongs. in: path name: organizationId required: true schema: type: string - description: The role's ID. in: path name: roleId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/RoleWithPermission' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get a custom role tags: - Role x-permission: - action: organization.customRoles.get /organizations/{organizationId}/teams: get: description: List all Teams in an Organization. operationId: ListTeams parameters: - description: ID of the Organization to list Teams for. in: path name: organizationId required: true schema: type: string - description: A list of names for Teams to filter by. The API returns details only for the specified Teams. in: query name: names schema: items: type: string type: array - description: Offset for pagination in: query name: offset schema: default: 0 minimum: 0 type: integer - description: Limit for pagination in: query name: limit schema: default: 20 maximum: 1000 minimum: 0 type: integer - description: Sorting criteria, each criterion should conform to format 'fieldName:asc' or 'fieldName:desc' in: query name: sorts schema: items: enum: - name:asc - name:desc - description:asc - description:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/TeamsPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List Teams tags: - Team x-permission: - action: organization.teams.get post: description: Create a Team in an Organization. A Team is a group of users that have the same set of permissions in an Organization or Workspace. operationId: CreateTeam parameters: - description: The ID of the Organization where the Team is created. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTeamRequest' description: The request body for creating a Team. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Team' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create a Team tags: - Team x-permission: - action: organization.teams.create /organizations/{organizationId}/teams/{teamId}: delete: description: Delete a Team. Deleting a Team will remove all permissions associated with the Team. Users that previously belonged to the Team will no longer have these permissions. operationId: DeleteTeam parameters: - description: The ID of the Organization to delete the Team from. in: path name: organizationId required: true schema: type: string - description: The ID of the Team to delete. in: path name: teamId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete a Team tags: - Team x-permission: - action: organization.teams.delete get: description: Retrieve details about a specific Team. operationId: GetTeam parameters: - description: The ID of the Organization to which the Team belongs. in: path name: organizationId required: true schema: type: string - description: The ID of the Team to retrieve data for. in: path name: teamId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Team' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get a Team tags: - Team x-permission: - action: organization.teams.get post: description: Update a Team's details. operationId: UpdateTeam parameters: - description: The ID of the Organization to which the Team belongs. in: path name: organizationId required: true schema: type: string - description: The ID of the Team to update. in: path name: teamId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateTeamRequest' description: The request body for updating the Team. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Team' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update a Team tags: - Team x-permission: - action: organization.teams.update /organizations/{organizationId}/teams/{teamId}/members: get: description: List the details about all users that belong to a specific Team. operationId: ListTeamMembers parameters: - description: The ID of the Organization to which the Team belongs. in: path name: organizationId required: true schema: type: string - description: The ID of the Team to retrieve member information for. in: path name: teamId required: true schema: type: string - description: Offset for pagination in: query name: offset schema: default: 0 minimum: 0 type: integer - description: Limit for pagination in: query name: limit schema: default: 20 minimum: 0 type: integer - description: Sorting criteria, each criterion should conform to format 'fieldName:asc' or 'fieldName:desc' in: query name: sorts schema: items: enum: - userId:asc - userId:desc - fullName:asc - fullName:desc - username:asc - username:desc - createdAt:asc - createdAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/TeamMembersPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List Team members tags: - Team x-permission: - action: organization.teams.get post: description: Add members to a team operationId: AddTeamMembers parameters: - description: organization ID in: path name: organizationId required: true schema: type: string - description: team ID in: path name: teamId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddTeamMembersRequest' description: request body for adding members to a team required: true x-originalParamName: body responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Add members to a team tags: - Team x-permission: - action: organization.teams.update /organizations/{organizationId}/teams/{teamId}/members/{memberId}: delete: description: Remove a user from a Team. The user loses all permissions associated with the Team. operationId: RemoveTeamMember parameters: - description: The ID of the Organization to which the user belongs. in: path name: organizationId required: true schema: type: string - description: The ID of the Team to remove the user from. in: path name: teamId required: true schema: type: string - description: The ID of the user to remove. in: path name: memberId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Remove Team member tags: - Team x-permission: - action: organization.teams.update /organizations/{organizationId}/teams/{teamId}/roles: post: description: Update Organization and Workspace roles for a Team. operationId: UpdateTeamRoles parameters: - description: The ID of the Organization to which the Team belongs. in: path name: organizationId required: true schema: type: string - description: The ID of the Team to update roles for. in: path name: teamId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateTeamRolesRequest' description: The request body for updating the Team's roles required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/SubjectRoles' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update Team roles tags: - Team x-permission: - action: organization.teams.update /organizations/{organizationId}/tokens: get: description: List information about all API tokens from an Organization. Filters on Workspace when Workspace ID is provided. When `includeOnlyOrganizationTokens` is `true`, only Organization API tokens are returned. operationId: ListApiTokens parameters: - description: The ID of the Organization to list tokens for. in: path name: organizationId required: true schema: type: string - description: The ID of the Workspace to list API tokens for. in: query name: workspaceId schema: type: string - description: The ID of the Deployment to list API tokens for. in: query name: deploymentId schema: type: string - description: Whether to show only Organization API tokens. in: query name: includeOnlyOrganizationTokens schema: type: boolean - description: The kind of the API token to list API tokens for. in: query name: kind schema: enum: - STANDARD - DIRECT_ACCESS type: string - description: Offset for pagination in: query name: offset schema: default: 0 minimum: 0 type: integer - description: Limit for pagination in: query name: limit schema: default: 20 maximum: 1000 minimum: 0 type: integer - description: Sorting criteria, each criterion should conform to format 'fieldName:asc' or 'fieldName:desc' in: query name: sorts schema: items: enum: - name:asc - name:desc - description:asc - description:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc - tokenStartAt:asc - tokenStartAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiTokensPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List API tokens tags: - ApiToken post: description: Create an API token. An API token is an alphanumeric token that grants programmatic access to Astro for automated workflows. An API token can be scoped to an Organization or a Workspace. operationId: CreateApiToken parameters: - description: The ID of the Organization where you want to create the token. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateApiTokenRequest' description: The Request body for creating an API token required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiToken' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create an API token tags: - ApiToken /organizations/{organizationId}/tokens/{tokenId}: delete: description: Delete an API token. When you delete an API token, make sure that no existing automation workflows are using it. After it's deleted, an API token cannot be recovered. operationId: DeleteApiToken parameters: - description: The ID of the Organization where you want to delete the token. in: path name: organizationId required: true schema: type: string - description: The API token ID in: path name: tokenId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete an API token tags: - ApiToken get: description: Retrieve information about a specific API token. operationId: GetApiToken parameters: - description: The ID of the Organization where you want to retrieve token information. in: path name: organizationId required: true schema: type: string - description: The ID of the token that you want to retrieve data for. in: path name: tokenId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiToken' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get an API token tags: - ApiToken post: description: Update the name and description of an API token. operationId: UpdateApiToken parameters: - description: The ID of the Organization where you want to update an API token. in: path name: organizationId required: true schema: type: string - description: The API token you want to update. in: path name: tokenId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateApiTokenRequest' description: The request body for updating a token. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiToken' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update an API token tags: - ApiToken /organizations/{organizationId}/tokens/{tokenId}/roles: post: description: Update Workspace and Organization roles for an API token. operationId: UpdateApiTokenRoles parameters: - description: The ID of the Organization where you want to update an API token. in: path name: organizationId required: true schema: type: string - description: The API token you want to update. in: path name: tokenId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateApiTokenRolesRequest' description: The request body for updating a token. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/SubjectRoles' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update API token roles tags: - ApiToken /organizations/{organizationId}/tokens/{tokenId}/rotate: post: description: Rotate an API token. Creates a new API token and invalidates the one you specify. Any workflows using the previous value stop working. operationId: RotateApiToken parameters: - description: The ID of the Organization where you want to rotate an API token. in: path name: organizationId required: true schema: type: string - description: The token to rotate in: path name: tokenId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ApiToken' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Rotate API token tags: - ApiToken /organizations/{organizationId}/users: get: description: List users in an Organization or a specific Workspace within an Organization. operationId: ListUsers parameters: - description: The ID of the Organization to list users for. in: path name: organizationId required: true schema: type: string - description: The ID of the Workspace to filter the list of users for. When specified, the API returns only users belonging to the specified Workspace. in: query name: workspaceId schema: type: string - description: The ID of the Deployment to filter the list of users for. When specified, the API returns only users belonging to the specified Deployment. in: query name: deploymentId schema: type: string - description: Offset for pagination in: query name: offset schema: default: 0 minimum: 0 type: integer - description: Limit for pagination in: query name: limit schema: default: 20 maximum: 1000 minimum: 0 type: integer - description: Sorting criteria, each criterion should conform to format 'fieldName:asc' or 'fieldName:desc' in: query name: sorts schema: items: enum: - id:asc - id:desc - username:asc - username:desc - fullName:asc - fullName:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/UsersPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List users in an Organization tags: - User x-permission: - action: organization.users.get /organizations/{organizationId}/users/{userId}: get: description: Retrieve user information about a specific user account. operationId: GetUser parameters: - description: The ID of the Organization to which the user belongs. in: path name: organizationId required: true schema: type: string - description: The user's ID. in: path name: userId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get user information tags: - User x-permission: - action: organization.users.get /organizations/{organizationId}/users/{userId}/roles: post: description: Update Organization and Workspace roles for a user. operationId: UpdateUserRoles parameters: - description: The ID of the Organization to which the user belongs. in: path name: organizationId required: true schema: type: string - description: The user's ID in: path name: userId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserRolesRequest' description: The request body for updating the user's roles required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/SubjectRoles' description: The response body containing the user's roles "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update a user's roles tags: - User /organizations/{organizationId}/workspaces: get: description: List Workspaces in an Organization operationId: ListWorkspaces parameters: - description: The ID of the Organization to list Workspaces for. in: path name: organizationId required: true schema: type: string - description: A list of IDs for specific Workspaces to list. The API will list information only for Workspaces which have been specified in this list. in: query name: workspaceIds schema: items: type: string type: array - description: A list of names for specific Workspaces to filter by. The API will list information only for Workspaces which have been specified in this list. in: query name: names schema: items: type: string type: array - description: The number of results to skip before returning values. in: query name: offset schema: default: 0 minimum: 0 type: integer - description: The maximum number of results to return. in: query name: limit schema: default: 20 maximum: 1000 minimum: 0 type: integer - description: A list of field names to sort by, and whether to show results as ascending or descending. Formatted as `:asc` or `:desc`. in: query name: sorts schema: items: enum: - name:asc - name:desc - createdAt:asc - createdAt:desc - updatedAt:asc - updatedAt:desc type: string type: array responses: "200": content: application/json: schema: $ref: '#/components/schemas/WorkspacesPaginated' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: List Workspaces tags: - Workspace x-permission: - action: organization.workspaces.get post: description: Create a Workspace. operationId: CreateWorkspace parameters: - description: The ID of the Organization to which the Workspace will belong. in: path name: organizationId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWorkspaceRequest' description: The request body for creating a new Workspace. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Workspace' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Create Workspace tags: - Workspace x-permission: - action: organization.workspaces.create /organizations/{organizationId}/workspaces/{workspaceId}: delete: description: Delete a Workspace. operationId: DeleteWorkspace parameters: - description: The ID of the Organization to which the Workspace belongs. in: path name: organizationId required: true schema: type: string - description: The Workspace's ID. in: path name: workspaceId required: true schema: type: string responses: "204": description: "" "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Delete Workspace tags: - Workspace x-permission: - action: workspace.delete get: description: Get information about a Workspace. operationId: GetWorkspace parameters: - description: The ID of the Organization to which the Workspace belongs. in: path name: organizationId required: true schema: type: string - description: The Workspace's ID. in: path name: workspaceId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Workspace' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Get Workspace tags: - Workspace x-permission: - action: workspace.get post: description: Update a Workspace. operationId: UpdateWorkspace parameters: - description: The ID of the Organization to which the Workspace belongs. in: path name: organizationId required: true schema: type: string - description: The Workspace's ID. in: path name: workspaceId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateWorkspaceRequest' description: The request body for updating a new Workspace. required: true x-originalParamName: body responses: "200": content: application/json: schema: $ref: '#/components/schemas/Workspace' description: OK "400": content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad Request "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized "403": content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: Not Found "500": content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal Server Error security: - JWT: [] summary: Update Workspace tags: - Workspace x-permission: - action: workspace.settings.update security: - JWT: [] servers: - url: https://api.astronomer.io/v1 tags: - description: 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](https://astronomer.io/docs/astro/manage-billing), [Set up single sign-on](https://astronomer.io/docs/astro/configure-idp), and [Manage domains](https://astronomer.io/docs/astro/manage-domains). name: Organization - description: The `deployment` object represents an Astro Deployment, which is a hosted Airflow environment that is powered by all core Airflow components, including schedulers and workers. Make requests to the `deployment` object to create, update, or delete a Deployment or its computational resources. See [Deployment settings](https://astronomer.io/docs/astro/deployment-settings). name: Deployment - description: 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](https://astronomer.io/docs/astro/create-dedicated-cluster). name: Cluster - description: 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](https://astronomer.io/docs/astro/manage-workspaces). name: Workspace - description: The `user` object represents a user account in your Astro Organization. Astro creates a new `user` object whenever you invite a user by email or add a user to Astro through an identity provider. The object contains all information about a user, including their personal information, roles, and login attempts. It doesn't include attributes for actions that the user completes after they log in, such as updating a Deployment. Make requests to `user` endpoints to manage permissions for existing users both at the Organization and Workspace level. To create new users, make requests to `invite` endpoints instead. name: User - description: The `team` object represents an Astro Team, which is a group of users that share the same permissions across your Organization and Workspaces. Make requests to `team` endpoints to create, update, and delete Teams across an Organization. See [Configure Teams on Astro](https://astronomer.io/docs/astro/manage-teams). name: Team - description: The `apitoken` object represents a single API token within your Organization. API tokens are used to authenticate automated tools and processes to your Organization. They have varying levels of access to your resources based on their Organization, Workspace, and Deployment roles. See [Workspace API tokens](workspace-api-tokens.md) and [Organization API tokens](organization-api-tokens.md). name: ApiToken