> ## 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.

# Get an App Cluster

> Retrieve an App Cluster: where it runs, the domains it serves its apps under, and the sizes it gives them. GET /apps/clusters/{moduleInstanceId} in the…



## OpenAPI

````yaml https://api.ravion.com/openapi.yaml get /apps/clusters/{moduleInstanceId}
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/{moduleInstanceId}:
    get:
      tags:
        - Apps
      summary: Get an App Cluster
      description: >-
        Retrieve an App Cluster: where it runs, the domains it serves its apps
        under, and the sizes it gives them. You need permission to read the App
        Cluster's module instance. Returns 404 when the App Cluster does not
        exist or you cannot read it, and 422 when the module instance is not an
        App Cluster or its settings are invalid, such as an execution
        environment that is not in its AWS account, region and VPC or has no
        sandbox pool.
      operationId: GetAppCluster
      parameters:
        - description: App Cluster module instance (`minst_*`).
          in: path
          name: moduleInstanceId
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/AppCluster'
                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.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: Client error
        '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.