---
title: "List Apps"
method: GET
path: "/apps/"
tags: ["apps"]
---

# List Apps

`GET /apps/`

List available apps with filtering options.

Apps are curated, runnable applications built on top of flows. Each app exposes a
set of configured inputs and produces one or more outputs, and can be executed
directly via `POST /app-runs`.

**Filtering Options:**
- `visibility`: Filter apps by their visibility status (can be provided multiple times)
   Options include:
    - private: Only visible to the creator
    - workspace: Visible to everyone in the creator's organization
    - shared: Visible via a shared link
    - public: Visible to everyone
   By default, all apps accessible to the caller are returned.
- `search`: Search apps by name or description (case-insensitive)

**Pagination Parameters:**
- `limit`: Maximum number of items to return (default: 20, max: 100)
- `cursor`: Cursor for pagination (optional)

**Response:**
- `data`: List of app summaries with basic information including expected inputs
- `has_more`: Indicates if there are more results available
- `next_cursor`: Cursor for the next page of results

**Use Case:** This is typically the first endpoint called to discover available apps
before getting detailed information or executing them.

## Query parameters

- `visibility` FlowApplicationVisibility[], nullable
- `search` string, nullable — Search apps by name or description
- `limit` integer — Maximum number of items to return
- `cursor` string, nullable — Cursor for pagination (from next_cursor)

## Headers

- `X-Organization-Id` string, nullable — Active organization ID for multi-org support

## Response `200`

Successful Response

- CursorPaginatedResponseAppSummary
  - `data` AppSummary[], required
    - `id` string, uuid, required — Stable app identifier
    - `name` string, required — App display name
    - `description` string, required — App description and purpose
    - `avatar_url` string, nullable — Public CDN URL for the app thumbnail image
    - `visibility` 'private' | 'workspace' | 'shared' | 'public', required — Visibility levels for flow applications.
    - `estimated_cost` integer, required — Estimated credit cost per execution
    - `inputs` AppInput[] — Required inputs for this app
      - `id` string, required — Node ID to use when providing this input
      - `type` 'text' | 'image' | 'video' | 'audio' | 'brand' | 'file', required — Types of inputs an app can accept from a caller.
      - `name` string, required — Display name of this input
      - `required` boolean, required — Whether this input is mandatory
      - `options` string[], nullable — Allowed values when the input is a fixed set: label strings for text inputs, asset IDs for media inputs
      - `min_selections` integer, nullable — Minimum number of values the caller must provide for this input
      - `max_selections` integer, nullable — Maximum number of values the caller may provide for this input
  - `has_more` boolean, required
  - `next_cursor` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/pletor/apis/pletor-public-api.md) · [All operations](https://skmtc.dev/pletor/apis/pletor-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pletor/pletor-public-api/revisions/e5c350c02ffb/schema)
