---
title: "List projects"
method: GET
path: "/v1/apps"
tags: ["Projects"]
deprecated: true
---

# List projects

`GET /v1/apps`

## Request

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

> **Deprecated.**

Legacy alias of `/v1/projects`. Projects were previously called apps. Returns projects belonging to the authenticated organization. Page with `limit` (default 1000, max 1000). Prefer `after_id` for a stable keyset (descending `id`). `offset` is accepted for compatibility. PostgREST also caps a page at 1000 rows.

## Query parameters

- `limit` integer
- `offset` integer
- `after_id` integer

## Headers

- `X-Org-Name` string

## Response `200`

List of projects

- object
  - `apps` Project[]
    - `id` integer: Unique identifier for the project
    - `name` string: Name of the project
    - `kind` 'managed' | 'standalone' | 'byoc': Resolved project hosting model
    - `description` string, nullable: Description of the project
    - `visibility` 'public' | 'private': Visibility setting for the project
    - `created_at` string, date-time: Timestamp when the project was created
    - `cname` string, nullable: Region identifier
    - `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.
    - `tags` object, nullable: Key-value tags for the project

## Other responses

- `400`: Invalid limit, offset, or after_id
- `401`: Unauthorized
- `403`: Insufficient scope

---

[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)
