---
title: "Get a project"
method: GET
path: "/v1/apps/{appId}"
tags: ["Projects"]
deprecated: true
---

# Get a project

`GET /v1/apps/{appId}`

## Request

- Base URL: `https://api.spice.ai`
- URL: `https://api.spice.ai/v1/apps/{appId}`
- Auth: HTTP bearer

> **Deprecated.**

Legacy alias of `/v1/projects/{projectId}`. Projects were previously called apps. Returns details for a specific project, including its configuration.

## Path parameters

- `appId` integer, required

## Headers

- `X-Org-Name` string

## Response `200`

Project details with configuration

- object
  - `id` integer
  - `name` string
  - `kind` 'managed' | 'standalone' | 'byoc': Resolved project hosting model
  - `description` string
  - `visibility` 'public' | 'private'
  - `created_at` string, date-time
  - `cluster_name` string, nullable: Resolved dedicated cluster name; null for projects not assigned to a dedicated cluster.
  - `endpoint` string, nullable: The data-plane endpoint the project connects to, or null before a standalone instance is attached.
  - `production_branch` string
  - `api_key` string: Deprecated. Use the API Keys endpoints instead.
  - `tags` object
  - `forked_from` object, nullable: The project this project was forked from, while that project is live in the same organization. Null for a project that was not created as a fork.
    - `id` integer, required: ID of the source project
    - `name` string, required: Name of the source project
  - `paused_at` string, date-time, nullable: Timestamp when the project was paused; null while running
  - `config` object
    - `spicepod` object
    - `image_tag` string: Runtime image tag
    - `update_channel` 'stable' | 'preview' | 'nightly' | 'null', nullable: Update channel for the runtime, or null when Spice operates this project's runtime updates.
    - `version` string: Semver range for the runtime version (e.g. 1.x, 2.x)
    - `replicas` integer
    - `resources` object, nullable: Resource requests and limits for the project container
      - `limits` object
        - `cpu` string: Whole-number vCPU limit, or '-' for no CPU limit
        - `memory` string: Memory limit in Gi (for example, 16Gi)
        - `ephemeral-storage` string
      - `requests` object
        - `cpu` string: CPU request. Minimum 100 millicores (for example, 100m or 0.1).
    - `executor` object, nullable: Executor container configuration
      - `replicas` integer: Number of executor replicas
      - `resources` object: Resource requests and limits for the executor container
        - `limits` object
          - `cpu` string: Whole-number vCPU limit, or '-' for no CPU limit
          - `memory` string: Memory limit in Gi (for example, 16Gi)
          - `ephemeral-storage` string
        - `requests` object
          - `cpu` string: CPU request. Minimum 100 millicores (for example, 100m or 0.1).
      - `storage_size_gb` number, nullable
    - `region` string, nullable: Server-resolved region; null before a standalone instance is attached.
    - `storage_size_gb` number, nullable
    - `storage_claim_size_gb` number: Deprecated. Use storage_size_gb instead.

## Other responses

- `401`: Unauthorized
- `403`: Insufficient scope
- `404`: Project not found
- `500`: Internal server error

---

[API](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api.md) - [All operations](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api/revisions/5f3b75dd847d?raw)
