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

# Get app details

> Returns app metadata and current CVM configuration. Response schema varies by API version.



## OpenAPI

````yaml /openapi.json get /api/v1/apps/{app_id}
openapi: 3.1.0
info:
  title: Phala Cloud API
  version: 0.1.0
servers:
  - url: https://cloud-api.phala.com
security: []
tags:
  - name: CVMs
    description: Confidential Virtual Machine (CVM) lifecycle management on Phala Network
  - name: Apps
    description: App template management and CVM deployment from app blueprints
  - name: Webhooks
    description: Manage webhook endpoints and monitor delivery history
  - name: SSH Keys
    description: SSH public key management for CVM access
  - name: KMS
    description: >-
      Key Management Service — key derivation, on-chain anchoring, and
      inspection
  - name: Instance Types
    description: Available hardware configurations for CVM deployment
  - name: Attestations
    description: Remote attestation and TEE verification endpoints
paths:
  /api/v1/apps/{app_id}:
    get:
      tags:
        - Apps
      summary: Get app details
      description: >-
        Returns app metadata and current CVM configuration. Response schema
        varies by API version.
      operationId: get_dstack_app_api_v1_apps__app_id__get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            title: App Id
            description: Hex app identifier
          description: Hex app identifier
      responses:
        '200':
          description: App details with CVM info
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: >-
                      #/components/schemas/teehouse__api__routes__apps__v20251028__schemas__DstackAppFullResponse
                  - $ref: '#/components/schemas/DstackAppMinimalResponse'
                  - $ref: >-
                      #/components/schemas/teehouse__api__routes__apps__v20260121__schemas__DstackAppFullResponse
                  - $ref: '#/components/schemas/DstackAppMinimalResponse'
                title: Response Get Dstack App Api V1 Apps  App Id  Get
        '401':
          description: Not authenticated
        '403':
          description: No workspace access
        '404':
          description: App not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    teehouse__api__routes__apps__v20251028__schemas__DstackAppFullResponse:
      properties:
        id:
          type: string
          pattern: ^prj_.+
          format: hashid
          title: HashedId[projects]
          description: A hashed identifier that maps to an internal database ID
          examples:
            - prj_0123abcd
        name:
          type: string
          title: Name
        app_id:
          type: string
          title: App Id
        app_provision_type:
          anyOf:
            - type: string
            - type: 'null'
          title: App Provision Type
        app_icon_url:
          anyOf:
            - type: string
            - type: 'null'
          title: App Icon Url
        created_at:
          type: string
          title: Created At
        kms_type:
          type: string
          title: Kms Type
        profile:
          anyOf:
            - $ref: '#/components/schemas/ProfileGetResponse'
            - type: 'null'
        current_cvm:
          anyOf:
            - $ref: >-
                #/components/schemas/teehouse__api__routes__apps__v20251028__schemas__CvmBasicInfo
            - type: 'null'
        cvms:
          items:
            $ref: >-
              #/components/schemas/teehouse__api__routes__apps__v20251028__schemas__CvmBasicInfo
          type: array
          title: Cvms
        cvm_count:
          type: integer
          title: Cvm Count
          default: 0
        team_slug:
          anyOf:
            - type: string
            - type: 'null'
          title: Team Slug
        team_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Team Name
      type: object
      required:
        - id
        - name
        - app_id
        - created_at
        - kms_type
      title: DstackAppFullResponse
    DstackAppMinimalResponse:
      properties:
        id:
          type: 'null'
          title: Id
        app_id:
          type: string
          title: App Id
        name:
          type: 'null'
          title: Name
        app_provision_type:
          type: 'null'
          title: App Provision Type
        app_icon_url:
          type: 'null'
          title: App Icon Url
        created_at:
          type: 'null'
          title: Created At
        kms_type:
          type: 'null'
          title: Kms Type
        profile:
          type: 'null'
          title: Profile
        current_cvm:
          type: 'null'
          title: Current Cvm
        cvms:
          type: 'null'
          title: Cvms
        cvm_count:
          type: 'null'
          title: Cvm Count
      type: object
      required:
        - app_id
      title: DstackAppMinimalResponse
    teehouse__api__routes__apps__v20260121__schemas__DstackAppFullResponse:
      properties:
        id:
          type: string
          pattern: ^prj_.+
          format: hashid
          title: HashedId[projects]
          description: A hashed identifier that maps to an internal database ID
          examples:
            - prj_0123abcd
        name:
          type: string
          title: Name
        app_id:
          type: string
          title: App Id
        app_provision_type:
          anyOf:
            - type: string
            - type: 'null'
          title: App Provision Type
        app_icon_url:
          anyOf:
            - type: string
            - type: 'null'
          title: App Icon Url
        created_at:
          type: string
          title: Created At
        kms_type:
          type: string
          title: Kms Type
        profile:
          anyOf:
            - $ref: '#/components/schemas/ProfileGetResponse'
            - type: 'null'
        current_cvm:
          anyOf:
            - $ref: >-
                #/components/schemas/teehouse__api__routes__cvms__v20260121__schemas__CVMInfo
            - type: 'null'
        cvms:
          items:
            $ref: >-
              #/components/schemas/teehouse__api__routes__cvms__v20260121__schemas__CVMInfo
          type: array
          title: Cvms
        cvm_count:
          type: integer
          title: Cvm Count
          default: 0
      type: object
      required:
        - id
        - name
        - app_id
        - created_at
        - kms_type
      title: DstackAppFullResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ProfileGetResponse:
      properties:
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
        avatar_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Avatar Url
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        custom_domain:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom Domain
      type: object
      title: ProfileGetResponse
      description: Response model for entity profile - only public display data.
    teehouse__api__routes__apps__v20251028__schemas__CvmBasicInfo:
      properties:
        vm_uuid:
          anyOf:
            - type: string
            - type: 'null'
          title: Vm Uuid
        app_id:
          type: string
          title: App Id
        name:
          type: string
          title: Name
          default: ''
        status:
          type: string
          title: Status
        vcpu:
          type: integer
          title: Vcpu
        memory:
          type: integer
          title: Memory
        disk_size:
          type: integer
          title: Disk Size
        teepod_id:
          type: integer
          title: Teepod Id
        teepod_name:
          type: string
          title: Teepod Name
        region_identifier:
          anyOf:
            - type: string
            - type: 'null'
          title: Region Identifier
        kms_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Kms Type
        instance_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Instance Type
        listed:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Listed
        base_image:
          anyOf:
            - type: string
            - type: 'null'
          title: Base Image
        kms_slug:
          anyOf:
            - type: string
            - type: 'null'
          title: Kms Slug
        kms_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Kms Id
        instance_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Instance Id
        machine_info:
          anyOf:
            - $ref: '#/components/schemas/MachineInfo'
            - type: 'null'
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      type: object
      required:
        - vm_uuid
        - app_id
        - status
        - vcpu
        - memory
        - disk_size
        - teepod_id
        - teepod_name
        - region_identifier
        - kms_type
        - instance_type
      title: CvmBasicInfo
    teehouse__api__routes__cvms__v20260121__schemas__CVMInfo:
      properties:
        id:
          type: string
          pattern: ^cvm_.+
          format: hashid
          title: HashedId[cvms]
          description: A hashed identifier that maps to an internal database ID
          examples:
            - cvm_0123abcd
        name:
          type: string
          title: Name
        app_id:
          anyOf:
            - type: string
            - type: 'null'
          title: App Id
        vm_uuid:
          anyOf:
            - type: string
            - type: 'null'
          title: Vm Uuid
        instance_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Instance Id
        resource:
          $ref: '#/components/schemas/CVMResourceInfo'
        node_info:
          anyOf:
            - $ref: '#/components/schemas/NodeRef'
            - type: 'null'
        os:
          anyOf:
            - $ref: '#/components/schemas/CVMOSInfo'
            - type: 'null'
        kms_type:
          anyOf:
            - $ref: '#/components/schemas/KmsType'
            - type: 'null'
        kms_info:
          anyOf:
            - $ref: '#/components/schemas/CVMKmsInfo'
            - type: 'null'
        status:
          type: string
          title: Status
        in_progress:
          type: boolean
          title: In Progress
          default: false
        progress:
          anyOf:
            - $ref: '#/components/schemas/CVMProgressInfo'
            - type: 'null'
        compose_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Compose Hash
        docker_compose_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Docker Compose Hash
        pre_launch_script_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Pre Launch Script Hash
        gateway:
          $ref: '#/components/schemas/CVMGatewayInfo'
        logs:
          $ref: '#/components/schemas/CVMLogUrls'
        services:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Services
        endpoints:
          anyOf:
            - items:
                $ref: '#/components/schemas/CvmNetworkUrls'
              type: array
            - type: 'null'
          title: Endpoints
        public_logs:
          type: boolean
          title: Public Logs
          default: false
        public_sysinfo:
          type: boolean
          title: Public Sysinfo
          default: false
        public_tcbinfo:
          type: boolean
          title: Public Tcbinfo
          default: true
        gateway_enabled:
          type: boolean
          title: Gateway Enabled
          default: false
        secure_time:
          type: boolean
          title: Secure Time
          default: false
        storage_fs:
          type: string
          title: Storage Fs
          default: zfs
        workspace:
          anyOf:
            - $ref: '#/components/schemas/WorkspaceRef'
            - type: 'null'
        creator:
          anyOf:
            - $ref: '#/components/schemas/UserRef'
            - type: 'null'
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Deleted At
        listed:
          type: boolean
          title: Listed
          default: false
        project_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Project Type
      type: object
      required:
        - id
        - name
        - resource
        - status
        - gateway
      title: CVMInfo
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    MachineInfo:
      properties:
        vcpu:
          type: integer
          title: Vcpu
          description: Virtual CPU count
        memory:
          type: integer
          title: Memory
          description: Memory in MB
        disk_size:
          type: integer
          title: Disk Size
          description: Disk size in GB
        gpu_count:
          type: integer
          title: Gpu Count
          description: GPU count (0 if none)
      type: object
      required:
        - vcpu
        - memory
        - disk_size
        - gpu_count
      title: MachineInfo
      description: CVM hardware configuration.
    CVMResourceInfo:
      properties:
        instance_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Instance Type
        vcpu:
          anyOf:
            - type: integer
            - type: 'null'
          title: Vcpu
        memory_in_gb:
          anyOf:
            - type: number
            - type: 'null'
          title: Memory In Gb
        disk_in_gb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Disk In Gb
        gpus:
          anyOf:
            - type: integer
            - type: 'null'
          title: Gpus
        compute_billing_price:
          anyOf:
            - type: string
              format: decimal
              description: A monetary value with precise decimal arithmetic
              examples:
                - '19.99'
                - '123.456000'
            - type: 'null'
          title: Compute Billing Price
        billing_period:
          anyOf:
            - $ref: '#/components/schemas/BillingPeriod'
            - type: 'null'
      type: object
      title: CVMResourceInfo
    NodeRef:
      properties:
        object_type:
          type: string
          const: node
          title: Object Type
          description: Fixed value 'node'
          default: node
        id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Id
          description: Teepod numeric ID
        node_id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Node Id
          description: Physical node numeric ID
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Node display name
        region:
          anyOf:
            - type: string
            - type: 'null'
          title: Region
          description: Region identifier
        device_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Device Id
          description: Device ID
        ppid:
          anyOf:
            - type: string
            - type: 'null'
          title: Ppid
          description: PPID
        status:
          anyOf:
            - $ref: '#/components/schemas/TeepodStatus'
            - type: 'null'
          description: Node status
        version:
          anyOf:
            - type: string
            - type: 'null'
          title: Version
          description: Teepod version
      type: object
      title: NodeRef
      description: Minimal node/teepod reference for embedding in responses.
    CVMOSInfo:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        version:
          anyOf:
            - type: string
            - type: 'null'
          title: Version
        is_dev:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Dev
        os_image_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Os Image Hash
      type: object
      title: CVMOSInfo
    KmsType:
      type: string
      enum:
        - phala
        - ethereum
        - base
        - legacy
      title: KmsType
    CVMKmsInfo:
      properties:
        chain_id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Chain Id
        dstack_kms_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Dstack Kms Address
        dstack_app_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Dstack App Address
        deployer_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Deployer Address
        rpc_endpoint:
          anyOf:
            - type: string
            - type: 'null'
          title: Rpc Endpoint
        encrypted_env_pubkey:
          anyOf:
            - type: string
            - type: 'null'
          title: Encrypted Env Pubkey
      type: object
      title: CVMKmsInfo
    CVMProgressInfo:
      properties:
        target:
          anyOf:
            - type: string
            - type: 'null'
          title: Target
        started_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Started At
        correlation_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Correlation Id
      type: object
      title: CVMProgressInfo
    CVMGatewayInfo:
      properties:
        base_domain:
          anyOf:
            - type: string
            - type: 'null'
          title: Base Domain
        cname:
          anyOf:
            - type: string
            - type: 'null'
          title: Cname
      type: object
      title: CVMGatewayInfo
    CVMLogUrls:
      properties:
        serial:
          anyOf:
            - type: string
            - type: 'null'
          title: Serial
        stdout:
          anyOf:
            - type: string
            - type: 'null'
          title: Stdout
        stderr:
          anyOf:
            - type: string
            - type: 'null'
          title: Stderr
        container_log_base:
          anyOf:
            - type: string
            - type: 'null'
          title: Container Log Base
      type: object
      title: CVMLogUrls
    CvmNetworkUrls:
      properties:
        app:
          type: string
          title: App
        instance:
          type: string
          title: Instance
      type: object
      required:
        - app
        - instance
      title: CvmNetworkUrls
      description: Model representing public URLs for a CVM port
    WorkspaceRef:
      properties:
        object_type:
          type: string
          const: workspace
          title: Object Type
          description: Fixed value 'workspace'
          default: workspace
        id:
          type: string
          pattern: ^wks_.+
          format: hashid
          title: HashedId[teams]
          description: Hashed workspace ID
          examples:
            - wks_0123abcd
        name:
          type: string
          title: Name
          description: Workspace display name
        slug:
          anyOf:
            - type: string
            - type: 'null'
          title: Slug
          description: URL-safe workspace identifier
        avatar_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Avatar Url
          description: Workspace avatar URL from profile
      type: object
      required:
        - id
        - name
      title: WorkspaceRef
      description: Minimal workspace reference for embedding in responses.
    UserRef:
      properties:
        object_type:
          type: string
          const: user
          title: Object Type
          description: Fixed value 'user'
          default: user
        id:
          anyOf:
            - type: string
              pattern: ^usr_.+
              format: hashid
              title: HashedId[users]
              description: A hashed identifier that maps to an internal database ID
              examples:
                - usr_0123abcd
            - type: 'null'
          title: Id
          description: Hashed user ID
        username:
          anyOf:
            - type: string
            - type: 'null'
          title: Username
          description: Display username
        avatar_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Avatar Url
          description: Gravatar or OAuth provider avatar URL
      type: object
      title: UserRef
      description: Minimal user reference for embedding in responses.
    BillingPeriod:
      type: string
      enum:
        - skip
        - hourly
        - monthly
      title: BillingPeriod
    TeepodStatus:
      type: string
      enum:
        - ONLINE
        - OFFLINE
        - MAINTENANCE
      title: TeepodStatus

````