---
title: "List apps"
method: GET
path: "/api/apps"
---

# List apps

`GET /api/apps`

<Info>The App Management API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the apps you can access in a given workspace. As a workspace member you get the apps you own or collaborate on. As a workspace admin you get every app in the workspace.

The workspace defaults to your personal workspace. Set `workspace_id` to list a different workspace you belong to.

Pass `fields` to receive only the properties you need.

<Warning>The response may include fields beyond the ones documented here. Don't use any undocumented fields, as they can change at any time.</Warning>

## Query parameters

- `workspace_id` string
- `fields` string
- `sort` string
- `limit` integer
- `skip` integer

## Response `200`

A list of your apps.

- AppSummary[]
  - `id` string, nullable — ID of the app.
  - `name` string, nullable — Display name of the app.
  - `slug` string, nullable — URL slug for the app, auto generated from the name and app ID or set to a custom value, or `null` if the app has no slug yet. The published URL is built from it.
  - `user_description` string, nullable — Description of the app, or `null` if none was set. On a newly created app this holds the original prompt text.
  - `created_by` string, nullable — Email of the user who created the app.
  - `created_date` string, date-time, nullable — Time the app was created.
  - `updated_date` string, date-time, nullable — Time the app document was last written.
  - `status` AppStatusResponse
    - `state` 'ready' | 'processing' | 'error', required — Where the app is in its build lifecycle. Ready means idle with no build in progress, processing means the app is being generated or modified, and error means the last build failed. This tracks building, not publishing.
    - `details` string, nullable — Human readable note about the current state, such as what is being processed or why it failed, or `null` when there is nothing to report.
    - `request_id` string, nullable — ID of the request that last changed the status, or `null` if the status has never changed. Useful when reporting an issue.
    - `last_updated_date` string, date-time, nullable — Time the status was last updated.
    - `error_source` string, nullable — Where the failure originated when the state is error, or `null` otherwise.
    - `paywall_context` PaywallStatusContextResponse
      - `billing_organization_id` string, required — ID of the billing organization the paywall was evaluated against.
      - `user_id` string, required — ID of the user the paywall was evaluated for.
      - `evaluated_at` string, date-time, required — Time the paywall condition was evaluated.
  - `last_deployed_at` string, date-time, nullable — Time the app was last published, or `null` if it has never been published.
  - `screenshot_url` string, nullable — URL of a screenshot of the published app. Captured shortly after each publish, so it can briefly lag or be `null` right after publishing.
  - `preview_screenshot_url` string, nullable — URL of a preview screenshot taken before publishing, distinct from screenshot_url, and `null` if none has been captured.

## Other responses

- `400` — `limit` is outside 1 to 10000, or `skip` is negative.
- `401` — Missing or invalid credentials.

---

[API](https://skmtc.net/idealspot/apis/base44-app-management-api.md) · [All operations](https://skmtc.net/idealspot/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/idealspot/base44-app-management-api/revisions/4620b74b36e4/schema)
