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
    Agent:
      properties:
        capabilities:
          description: The capabilities the agent supports
          items:
            type: string
          type: array
        cordoningReason:
          description: The reason the agent is cordoned
          type: string
        createdAt:
          description: The time when the agent was created, in UTC
          format: date-time
          type: string
        deletedAt:
          description: The time when the agent was deleted, in UTC
          format: date-time
          type: string
        id:
          description: The agent's ID
          type: string
        isCordoned:
          description: Whether the agent is cordoned and not accepting new work
          type: boolean
        lastHeartbeatAt:
          description: The time when the agent last sent a heartbeat, in UTC
          format: date-time
          type: string
        name:
          description: The agent's name
          type: string
        queues:
          description: The worker queues the agent serves
          items:
            type: string
          type: array
        slots:
          $ref: '#/components/schemas/AgentSlots'
        status:
          description: The current status of the agent
          enum:
          - HEALTHY
          - UNHEALTHY
          - CORDONED
          - TERMINATED
          type: string
        statusReason:
          description: The reason for the agent's current status
          type: string
        version:
          description: The version of the agent
          type: string
      required:
      - capabilities
      - createdAt
      - id
      - isCordoned
      - lastHeartbeatAt
      - name
      - queues
      - slots
      - status
      - version
      type: object
    AgentSlots:
      description: The agent's task execution slots
      properties:
        available:
          description: The number of task execution slots currently available
          format: int32
          type: integer
        total:
          description: The total number of task execution slots on the agent
          format: int32
          type: integer
      required:
      - available
      - total
      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
    AllowedIpAddressRangesList:
      properties:
        allowedIpAddressRanges:
          items:
            $ref: '#/components/schemas/AllowedIpAddressRange'
          type: array
      required:
      - allowedIpAddressRanges
      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
        lastRotatedAt:
          description: The time when the API token was last rotated in UTC, formatted
            as `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          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
          - 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
    BulkCreateAllowedIpAddressRangesRequest:
      properties:
        allowedIpAddressRanges:
          description: 'The allowed IP address ranges, in CIDR format. The batch is
            created atomically: if any value fails validation or conflicts with an
            existing range, no rows are inserted.'
          example:
          - 1.1.1.1/32
          - 2.2.2.2/32
          items:
            type: string
          maxItems: 1000
          minItems: 1
          type: array
      required:
      - allowedIpAddressRanges
      type: object
    BulkDeleteAllowedIpAddressRangesRequest:
      properties:
        allowedIpAddressRangeIds:
          description: The allowed IP address range IDs to delete. Duplicate and unknown
            IDs are accepted; existing matching rows are deleted atomically.
          example:
          - clm9sq6s0000008kz7uvl7yz7
          - clm9sq6s0000108kz8ybn9r1c
          items:
            type: string
          maxItems: 1000
          minItems: 1
          type: array
      required:
      - allowedIpAddressRangeIds
      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
        drPodSubnetRange:
          description: The disaster recovery subnet range for Pods. For GCP clusters
            only.
          example: 172.21.0.0/19
          type: string
        drRegion:
          description: The secondary region for Disaster Recovery for the cluster.
          example: us-east-1
          type: string
        drSecondaryVpcCidr:
          description: The secondary CIDR for the DR region. For AWS clusters only.
          type: string
        drServicePeeringRange:
          description: The disaster recovery service peering range. For GCP clusters
            only.
          example: 172.23.0.0/20
          type: string
        drServiceSubnetRange:
          description: The disaster recovery service subnet range. For GCP clusters
            only.
          example: 172.22.0.0/22
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region.
          type: string
        enableReplicationTimeControl:
          description: Whether Bucket Storage Replication Time Control is enabled
            for DR.
          type: boolean
        failoverInProgress:
          description: Whether a failover is currently in progress.
          type: boolean
        healthStatus:
          $ref: '#/components/schemas/ClusterHealthStatus'
        id:
          description: The cluster's ID.
          example: clm7k8tgw000008jz97i37y81
          type: string
        isDrEnabled:
          description: Whether Disaster Recovery is enabled on the cluster
          type: boolean
        isFailedOver:
          description: Whether the cluster is currently failed over to the DR region.
          type: boolean
        isLimited:
          description: Whether the cluster is limited.
          example: false
          type: boolean
        isPrivateNetworkEgressEnabled:
          description: Whether Private Network Egress mode is enabled, which disables
            public Internet connectivity from the cluster's Deployments and metrics
            exports. For AWS clusters only.
          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 secondary VPC CIDR. For AWS clusters only.
          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:
          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.
          example:
          - clm88rddl000108jwgeka2div
          items:
            type: string
          type: array
      required:
      - cloudProvider
      - createdAt
      - dbInstanceType
      - drRegion
      - id
      - isDrEnabled
      - 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:
      title: AWS
      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
        drRegion:
          description: The secondary region for Disaster Recovery.
          example: us-west-2
          type: string
        drSecondaryVpcCidr:
          description: The secondary CIDR for the DR region. Defaults to the primary
            secondary CIDR if not specified. For AWS clusters only.
          example: 100.64.0.0/19
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region. Defaults to the primary
            VPC subnet range if not specified.
          example: 172.20.0.0/22
          type: string
        enableReplicationTimeControl:
          description: Whether Bucket Storage Replication Time Control should be enabled
            for DR on task logs.
          type: boolean
        isPrivateNetworkEgressEnabled:
          description: When true, enables Private Network Egress mode, which disables
            public Internet connectivity from the cluster's Deployments and metrics
            exports. For AWS clusters only.
          type: boolean
        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:
      title: AZURE
      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
        drRegion:
          description: The secondary region for Disaster Recovery.
          example: us-west-2
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region. Defaults to the primary
            VPC subnet range if not specified.
          example: 172.20.0.0/22
          type: string
        enableReplicationTimeControl:
          description: Whether Bucket Storage Replication Time Control should be enabled
            for DR on task logs.
          type: boolean
        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:
      discriminator:
        mapping:
          AWS: '#/components/schemas/CreateAwsClusterRequest'
          AZURE: '#/components/schemas/CreateAzureClusterRequest'
          GCP: '#/components/schemas/CreateGcpClusterRequest'
        propertyName: cloudProvider
      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:
      title: DEDICATED
      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:
      - name
      - workspaceId
      type: object
    CreateDeployGitRequest:
      properties:
        account:
          description: Required for GITHUB; must be empty for GENERIC. The git account
            or organization.
          example: astronomer
          type: string
        authorName:
          description: The git author's display name.
          example: Astronomer Bot
          type: string
        authorUrl:
          description: The URL to the author's profile.
          example: https://github.com/astronomer-bot
          type: string
        authorUsername:
          description: The git author's username.
          example: astronomer-bot
          type: string
        beforeCommitSha:
          description: The commit SHA before the deploy commit.
          example: def456abc123
          type: string
        branch:
          description: The git branch name.
          example: main
          type: string
        commitSha:
          description: The git commit SHA.
          example: abc123def456
          type: string
        commitUrl:
          description: The URL to the commit in the provider's web UI.
          example: https://github.com/astronomer/astro-cli/commit/abc123def456
          type: string
        path:
          description: The path within the repository.
          example: dags/
          type: string
        provider:
          description: The git provider.
          enum:
          - GITHUB
          - GENERIC
          example: GITHUB
          type: string
        remoteUrl:
          description: Required for GENERIC; must be empty for GITHUB. The git remote
            URL (as configured by `git remote`).
          example: git@gitlab.com:team/project.git
          type: string
        repo:
          description: Required for GITHUB; must be empty for GENERIC. The git repository
            name.
          example: astro-cli
          type: string
      required:
      - commitSha
      - provider
      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
        git:
          $ref: '#/components/schemas/CreateDeployGitRequest'
        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
    CreateDeploymentInstanceSpecRequest:
      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
      type: object
    CreateDeploymentRequest:
      discriminator:
        mapping:
          DEDICATED: '#/components/schemas/CreateDedicatedDeploymentRequest'
          HYBRID: '#/components/schemas/CreateHybridDeploymentRequest'
          STANDARD: '#/components/schemas/CreateStandardDeploymentRequest'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/CreateStandardDeploymentRequest'
      - $ref: '#/components/schemas/CreateDedicatedDeploymentRequest'
      - $ref: '#/components/schemas/CreateHybridDeploymentRequest'
      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
    CreateEnvironmentObjectEnvironmentVariableOverridesRequest:
      properties:
        value:
          description: The value of the environment variable
          type: string
      type: object
    CreateEnvironmentObjectEnvironmentVariableRequest:
      properties:
        isSecret:
          description: Whether the value is a secret or not
          type: boolean
        value:
          description: The value of the environment variable
          type: string
      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
          - SIGV4
          type: string
        basicToken:
          description: The bearer token to connect to the remote endpoint
          type: string
        dataDogApiKey:
          description: The Datadog API key used to authenticate the export. Never
            returned in responses.
          maxLength: 64
          type: string
        dataDogSite:
          description: The Datadog site to send metrics to, e.g. datadoghq.com or
            datadoghq.eu. Datadog exports carry infrastructure metrics only; Airflow
            metrics continue to be sent by the in-Deployment Datadog sidecar.
          enum:
          - datadoghq.com
          - us3.datadoghq.com
          - us5.datadoghq.com
          - datadoghq.eu
          - ap1.datadoghq.com
          - ap2.datadoghq.com
          - ddog-gov.com
          type: string
        endpoint:
          description: The Prometheus endpoint where the metrics are exported
          type: string
        exporterType:
          description: The type of exporter
          enum:
          - PROMETHEUS
          - DATADOG
          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
        sigV4AssumeArn:
          description: The AWS IAM role ARN to assume for SigV4 authentication
          type: string
        sigV4StsRegion:
          description: The AWS STS region to use for SigV4 authentication
          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
          - SIGV4
          type: string
        basicToken:
          description: The bearer token to connect to the remote endpoint
          type: string
        dataDogApiKey:
          description: The Datadog API key used to authenticate the export. Required
            for DATADOG exports. Never returned in responses.
          maxLength: 64
          type: string
        dataDogSite:
          description: The Datadog site to send metrics to, e.g. datadoghq.com or
            datadoghq.eu. Required for DATADOG exports. Datadog exports carry infrastructure
            metrics only; Airflow metrics continue to be sent by the in-Deployment
            Datadog sidecar.
          enum:
          - datadoghq.com
          - us3.datadoghq.com
          - us5.datadoghq.com
          - datadoghq.eu
          - ap1.datadoghq.com
          - ap2.datadoghq.com
          - ddog-gov.com
          type: string
        endpoint:
          description: The Prometheus endpoint where the metrics are exported. Required
            for PROMETHEUS exports; not used by DATADOG exports, which derive their
            intake URL from site.
          type: string
        exporterType:
          description: The type of exporter
          enum:
          - PROMETHEUS
          - DATADOG
          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
        sigV4AssumeArn:
          description: The AWS IAM role ARN to assume for SigV4 authentication
          type: string
        sigV4StsRegion:
          description: The AWS STS region to use for SigV4 authentication
          type: string
        username:
          description: The username to connect to the remote endpoint
          type: string
      required:
      - exporterType
      type: object
    CreateEnvironmentObjectOverridesRequest:
      properties:
        airflowVariable:
          $ref: '#/components/schemas/CreateEnvironmentObjectAirflowVariableOverridesRequest'
        connection:
          $ref: '#/components/schemas/CreateEnvironmentObjectConnectionOverridesRequest'
        environmentVariable:
          $ref: '#/components/schemas/CreateEnvironmentObjectEnvironmentVariableOverridesRequest'
        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'
        description:
          description: The description of the environment object
          maxLength: 500
          type: string
        environmentVariable:
          $ref: '#/components/schemas/CreateEnvironmentObjectEnvironmentVariableRequest'
        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
          - ENVIRONMENT_VARIABLE
          - 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:
      title: GCP
      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
        drPodSubnetRange:
          description: The disaster recovery subnet range for Pods. For GCP clusters
            only.
          example: 172.21.0.0/19
          type: string
        drRegion:
          description: The secondary region for Disaster Recovery.
          example: us-west-2
          type: string
        drServicePeeringRange:
          description: The disaster recovery service peering range. For GCP clusters
            only.
          example: 172.23.0.0/20
          type: string
        drServiceSubnetRange:
          description: The disaster recovery service subnet range. For GCP clusters
            only.
          example: 172.22.0.0/22
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region. Defaults to the primary
            VPC subnet range if not specified.
          example: 172.20.0.0/22
          type: string
        enableReplicationTimeControl:
          description: Whether Bucket Storage Replication Time Control should be enabled
            for DR on task logs.
          type: boolean
        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:
      title: HYBRID
      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/CreateDeploymentInstanceSpecRequest'
        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:
      - name
      - 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:
      title: STANDARD
      properties:
        astroRuntimeVersion:
          description: Deployment's Astro Runtime version.
          example: 9.1.0
          type: string
        cloudProvider:
          description: Cloud provider for STANDARD deployments on Astronomer shared
            infrastructure. One of AWS, AZURE, GCP. Must be provided together with
            region. If clusterId is also provided, clusterId takes precedence and
            this field is ignored.
          enum:
          - AWS
          - AZURE
          - GCP
          example: GCP
          type: string
        clusterId:
          description: The target cluster ID. Use for DEDICATED (Astronomer-hosted)
            or HYBRID (Bring-Your-Own-Cloud) deployments. If provided alongside cloudProvider
            and region, clusterId takes precedence and the other two are ignored.
            When all three are omitted, infrastructure is resolved from workspace
            defaults or auto-selected when the organization has exactly one cluster.
          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: Region for STANDARD deployments on Astronomer shared infrastructure.
            Must be provided together with cloudProvider. If clusterId is also provided,
            clusterId takes precedence and this field is ignored.
          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:
      - name
      - 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
        defaultCloudProvider:
          description: The default cloud provider for new Deployments. Must be provided
            together with `defaultRegion`. Mutually exclusive with `defaultClusterId`.
          enum:
          - AWS
          - AZURE
          - GCP
          example: AWS
          type: string
        defaultClusterId:
          description: The ID of the default cluster for new Deployments. Mutually
            exclusive with `defaultCloudProvider` and `defaultRegion`.
          example: clmh9g6zj000008mg77if5wa2
          type: string
        defaultRegion:
          description: The default region for new Deployments. Must be provided together
            with `defaultCloudProvider`. Mutually exclusive with `defaultClusterId`.
          example: us-east-1
          type: string
        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
        dagTag:
          description: The Dag tag. Required if DagId is not specified.
          example: team-a
          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
      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
        git:
          $ref: '#/components/schemas/DeployGit'
        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
    DeployGit:
      properties:
        account:
          description: The git account, organization, group, or namespace.
          example: astronomer
          type: string
        authorName:
          description: The git author's display name.
          example: Astronomer Bot
          type: string
        authorUrl:
          description: The URL to the author's profile.
          example: https://github.com/astronomer-bot
          type: string
        authorUsername:
          description: The git author's username.
          example: astronomer-bot
          type: string
        beforeCommitSha:
          description: The commit SHA before the deploy commit.
          example: def456abc123
          type: string
        branch:
          description: The git branch name.
          example: main
          type: string
        commitSha:
          description: The git commit SHA.
          example: abc123def456
          type: string
        commitUrl:
          description: The URL to the commit.
          example: https://github.com/astronomer/astro-cli/commit/abc123def456
          type: string
        path:
          description: The path within the repository.
          example: dags/
          type: string
        provider:
          description: The git provider.
          enum:
          - GITHUB
          - GENERIC
          example: GITHUB
          type: string
        remoteUrl:
          description: The git remote URL.
          example: git@gitlab.com:team/project.git
          type: string
        repo:
          description: The git repository name.
          example: astro-cli
          type: string
      required:
      - commitSha
      - provider
      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
    DeploymentLog:
      properties:
        limit:
          description: The requested log entry limit.
          minimum: 1
          type: integer
        maxNumResults:
          description: The maximum number of results.
          minimum: 0
          type: integer
        offset:
          description: The offset of the current results page.
          minimum: 0
          type: integer
        resultCount:
          description: The number of results returned.
          minimum: 0
          type: integer
        results:
          description: The log entries.
          items:
            $ref: '#/components/schemas/DeploymentLogEntry'
          type: array
        searchId:
          description: The search ID for pagination.
          type: string
      required:
      - limit
      - maxNumResults
      - offset
      - resultCount
      - results
      - searchId
      type: object
    DeploymentLogEntry:
      properties:
        raw:
          description: The raw log entry content.
          type: string
        source:
          description: The log entry source.
          enum:
          - scheduler
          - webserver
          - triggerer
          - worker
          - dag-processor
          - apiserver
          type: string
        timestamp:
          description: The log entry's timestamp.
          type: number
      required:
      - raw
      - source
      - timestamp
      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'
        description:
          description: The description of the environment object
          type: string
        environmentVariable:
          $ref: '#/components/schemas/EnvironmentObjectEnvironmentVariable'
        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
          - ENVIRONMENT_VARIABLE
          - 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
        setFields:
          description: Names of fields that have a value set on the environment object.
            Secret values are masked in responses, so this list lets clients tell
            a set secret from an unset field. Map members appear as dotted paths (for
            example "extra.aws_secret")
          items:
            type: string
          type: array
        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
      - setFields
      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
    EnvironmentObjectEnvironmentVariable:
      properties:
        isSecret:
          description: Whether the value is a secret or not
          type: boolean
        value:
          description: The value of the environment variable. If the value is a secret,
            the value returned is empty
          type: string
      required:
      - isSecret
      - value
      type: object
    EnvironmentObjectEnvironmentVariableOverrides:
      properties:
        value:
          description: The value of the environment variable
          type: string
      required:
      - value
      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'
        environmentVariableOverrides:
          $ref: '#/components/schemas/EnvironmentObjectEnvironmentVariableOverrides'
        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
        setFields:
          description: Names of override fields that have a value set on this link.
            Secret values are masked, so this list distinguishes a set secret override
            from an unset one. Map members appear as dotted paths (for example "headers.X-Key")
          items:
            type: string
          type: array
      required:
      - scope
      - scopeEntityId
      - setFields
      type: object
    EnvironmentObjectMetricsExport:
      properties:
        authType:
          description: The type of authentication to use when connecting to the remote
            endpoint
          enum:
          - BASIC
          - AUTH_TOKEN
          - SIGV4
          type: string
        basicToken:
          description: The bearer token to connect to the remote endpoint
          type: string
        dataDogApiKey:
          description: Always empty; the Datadog API key is masked before serialization
          type: string
        dataDogSite:
          description: The Datadog site metrics are sent to. Datadog exports carry
            infrastructure metrics only; Airflow metrics continue to be sent by the
            in-Deployment Datadog sidecar.
          enum:
          - datadoghq.com
          - us3.datadoghq.com
          - us5.datadoghq.com
          - datadoghq.eu
          - ap1.datadoghq.com
          - ap2.datadoghq.com
          - ddog-gov.com
          type: string
        endpoint:
          description: The Prometheus endpoint where the metrics are exported
          type: string
        exporterType:
          description: The type of exporter
          enum:
          - PROMETHEUS
          - DATADOG
          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
        sigV4AssumeArn:
          description: The AWS IAM role ARN to assume for SigV4 authentication
          type: string
        sigV4StsRegion:
          description: The AWS STS region to use for SigV4 authentication
          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
          - SIGV4
          type: string
        basicToken:
          description: The bearer token to connect to the remote endpoint
          type: string
        dataDogApiKey:
          description: The Datadog API key used to authenticate the export. Never
            returned in responses.
          type: string
        dataDogSite:
          description: The Datadog site to send metrics to, e.g. datadoghq.com or
            datadoghq.eu. Datadog exports carry infrastructure metrics only; Airflow
            metrics continue to be sent by the in-Deployment Datadog sidecar.
          enum:
          - datadoghq.com
          - us3.datadoghq.com
          - us5.datadoghq.com
          - datadoghq.eu
          - ap1.datadoghq.com
          - ap2.datadoghq.com
          - ddog-gov.com
          type: string
        endpoint:
          description: The Prometheus endpoint where the metrics are exported
          type: string
        exporterType:
          description: The type of exporter
          enum:
          - PROMETHEUS
          - DATADOG
          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
        sigV4AssumeArn:
          description: The AWS IAM role ARN to assume for SigV4 authentication
          type: string
        sigV4StsRegion:
          description: The AWS STS region to use for SigV4 authentication
          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:
        fieldErrors:
          description: FieldErrors carries one entry per failed request-validation
            constraint. Only present on 400 responses caused by request binding/validation.
          items:
            $ref: '#/components/schemas/FieldValidationError'
          type: array
        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
    FieldValidationError:
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      required:
      - code
      - field
      - message
      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'
        hasAiFeaturesDisabled:
          type: boolean
        hasAllowedIpAddressRanges:
          description: Whether the Organization has at least one IP address range
            configured.
          example: false
          type: boolean
        id:
          description: The Organization's ID.
          example: clmaxoarx000008l2c5ayb9pt
          type: string
        isBlockedEnableAiFeatures:
          example: false
          type: boolean
        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
        shouldEnforceDedicatedClusters:
          type: boolean
        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
      - hasAllowedIpAddressRanges
      - id
      - isBlockedEnableAiFeatures
      - isScimEnabled
      - name
      - productPlans
      - shouldEnforceDedicatedClusters
      - 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
          - ENTERPRISE_BUSINESS_CRITICAL
          - IBM_ENTERPRISE
          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
        location:
          description: The multi-region location code for DR compatibility.
          example: US
          type: string
        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
    SelfUser:
      properties:
        avatarUrl:
          description: The URL for the user's profile image.
          type: string
        createdAt:
          description: The time when the user was created.
          format: date-time
          type: string
        featureFlags:
          description: The user's feature flags.
          items:
            $ref: '#/components/schemas/SelfUserFeatureFlag'
          type: array
        fullName:
          description: The user's full name.
          type: string
        id:
          description: The user's ID.
          type: string
        invites:
          description: The user's pending Organization invites.
          items:
            $ref: '#/components/schemas/SelfUserInvite'
          type: array
        isIdpManaged:
          description: Whether the user is managed by an identity provider.
          type: boolean
        organizationId:
          description: The user's primary Organization ID.
          type: string
        roles:
          description: The user's roles across all scopes.
          items:
            $ref: '#/components/schemas/SelfUserRole'
          type: array
        status:
          description: The user's status.
          enum:
          - ACTIVE
          - INACTIVE
          - PENDING
          - BANNED
          type: string
        updatedAt:
          description: The time when the user was last updated.
          format: date-time
          type: string
        username:
          description: The user's username.
          type: string
      required:
      - avatarUrl
      - createdAt
      - fullName
      - id
      - status
      - updatedAt
      - username
      type: object
    SelfUserFeatureFlag:
      properties:
        key:
          description: The feature flag key.
          type: string
        value:
          description: The feature flag value.
          type: boolean
      required:
      - key
      - value
      type: object
    SelfUserInvite:
      properties:
        expiresAt:
          description: The time when the invite expires.
          format: date-time
          type: string
        inviteId:
          description: The invite ID.
          type: string
        organizationId:
          description: The Organization ID.
          type: string
      required:
      - expiresAt
      - inviteId
      - organizationId
      type: object
    SelfUserRole:
      properties:
        role:
          description: The role name.
          type: string
        scope:
          $ref: '#/components/schemas/SelfUserRoleScope'
      required:
      - role
      - scope
      type: object
    SelfUserRoleScope:
      properties:
        dagTag:
          description: The Dag tag (only for Dag tag-scoped roles).
          type: string
        deploymentId:
          description: The Deployment ID (only for Dag-scoped roles).
          type: string
        entityId:
          description: The ID of the scoped entity.
          type: string
        type:
          description: The scope type (e.g. ORGANIZATION, WORKSPACE, DEPLOYMENT, DAG).
          type: string
      required:
      - entityId
      - type
      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'
        dagRoles:
          description: The Team's role in each Dag it belongs to.
          items:
            $ref: '#/components/schemas/DagRole'
          type: array
        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:
      discriminator:
        mapping:
          DEDICATED: '#/components/schemas/UpdateDedicatedClusterRequest'
          HYBRID: '#/components/schemas/UpdateHybridClusterRequest'
        propertyName: clusterType
      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:
      title: DEDICATED
      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
        drPodSubnetRange:
          description: The disaster recovery subnet range for Pods. For GCP clusters
            only.
          example: 172.21.0.0/19
          type: string
        drRegion:
          description: The secondary region for Disaster Recovery.
          example: us-west-2
          type: string
        drServicePeeringRange:
          description: The disaster recovery service peering range. For GCP clusters
            only.
          example: 172.23.0.0/20
          type: string
        drServiceSubnetRange:
          description: The disaster recovery service subnet range. For GCP clusters
            only.
          example: 172.22.0.0/22
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region. Defaults to the primary
            VPC subnet range if not specified.
          example: 172.20.0.0/22
          type: string
        enableDr:
          description: Set to false to disable Disaster Recovery. Enabling DR on existing
            clusters is only supported via the admin API.
          type: boolean
        enableReplicationTimeControl:
          description: Whether Bucket Storage Replication Time Control should be enabled
            for DR on task logs.
          type: boolean
        isFailedOver:
          description: Whether to trigger a DR failover for the cluster.
          type: boolean
        isPrivateNetworkEgressEnabled:
          description: When true, enables Private Network Egress mode, which disables
            public Internet connectivity from the cluster's Deployments and metrics
            exports. For AWS clusters only.
          type: boolean
        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:
      title: DEDICATED
      properties:
        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: 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.
          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/UpdateWorkerQueueRequest'
          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
    UpdateDeploymentInstanceSpecRequest:
      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
    UpdateDeploymentRequest:
      discriminator:
        mapping:
          DEDICATED: '#/components/schemas/UpdateDedicatedDeploymentRequest'
          HYBRID: '#/components/schemas/UpdateHybridDeploymentRequest'
          STANDARD: '#/components/schemas/UpdateStandardDeploymentRequest'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/UpdateStandardDeploymentRequest'
      - $ref: '#/components/schemas/UpdateDedicatedDeploymentRequest'
      - $ref: '#/components/schemas/UpdateHybridDeploymentRequest'
      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
    UpdateEnvironmentObjectEnvironmentVariableOverridesRequest:
      properties:
        value:
          description: The value of the environment variable
          type: string
      type: object
    UpdateEnvironmentObjectEnvironmentVariableRequest:
      properties:
        value:
          description: The value of the environment variable
          type: string
      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
          - SIGV4
          type: string
        basicToken:
          description: The bearer token to connect to the remote endpoint
          type: string
        dataDogApiKey:
          description: The Datadog API key used to authenticate the export. Never
            returned in responses.
          maxLength: 64
          type: string
        dataDogSite:
          description: The Datadog site to send metrics to, e.g. datadoghq.com or
            datadoghq.eu. Datadog exports carry infrastructure metrics only; Airflow
            metrics continue to be sent by the in-Deployment Datadog sidecar.
          enum:
          - datadoghq.com
          - us3.datadoghq.com
          - us5.datadoghq.com
          - datadoghq.eu
          - ap1.datadoghq.com
          - ap2.datadoghq.com
          - ddog-gov.com
          type: string
        endpoint:
          description: The Prometheus endpoint where the metrics are exported
          type: string
        exporterType:
          description: The type of exporter
          enum:
          - PROMETHEUS
          - DATADOG
          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
        sigV4AssumeArn:
          description: The AWS IAM role ARN to assume for SigV4 authentication
          type: string
        sigV4StsRegion:
          description: The AWS STS region to use for SigV4 authentication
          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
          - SIGV4
          type: string
        basicToken:
          description: The bearer token to connect to the remote endpoint
          type: string
        dataDogApiKey:
          description: The Datadog API key used to authenticate the export. Omit to
            keep the existing key. Never returned in responses.
          maxLength: 64
          type: string
        dataDogSite:
          description: 'DataDogSite is not marked required here even for DATADOG exports,
            because an update replaces the whole value: it is enforced by validation
            the same way endpoint is for PROMETHEUS. ApiKey is a secret, so omitting
            it keeps the stored key rather than clearing it.'
          enum:
          - datadoghq.com
          - us3.datadoghq.com
          - us5.datadoghq.com
          - datadoghq.eu
          - ap1.datadoghq.com
          - ap2.datadoghq.com
          - ddog-gov.com
          type: string
        endpoint:
          description: The Prometheus endpoint where the metrics are exported
          type: string
        exporterType:
          description: The type of exporter
          enum:
          - PROMETHEUS
          - DATADOG
          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
        sigV4AssumeArn:
          description: The AWS IAM role ARN to assume for SigV4 authentication
          type: string
        sigV4StsRegion:
          description: The AWS STS region to use for SigV4 authentication
          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'
        environmentVariable:
          $ref: '#/components/schemas/UpdateEnvironmentObjectEnvironmentVariableOverridesRequest'
        metricsExport:
          $ref: '#/components/schemas/UpdateEnvironmentObjectMetricsExportOverridesRequest'
        unsetFields:
          description: Names of override fields to unset on the linked entity so it
            inherits the parent value. For connections and metrics exports, individual
            fields are named (for example "password"); for map fields a single key
            can be unset with a dotted path (for example "extra.aws_secret"). A field
            cannot be both set above and listed here.
          items:
            type: string
          maxItems: 100
          type: array
      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'
        description:
          description: The description of the environment object
          maxLength: 500
          type: string
        environmentVariable:
          $ref: '#/components/schemas/UpdateEnvironmentObjectEnvironmentVariableRequest'
        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:
      title: HYBRID
      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:
      title: HYBRID
      properties:
        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/UpdateDeploymentInstanceSpecRequest'
        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/UpdateWorkerQueueRequest'
          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
        hasAiFeaturesDisabled:
          example: false
          type: boolean
        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
        shouldEnforceDedicatedClusters:
          type: boolean
      required:
      - billingEmail
      - isScimEnabled
      - name
      type: object
    UpdateStandardDeploymentRequest:
      title: STANDARD
      properties:
        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: 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.
          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/UpdateWorkerQueueRequest'
          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
    UpdateWorkerQueueRequest:
      properties:
        astroMachine:
          description: The Astro machine for each worker in the queue. Required for
            Astro Hosted deployments.
          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
        nodePoolId:
          description: The node pool ID associated with the worker queue. Required
            for Hybrid deployments.
          type: string
        podEphemeralStorage:
          description: The ephemeral storage limit for each worker Pod. Must be a
            valid Kubernetes resource string, e.g. `10Gi`.
          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
      - workerConcurrency
      type: object
    UpdateWorkspaceRequest:
      properties:
        cicdEnforcedDefault:
          description: Whether new Deployments enforce CI/CD deploys by default.
          example: true
          type: boolean
        defaultCloudProvider:
          description: The default cloud provider for new Deployments. Must be provided
            together with `defaultRegion`. Mutually exclusive with `defaultClusterId`.
          enum:
          - AWS
          - AZURE
          - GCP
          example: AWS
          type: string
        defaultClusterId:
          description: The ID of the default cluster for new Deployments. Mutually
            exclusive with `defaultCloudProvider` and `defaultRegion`.
          example: clmh9g6zj000008mg77if5wa2
          type: string
        defaultRegion:
          description: The default region for new Deployments. Must be provided together
            with `defaultCloudProvider`. Mutually exclusive with `defaultClusterId`.
          example: us-east-1
          type: string
        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
    UserTeamMembership:
      properties:
        dagRoles:
          description: The Team's role in each Dag it belongs to.
          items:
            $ref: '#/components/schemas/DagRole'
          type: array
        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
        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
        workspaceRoles:
          description: The Team's role in each Workspace it belongs to.
          items:
            $ref: '#/components/schemas/WorkspaceRole'
          type: array
      required:
      - id
      - isIdpManaged
      - name
      - organizationRole
      type: object
    UserTeamsPaginated:
      properties:
        limit:
          description: The maximum number of teams in one page.
          example: 10
          type: integer
        offset:
          description: The offset of the current page.
          example: 0
          type: integer
        teams:
          description: The list of teams the user belongs to in the current page.
          items:
            $ref: '#/components/schemas/UserTeamMembership'
          type: array
        totalCount:
          description: The total number of teams.
          example: 100
          type: integer
      required:
      - limit
      - offset
      - teams
      - totalCount
      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
        podEphemeralStorage:
          description: The ephemeral storage limit for each worker Pod. Units are
            in Gibibytes or `Gi`.
          example: 10Gi
          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
        podEphemeralStorage:
          description: The ephemeral storage limit for each worker Pod. Must be a
            valid Kubernetes resource string, e.g. `10Gi`.
          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'
        defaultCloudProvider:
          description: The default cloud provider for new Deployments.
          enum:
          - AWS
          - AZURE
          - GCP
          example: AWS
          type: string
        defaultClusterId:
          description: The ID of the default cluster for new Deployments.
          example: clmh9g6zj000008mg77if5wa2
          type: string
        defaultRegion:
          description: The default region for new Deployments.
          example: us-east-1
          type: string
        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
    agentActionBody:
      properties:
        action:
          description: The action to perform on the agent. CORDON stops the agent
            from accepting new work; UNCORDON resumes it.
          enum:
          - CORDON
          - UNCORDON
          type: string
      required:
      - action
      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 `<fieldName>:asc` or `<fieldName>: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 `<fieldName>:asc` or `<fieldName>: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:
      - allowed-ip-address-range
      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:
      - allowed-ip-address-range
      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:
      - allowed-ip-address-range
      x-permission:
      - action: organization.allowedIpAddressRanges.delete
  /organizations/{organizationId}/allowed-ip-address-ranges/bulk-create:
    post:
      description: 'Create up to 1000 allowed IP address ranges for the organization
        in one request. The whole batch is created atomically — if any item fails
        validation or conflicts with an existing range, no rows are inserted. This
        endpoint is NOT idempotent: a retry after an unacknowledged 2xx response may
        return 409. Clients should call ListAllowedIpAddressRanges to verify state
        before retrying.'
      operationId: BulkCreateAllowedIpAddressRanges
      parameters:
      - description: The ID of the Organization where you want to create the allowed
          IP address ranges.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkCreateAllowedIpAddressRangesRequest'
        description: The request body containing the list of CIDR ranges to create.
        required: true
        x-originalParamName: body
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllowedIpAddressRangesList'
          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
        "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: Bulk create allowed IP address ranges
      tags:
      - allowed-ip-address-range
      x-permission:
      - action: organization.allowedIpAddressRanges.create
  /organizations/{organizationId}/allowed-ip-address-ranges/bulk-delete:
    post:
      description: Delete up to 1000 allowed IP address ranges for the organization
        in one request. The whole batch is deleted atomically. Unknown or duplicate
        IDs are accepted and ignored; matching rows for this organization are deleted.
      operationId: BulkDeleteAllowedIpAddressRanges
      parameters:
      - description: The ID of the Organization where you want to delete the allowed
          IP address ranges.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDeleteAllowedIpAddressRangesRequest'
        description: The request body containing the list of allowed IP address range
          IDs to delete.
        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
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
      - JWT: []
      summary: Bulk delete allowed IP address ranges
      tags:
      - allowed-ip-address-range
      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 `<fieldName>:asc` or `<fieldName>: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
        "423":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Locked
        "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
        "423":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Locked
        "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
        "423":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Locked
        "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 `<fieldName>:asc` or `<fieldName>: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 `<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
            - 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:
      - agent-token
      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:
      - agent-token
      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:
      - agent-token
      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:
      - agent-token
      x-permission:
      - action: deployment.agentTokens.get
  /organizations/{organizationId}/deployments/{deploymentId}/agents/{agentId}/action:
    post:
      operationId: AgentAction
      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
      - description: The ID of the remote agent
        in: path
        name: agentId
        required: true
        schema:
          maxLength: 250
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/agentActionBody'
        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/Agent'
          description: OK
      security:
      - JWT: []
      summary: Trigger an action on a remote agent
      tags:
      - Deployment
      x-permission:
      - action: deployment.agents.update
  /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.hibernation.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.hibernation.update
  /organizations/{organizationId}/deployments/{deploymentId}/logs:
    get:
      description: Get logs for an Astro Deployment. You must specify at least one
        log source.
      operationId: GetDeploymentLogs
      parameters:
      - description: The ID of the Organization to which the Deployment belongs.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      - description: The ID of the Deployment to get logs for.
        in: path
        name: deploymentId
        required: true
        schema:
          type: string
      - description: Log sources to retrieve.
        in: query
        name: sources
        required: true
        schema:
          items:
            enum:
            - scheduler
            - triggerer
            - worker
            - webserver
            - dag-processor
            - apiserver
            type: string
          type: array
      - description: Maximum number of log entries per page.
        in: query
        name: limit
        schema:
          default: 500
          minimum: 1
          type: integer
      - description: Offset for pagination.
        in: query
        name: offset
        schema:
          default: 0
          minimum: 0
          type: integer
      - description: Range of the log search in seconds.
        in: query
        name: range
        schema:
          default: 3600
          minimum: 60
          type: integer
      - description: Maximum total number of results across all pages.
        in: query
        name: maxNumResults
        schema:
          default: 10000
          minimum: 1
          type: integer
      - description: Search ID for paginated results.
        in: query
        name: searchId
        schema:
          type: string
      - description: Text to filter logs by.
        in: query
        name: searchText
        schema:
          type: string
      - description: Start of time range (RFC3339).  Must  be  used  with  endDate.
        in: query
        name: startDate
        schema:
          format: date-time
          type: string
      - description: End of time range (RFC3339).    Must  be  used  with  startDate.
        in: query
        name: endDate
        schema:
          format: date-time
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentLog'
          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 logs
      tags:
      - Deployment
      x-permission:
      - action: deployment.logs.get
  /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 `<fieldName>:asc` or `<fieldName>: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
          - ENVIRONMENT_VARIABLE
          - 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
      x-permission:
      - action: organization.envObjects.access
    post:
      description: Create an environment object for a Deployment or Workspace. An
        environment object represents a connection, environment variable, 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
      x-permission:
      - action: organization.envObjects.access
  /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
      x-permission:
      - action: organization.envObjects.access
    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
      x-permission:
      - action: organization.envObjects.access
    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
      x-permission:
      - action: organization.envObjects.access
  /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
      x-permission:
      - action: organization.envObjects.access
  /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. Optionally filter by Workspace
        or Deployment membership.
      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: The ID of the Workspace to filter the list of Teams for. When
          specified, the API returns only Teams with a role in the specified Workspace.
        in: query
        name: workspaceId
        schema:
          type: string
      - description: The ID of the Deployment to filter the list of Teams for. When
          specified, the API returns only Teams with a role in 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:
            - 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.teamRoles.access
  /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: The ID of the Dag to list API tokens for.
        in: query
        name: dagId
        schema:
          type: string
      - description: The tags of the Dag to list API tokens for.
        in: query
        name: dagTags
        schema:
          items:
            type: string
          type: array
      - 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:
      - api-token
      x-permission:
      - action: organization.apiTokens.access
    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:
      - api-token
      x-permission:
      - action: organization.apiTokens.access
  /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:
      - api-token
      x-permission:
      - action: organization.apiTokens.access
    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:
      - api-token
      x-permission:
      - action: organization.apiTokens.access
    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:
      - api-token
      x-permission:
      - action: organization.apiTokens.access
  /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:
      - api-token
      x-permission:
      - action: organization.apiTokens.access
  /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:
      - api-token
      x-permission:
      - action: organization.apiTokens.access
  /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: The ID of the Dag to filter the list of users for. When specified,
          the API returns only users belonging to the specified Dag.
        in: query
        name: dagId
        schema:
          type: string
      - description: The Tags of the Dag to filter the list of users for. When specified,
          the API returns users belonging to the specified Dag tags.
        in: query
        name: dagTags
        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:
            - 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
      x-permission:
      - action: organization.userRoles.access
  /organizations/{organizationId}/users/{userId}/teams:
    get:
      description: List the teams a user belongs to within an Organization.
      operationId: ListUserTeams
      parameters:
      - description: The ID of the Organization.
        in: path
        name: organizationId
        required: true
        schema:
          type: string
      - description: The user's ID.
        in: path
        name: userId
        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
          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/UserTeamsPaginated'
          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 for a user
      tags:
      - User
      x-permission:
      - action: organization.teams.get
  /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 `<fieldName>:asc` or `<fieldName>: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
  /users/self:
    get:
      description: Get the authenticated user's profile and roles.
      operationId: GetSelfUser
      parameters:
      - description: Create the user if they don't already exist.
        in: query
        name: createIfNotExist
        schema:
          type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SelfUser'
          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
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
      - JWT: []
      summary: Get current user
      tags:
      - User
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: api-token
  x-group: API Token
- name: allowed-ip-address-range
  x-group: Allowed IP Address Range
- name: agent-token
  x-group: Agent Token
