> ## Documentation Index
> Fetch the complete documentation index at: https://www.ravion.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List the App Clusters you can deploy to

> List the App Clusters you can deploy apps to, across every project of your organization: the module instances whose module hosts apps and on which you may…



## OpenAPI

````yaml https://api.ravion.com/openapi.yaml get /apps/clusters
openapi: 3.0.0
info:
  title: Ravion
  version: 0.0.0
servers:
  - url: https://api.ravion.com
security:
  - BearerAuth: []
tags:
  - name: Projects
  - name: Environments
  - name: FeatureFlags
  - name: Pipelines
  - name: PipelineRuns
  - name: TerraformResources
  - name: TerraformExecutionSummaries
  - name: PipelineStepExecutions
  - name: AwsCloudWatch
  - name: AwsAmp
  - name: PipelineVersions
  - name: Organizations
  - name: Stacks
  - name: StackWorkspaces
  - name: Auth
  - name: OAuth
  - name: User
  - name: Health
  - name: Memberships
  - name: ServiceAccounts
  - name: Integrations
  - name: AwsDefaultNetworks
  - name: AwsAccounts
  - name: ApiKeys
  - name: EksPrometheus
  - name: EksLoki
  - name: ExecutionEnvironments
  - name: ModuleDefinitions
  - name: ModuleCategories
  - name: ModuleVersions
  - name: ModuleInstances
  - name: DefaultValueDefinitions
  - name: DefaultValues
  - name: CodeSources
  - name: Github
  - name: GitHub Actions
  - name: Alerts
  - name: Gitlab
  - name: Slack
  - name: Git
  - name: MergeQueues
  - name: Values
  - name: Deployments
  - name: DeploymentResources
  - name: InfrastructureEvents
  - name: WebSocket
  - name: Domains
  - name: AcmCertificates
  - name: NotificationDestinations
  - name: NotificationDispatches
  - name: NotificationEvents
  - name: NotificationRules
  - name: Activity
  - name: Describe
  - name: Reports
  - name: BillingPlans
  - name: BillingAccounts
  - name: BillingCycles
  - name: BillingUsageSummaries
  - name: BillingAddOns
  - name: BillingInvoices
  - name: Authorization
  - name: Sandboxes
  - name: SandboxCommands
  - name: SandboxPorts
  - name: Apps
paths:
  /apps/clusters:
    get:
      tags:
        - Apps
      summary: List the App Clusters you can deploy to
      description: >-
        List the App Clusters you can deploy apps to, across every project of
        your organization: the module instances whose module hosts apps and on
        which you may create deployments.
      operationId: ListAppClusters
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AppCluster'
                    type: array
                required:
                  - data
                type: object
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: The request is invalid or malformed.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: You are not authenticated
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: You do not have permission to access this resource.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: The server cannot find the requested resource.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: Server error
components:
  schemas:
    AppCluster:
      additionalProperties: false
      description: An App Cluster you can deploy apps to.
      properties:
        awsAccountId:
          description: Ravion AWS account (`awsact_*`) the App Cluster runs in.
          type: string
        customDomains:
          description: >-
            Custom wildcard domains the App Cluster also serves its apps under,
            without `*.`: an app is also served at `https://<app>.<custom
            domain>` and `https://<app>-<port name>.<custom domain>`. Empty when
            it has none.
          items:
            type: string
          type: array
        defaults:
          allOf:
            - $ref: '#/components/schemas/App.AppClusterDefaults'
          description: Sizes an app gets when its `ravion-app.yaml` sets none.
        domain:
          description: >-
            Ravion domain the App Cluster serves its apps under: an app's first
            exposed port is served at `https://<app>.<domain>` and every other
            one at `https://<app>-<port name>.<domain>`.
          type: string
        environmentGivenId:
          description: The environment's given ID.
          type: string
        environmentId:
          description: >-
            Environment (`env_*`) the App Cluster is in. A module reference in
            an app's environment variables resolves in this environment.
          type: string
        environmentName:
          description: The environment's name.
          type: string
        executionEnvironmentId:
          description: >-
            Execution environment (`ee_*`) whose sandbox pool runs the App
            Cluster's apps.
          type: string
        givenId:
          description: The module instance's given ID, unique within its environment.
          type: string
        limits:
          allOf:
            - $ref: '#/components/schemas/App.AppClusterLimits'
          description: The most an app may ask for. A deploy asking for more is refused.
        moduleInstanceId:
          description: >-
            The App Cluster's module instance (`minst_*`). Pass it to create an
            app on the cluster.
          type: string
        name:
          description: The module instance's name.
          type: string
        projectGivenId:
          description: The project's given ID.
          type: string
        projectId:
          description: Project (`proj_*`) the App Cluster is in.
          type: string
        projectName:
          description: The project's name.
          type: string
        region:
          description: AWS region the App Cluster runs in.
          type: string
      required:
        - moduleInstanceId
        - givenId
        - name
        - projectId
        - projectGivenId
        - projectName
        - environmentId
        - environmentGivenId
        - environmentName
        - awsAccountId
        - region
        - executionEnvironmentId
        - domain
        - customDomains
        - defaults
        - limits
      type: object
    Errors.UserFacingErrorData:
      additionalProperties: false
      description: |-
        User-facing error presentation data.
        This is what the API returns to the frontend after formatting ErrorData
        using CEL templates from the error registry.

        Used for both:
        - Error fields on domain models (e.g., PipelineRun.error)
        - API error response bodies (HTTP 4xx/5xx responses)
      properties:
        action:
          allOf:
            - $ref: '#/components/schemas/Errors.Action'
          description: Optional action to help resolve the error
        code:
          description: Full error code, e.g., "Ravion:Pipeline:NOT_FOUND"
          type: string
        description:
          description: Additional description with more details
          type: string
        details:
          description: Structured details rendered as user-facing sections.
          items:
            $ref: '#/components/schemas/Errors.UserFacingErrorDetailSection'
          type: array
        isInternal:
          description: >-
            Indicates whether this error is internal (only set when
            ShowInternal=true).

            This allows SUPERADMINs to identify internal errors while viewing
            full details.
          type: boolean
        message:
          description: Main error message (required)
          type: string
        metadata:
          additionalProperties: {}
          description: >-
            Error params/metadata. Stripped for internal errors unless
            superadmin.
          type: object
        requestId:
          description: Request ID for correlating errors with server logs.
          type: string
      required:
        - code
        - message
      type: object
    App.AppClusterDefaults:
      additionalProperties: false
      description: Sizes an app gets when its definition sets none.
      properties:
        cpu:
          description: vCPUs.
          format: int32
          minimum: 1
          type: integer
          x-go-name: CPU
        diskGib:
          description: Disk in GiB.
          format: int32
          minimum: 1
          type: integer
          x-go-name: DiskGiB
        idleTimeoutSeconds:
          description: >-
            Seconds without a request or a running command before an app is
            paused: 0 never pauses it, otherwise at least 60. Within
            `limits.idleTimeoutSeconds`.
          format: int32
          minimum: 0
          type: integer
        memoryMib:
          description: Memory in MiB.
          format: int32
          minimum: 1
          type: integer
          x-go-name: MemoryMiB
      required:
        - cpu
        - memoryMib
        - diskGib
        - idleTimeoutSeconds
      type: object
      x-go-type: app.ClusterDefaults
      x-go-type-import:
        name: app
        path: ravion/schemas/app
    App.AppClusterLimits:
      additionalProperties: false
      description: The most an app may ask for. A deploy asking for more is refused.
      properties:
        cpu:
          description: vCPUs.
          format: int32
          minimum: 1
          type: integer
          x-go-name: CPU
        diskGib:
          description: Disk in GiB.
          format: int32
          minimum: 1
          type: integer
          x-go-name: DiskGiB
        idleTimeoutSeconds:
          description: >-
            Longest idle timeout in seconds an app may ask for: 0 sets no limit,
            so an app may also ask never to pause; any other limit is at least
            60, and an app under it always pauses.
          format: int32
          minimum: 0
          type: integer
        memoryMib:
          description: Memory in MiB.
          format: int32
          minimum: 1
          type: integer
          x-go-name: MemoryMiB
        retentionSeconds:
          description: >-
            Seconds a paused app's disk is kept. After it, the disk is deleted
            and the app is stopped until its next deploy.
          format: int32
          minimum: 1
          type: integer
      required:
        - cpu
        - memoryMib
        - diskGib
        - idleTimeoutSeconds
        - retentionSeconds
      type: object
      x-go-type: app.ClusterLimits
      x-go-type-import:
        name: app
        path: ravion/schemas/app
    Errors.Action:
      additionalProperties: false
      description: Action to help user resolve the error
      properties:
        label:
          description: Button/link label text
          type: string
        url:
          description: URL to navigate to for resolution
          type: string
      required:
        - label
        - url
      type: object
    Errors.UserFacingErrorDetailSection:
      additionalProperties: false
      description: Structured user-facing error detail section.
      properties:
        items:
          description: List of detail values for this section.
          items:
            type: string
          type: array
        object:
          additionalProperties: {}
          description: Structured detail payload for object rendering.
          type: object
        render:
          description: Rendering hint for clients. Valid values are list or object.
          type: string
        title:
          description: Detail section title shown in the UI.
          type: string
      required:
        - title
        - render
      type: object
  securitySchemes:
    BearerAuth:
      scheme: Bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.