---
title: "List all applications"
method: GET
path: "/applications"
tags: ["applications"]
---

# List all applications

`GET /applications`

Returns applications deployed in the workspace. Each application includes its deployment status, runtime configuration, and endpoint URL. Starting with API version 2026-04-28 the response is wrapped in `{data, meta}` and supports cursor pagination via the `cursor` and `limit` query parameters; older versions keep returning a bare array with all applications.

## Query parameters

- `cursor` string
- `limit` integer
- `sort` 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc'
- `q` string
- `anchor` 'end'

## Response `200`

successful operation

- ApplicationList — Cursor-paginated list of applications. Returned starting with API version 2026-04-28; older API versions return a bare array of applications instead.
  - `data` Application[] — Page of applications.
    - `events` CoreEvent[] — Events happening on a resource deployed on Blaxel
      - `canaryRevision` string — Canary revisionID link to the event
      - `message` string — Event message
      - `revision` string — RevisionID link to the event
      - `status` string — Event status
      - `time` string — Event time
      - `type` string — Event type
    - `metadata` Metadata, required — Owner fields for Persistence
      - `createdAt` string — The date and time when the resource was created
      - `updatedAt` string — The date and time when the resource was updated
      - `createdBy` string — The user or service account who created the resource
      - `updatedBy` string — The user or service account who updated the resource
      - `displayName` string — Human-readable name for display in the UI. Can contain spaces and special characters, max 63 characters.
      - `externalId` string — Caller-owned identifier for external lookups. Max 64 chars, alphanumeric + dash.
      - `labels` MetadataLabels — Key-value pairs for organizing and filtering resources. Labels can be used to categorize resources by environment, project, team, or any custom taxonomy.
      - `name` string, required — Unique identifier for the resource within the workspace. Must be lowercase alphanumeric with hyphens, max 49 characters. Immutable after creation.
      - `plan` string — Billing plan tier applied to this resource (inherited from workspace account)
      - `url` string — Auto-generated endpoint URL for accessing this resource (for agents, functions, models, sandboxes)
      - `workspace` string — Name of the workspace this resource belongs to (read-only, set automatically)
    - `nodeGeneration` string — Infrastructure generation this application is deployed on (mk3.0 or mk3.1). Read-only.
    - `spec` ApplicationSpec, required — Configuration for an application including revision management, URL routing, and deployment region
      - `enabled` boolean — When false, the application is disabled and will not serve requests
      - `envs` Env[] — Environment variables for the application
        - `name` string — Name of the environment variable
        - `secret` boolean — Whether the value is a secret
        - `value` string — Value of the environment variable
      - `extensions` ApplicationExtensions — Map of experimental, opt-in application extensions keyed by fully-qualified extension name (e.g. "ai.blaxel.experimental/bind-to-sandbox").
      - `image` string — Container image for the application. The backend generates a revision from the spec-level compute (image, memory, envs, port) on every create/update — clients set the compute here, exactly like agents and functions, and never craft revisions by hand.
      - `memory` integer — Memory allocation in megabytes for the application (default 2048). Determines CPU allocation (CPU = memory / 2048).
      - `port` integer — Port the application listens on (default 8080)
      - `proxy` boolean — When true, the application proxies to an existing sandbox (the active revision image is the sandbox name) instead of building and deploying its own compute. Proxy applications have no deployment pipeline and are always reported as deployed. Deprecated — prefer the ai.blaxel.experimental/bind-to-sandbox extension.
      - `region` string — Region where the application is deployed (e.g. us-pdx-1, eu-lon-1)
      - `revision` AppRevisionConfiguration — Routing configuration controlling which revision is active and canary traffic splitting
        - `active` string — Active revision id
        - `canary` string — Canary revision id
        - `canaryPercent` integer — Canary revision percent (0-100)
        - `stickySessionTtl` integer — Sticky session TTL in seconds (0 = disabled)
        - `traffic` integer — Traffic percentage for deployment
      - `revisions` AppRevision[]
        - `createdAt` string — When this revision was created
        - `createdBy` string — Who created this revision
        - `envs` Env[] — Environment variables for this revision
          - `name` string — Name of the environment variable
          - `secret` boolean — Whether the value is a secret
          - `value` string — Value of the environment variable
        - `id` string — Unique revision identifier
        - `image` string, required — Container image for this revision (mandatory)
        - `memory` integer — Memory allocation in megabytes. Determines CPU allocation (CPU = memory / 2048).
        - `port` integer — Port the application listens on for this revision (default uses spec-level port or 8080)
        - `snapshot` string — Snapshot ID this revision was forked from (optional, only set when created via fork)
      - `urls` AppUrl[] — URL configuration for the application. Each entry defines a custom URL through which the application is accessible. The domain must be a verified custom domain in the workspace.
        - `domain` string, required — Custom domain (must be a verified custom domain in the workspace). Can be a wildcard domain (e.g. sandbox.vybe.build registered as *.sandbox.vybe.build) or a direct domain (e.g. app.vybe.build).
        - `subdomain` string — Subdomain to use with a wildcard custom domain (optional)
    - `status` string — Application status computed from events
  - `meta` PaginationMeta — Pagination metadata returned alongside a page of listing results. Always present on listing endpoints starting with API version 2026-04-28.
    - `hasMore` boolean — True when more pages are available beyond the current one.
    - `nextCursor` string — Opaque cursor to pass back as the `cursor` query param for the next page. Empty when there are no more pages.
    - `total` integer — Total number of items in the workspace, ignoring the current page's filters. Lets the UI render "page X of Y" without walking the cursor chain. Computed from the hash-only metadata.workspace GSI count, so search (`q`) does not narrow it.

## Other responses

- `401` — Unauthorized - Invalid or missing authentication credentials
- `403` — Forbidden - Insufficient permissions to list applications
- `500` — Internal server error

---

[API](https://skmtc.net/blaxel/apis/blaxel-control-plane.md) · [All operations](https://skmtc.net/blaxel/apis/blaxel-control-plane/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/blaxel/blaxel-control-plane/revisions/dfa264bc72ee/schema)
