> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blaxel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List all 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.



## OpenAPI

````yaml /api-reference/controlplane.yml get /applications
openapi: 3.0.3
info:
  title: Blaxel Control Plane
  version: 0.0.1
servers:
  - description: Blaxel Control Plane
    url: https://api.blaxel.ai/v0
  - description: Blaxel Inference
    url: https://run.blaxel.ai
security:
  - OAuth2:
      - admin
  - ApiKeyAuth: []
paths:
  /applications:
    get:
      tags:
        - applications
      summary: List all applications
      description: >-
        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.
      operationId: ListApplications
      parameters:
        - $ref: '#/components/parameters/PaginationCursor'
        - $ref: '#/components/parameters/PaginationLimit'
        - $ref: '#/components/parameters/PaginationSort'
        - $ref: '#/components/parameters/PaginationQuery'
        - $ref: '#/components/parameters/PaginationAnchor'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationList'
          description: successful operation
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized - Invalid or missing authentication credentials
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden - Insufficient permissions to list applications
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
      security:
        - OAuth2:
            - applications:list
        - ApiKeyAuth: []
components:
  parameters:
    PaginationCursor:
      description: >-
        Opaque cursor returned by a previous response's meta.nextCursor. Only
        valid for the same query (workspace + filters); the server rejects
        cursors bound to a different query or older than 24h. Omit on the first
        page.
      in: query
      name: cursor
      required: false
      schema:
        type: string
      x-stainless-pagination-property:
        purpose: next_cursor_param
    PaginationLimit:
      description: >-
        Maximum number of items to return per page. Defaults to 50, clamped to
        200.
      in: query
      name: limit
      required: false
      schema:
        default: 50
        maximum: 200
        minimum: 1
        type: integer
    PaginationSort:
      description: >-
        Sort spec, formatted as `<key>:<direction>`. Allowed values are
        `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`.
        The cursor fingerprint is bound to the sort, so a cursor opened with one
        value cannot be reused with another. Only honoured starting on
        Blaxel-Version 2026-04-28.
      in: query
      name: sort
      required: false
      schema:
        enum:
          - createdAt:desc
          - createdAt:asc
          - name:asc
          - name:desc
        type: string
    PaginationQuery:
      description: >-
        Substring search across `metadata.name`, `metadata.displayName` and
        labels (keys + values). Trimmed and lowercased server-side; queries
        shorter than 2 characters fall back to the unfiltered listing. Bound
        into the cursor fingerprint so a cursor opened with one query cannot be
        reused with another. Only honoured starting on Blaxel-Version
        2026-04-28.
      in: query
      name: q
      required: false
      schema:
        maxLength: 200
        type: string
    PaginationAnchor:
      description: >-
        Start from a known pagination boundary. `end` is only supported for
        `createdAt` listings (asc or desc) and returns the tail page directly
        without walking every cursor from the first page.
      in: query
      name: anchor
      required: false
      schema:
        enum:
          - end
        type: string
  schemas:
    ApplicationList:
      type: object
      description: >-
        Cursor-paginated list of applications. Returned starting with API
        version 2026-04-28; older API versions return a bare array of
        applications instead.
      properties:
        data:
          type: array
          description: Page of applications.
          items:
            $ref: '#/components/schemas/Application'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    Error:
      type: object
      description: Standard error response returned by the API when a request fails
      properties:
        code:
          type: integer
          description: HTTP status code of the error
          example: 409
        error:
          type: string
          description: Error type or code identifying the kind of error
          example: Resource already exists
        message:
          type: string
          description: Human-readable error message describing what went wrong
          example: Invalid request body
      required:
        - error
    Application:
      type: object
      description: >-
        Long-running application deployment that runs your custom code as a
        publicly accessible endpoint. Applications are always public and use mk3
        generation.
      properties:
        events:
          $ref: '#/components/schemas/CoreEvents'
        metadata:
          $ref: '#/components/schemas/Metadata'
        nodeGeneration:
          type: string
          description: >-
            Infrastructure generation this application is deployed on (mk3.0 or
            mk3.1). Read-only.
        spec:
          $ref: '#/components/schemas/ApplicationSpec'
        status:
          type: string
          description: Application status computed from events
          readOnly: true
      required:
        - metadata
        - spec
    PaginationMeta:
      type: object
      description: >-
        Pagination metadata returned alongside a page of listing results. Always
        present on listing endpoints starting with API version 2026-04-28.
      properties:
        hasMore:
          type: boolean
          description: True when more pages are available beyond the current one.
        nextCursor:
          type: string
          description: >-
            Opaque cursor to pass back as the `cursor` query param for the next
            page. Empty when there are no more pages.
        total:
          type: integer
          description: >-
            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.
    CoreEvents:
      type: array
      description: Events happening on a resource deployed on Blaxel
      items:
        $ref: '#/components/schemas/CoreEvent'
      readOnly: true
    Metadata:
      type: object
      description: >-
        Common metadata fields shared by all Blaxel resources including name,
        labels, timestamps, and ownership information
      allOf:
        - $ref: '#/components/schemas/TimeFields'
        - $ref: '#/components/schemas/OwnerFields'
        - properties:
            displayName:
              type: string
              description: >-
                Human-readable name for display in the UI. Can contain spaces
                and special characters, max 63 characters.
              example: My Resource
            externalId:
              type: string
              description: >-
                Caller-owned identifier for external lookups. Max 64 chars,
                alphanumeric + dash.
              example: my-session-123
            labels:
              $ref: '#/components/schemas/MetadataLabels'
            name:
              type: string
              description: >-
                Unique identifier for the resource within the workspace. Must be
                lowercase alphanumeric with hyphens, max 49 characters.
                Immutable after creation.
              example: my-resource
            plan:
              type: string
              description: >-
                Billing plan tier applied to this resource (inherited from
                workspace account)
              readOnly: true
            url:
              type: string
              description: >-
                Auto-generated endpoint URL for accessing this resource (for
                agents, functions, models, sandboxes)
              readOnly: true
            workspace:
              type: string
              description: >-
                Name of the workspace this resource belongs to (read-only, set
                automatically)
              readOnly: true
          required:
            - name
    ApplicationSpec:
      type: object
      description: >-
        Configuration for an application including revision management, URL
        routing, and deployment region
      properties:
        enabled:
          type: boolean
          description: When false, the application is disabled and will not serve requests
          example: true
          default: true
        envs:
          type: array
          description: Environment variables for the application
          items:
            $ref: '#/components/schemas/Env'
        extensions:
          $ref: '#/components/schemas/ApplicationExtensions'
        image:
          type: string
          description: >-
            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.
          example: my-registry/my-app:latest
        memory:
          type: integer
          description: >-
            Memory allocation in megabytes for the application (default 2048).
            Determines CPU allocation (CPU = memory / 2048).
          example: 2048
        port:
          type: integer
          description: Port the application listens on (default 8080)
          example: 8080
        proxy:
          type: boolean
          description: >-
            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.
          example: false
          default: false
        region:
          type: string
          description: Region where the application is deployed (e.g. us-pdx-1, eu-lon-1)
          example: us-pdx-1
        revision:
          $ref: '#/components/schemas/AppRevisionConfiguration'
        revisions:
          $ref: '#/components/schemas/AppRevisions'
        urls:
          $ref: '#/components/schemas/AppUrls'
    CoreEvent:
      type: object
      description: Core event
      properties:
        canaryRevision:
          type: string
          description: Canary revisionID link to the event
        message:
          type: string
          description: Event message
          example: Deployment successful
        revision:
          type: string
          description: RevisionID link to the event
          example: rev-abc123
        status:
          type: string
          description: Event status
          example: DEPLOYED
        time:
          type: string
          description: Event time
          example: '2025-01-15T10:30:00Z'
        type:
          type: string
          description: Event type
          example: deployment
      readOnly: true
    TimeFields:
      type: object
      description: Time fields for Persistence
      properties:
        createdAt:
          type: string
          description: The date and time when the resource was created
          readOnly: true
        updatedAt:
          type: string
          description: The date and time when the resource was updated
          readOnly: true
    OwnerFields:
      type: object
      description: Owner fields for Persistence
      properties:
        createdBy:
          type: string
          description: The user or service account who created the resource
          readOnly: true
        updatedBy:
          type: string
          description: The user or service account who updated the resource
          readOnly: true
    MetadataLabels:
      type: object
      description: >-
        Key-value pairs for organizing and filtering resources. Labels can be
        used to categorize resources by environment, project, team, or any
        custom taxonomy.
      additionalProperties:
        type: string
    Env:
      type: object
      description: Environment variable with name and value
      properties:
        name:
          type: string
          description: Name of the environment variable
          example: MY_ENV_VAR
        secret:
          type: boolean
          description: Whether the value is a secret
          example: true
        value:
          type: string
          description: Value of the environment variable
          example: my-value
    ApplicationExtensions:
      type: object
      description: >-
        Map of experimental, opt-in application extensions keyed by
        fully-qualified extension name (e.g.
        "ai.blaxel.experimental/bind-to-sandbox").
      additionalProperties:
        $ref: '#/components/schemas/ApplicationExtension'
    AppRevisionConfiguration:
      type: object
      description: >-
        Routing configuration controlling which revision is active and canary
        traffic splitting
      properties:
        active:
          type: string
          description: Active revision id
        canary:
          type: string
          description: Canary revision id
        canaryPercent:
          type: integer
          description: Canary revision percent (0-100)
          example: 10
        stickySessionTtl:
          type: integer
          description: Sticky session TTL in seconds (0 = disabled)
          example: 0
        traffic:
          type: integer
          description: Traffic percentage for deployment
          example: 100
    AppRevisions:
      type: array
      items:
        $ref: '#/components/schemas/AppRevision'
    AppUrls:
      type: array
      description: >-
        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.
      items:
        $ref: '#/components/schemas/AppUrl'
    ApplicationExtension:
      type: object
      description: >-
        Configuration for a single application extension. The fields used depend
        on the extension key; for ai.blaxel.experimental/bind-to-sandbox only
        "sandbox" is used.
      properties:
        sandbox:
          type: string
          description: >-
            Name of the sandbox this application binds to (used by the
            ai.blaxel.experimental/bind-to-sandbox extension).
          example: my-sandbox
    AppRevision:
      type: object
      description: >-
        A single application revision containing the deployed image and
        configuration
      properties:
        createdAt:
          type: string
          description: When this revision was created
        createdBy:
          type: string
          description: Who created this revision
        envs:
          type: array
          description: Environment variables for this revision
          items:
            $ref: '#/components/schemas/Env'
        id:
          type: string
          description: Unique revision identifier
        image:
          type: string
          description: Container image for this revision (mandatory)
        memory:
          type: integer
          description: >-
            Memory allocation in megabytes. Determines CPU allocation (CPU =
            memory / 2048).
          example: 2048
        port:
          type: integer
          description: >-
            Port the application listens on for this revision (default uses
            spec-level port or 8080)
          example: 8080
        snapshot:
          type: string
          description: >-
            Snapshot ID this revision was forked from (optional, only set when
            created via fork)
      required:
        - image
    AppUrl:
      type: object
      description: >-
        A single URL entry for the application. If the domain is a wildcard
        custom domain (e.g. *.sandbox.vybe.build), use subdomain to pick a
        specific subdomain. If the domain is a direct custom domain (e.g.
        app.vybe.build), subdomain is not needed.
      properties:
        domain:
          type: string
          description: >-
            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).
          example: app.example.com
        subdomain:
          type: string
          description: Subdomain to use with a wildcard custom domain (optional)
          example: www
      required:
        - domain
  securitySchemes:
    OAuth2:
      description: OAuth2 authentication with JWT tokens
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          scopes:
            admin: Administrative access
            agents:create: Create agents
            agents:delete: Delete agents
            agents:get: Get agent details
            agents:list: List agents
            agents:update: Update agents
            apiKey:list: List API keys
            apiKey:write: Create and delete API keys
            applications:create: Create applications
            applications:delete: Delete applications
            applications:get: Get application details
            applications:list: List applications
            applications:update: Update applications
            configurations:list: List configurations
            customdomains:create: Create custom domains
            customdomains:delete: Delete custom domains
            customdomains:get: Get custom domain details
            customdomains:list: List custom domains
            customdomains:update: Update custom domains
            functions:create: Create functions
            functions:delete: Delete functions
            functions:get: Get function details
            functions:list: List functions
            functions:update: Update functions
            integrations:create: Create integrations
            integrations:list: List integrations
            invitations:list: List invitations
            jobs:create: Create jobs
            jobs:delete: Delete jobs
            jobs:get: Get job details
            jobs:list: List jobs
            jobs:update: Update jobs
            locations:list: List locations
            mcphub:list: List MCP hub resources
            models:create: Create models
            models:delete: Delete models
            models:get: Get model details
            models:list: List models
            models:update: Update models
            policies:create: Create policies
            policies:delete: Delete policies
            policies:get: Get policy details
            policies:list: List policies
            policies:update: Update policies
            sandboxes:control: Control sandbox operations
            sandboxes:create: Create sandboxes
            sandboxes:delete: Delete sandboxes
            sandboxes:get: Get sandbox details
            sandboxes:list: List sandboxes
            sandboxes:update: Update sandboxes
            sandboxhub:list: List sandbox hub resources
            templates:get: Get template details
            templates:list: List templates
            volumeTemplates:create: Create volume templates
            volumeTemplates:delete: Delete volume templates
            volumeTemplates:get: Get volume template details
            volumeTemplates:list: List volume templates
            volumeTemplates:upsert: Create or update volume templates
            volumes:create: Create volumes
            volumes:delete: Delete volumes
            volumes:get: Get volume details
            volumes:list: List volumes
            workspaces:accept: Accept workspace invitation
            workspaces:create: Create workspaces
            workspaces:decline: Decline workspace invitation
            workspaces:delete: Delete workspaces
            workspaces:get: Get workspace details
            workspaces:invite: Invite users to workspace
            workspaces:leave: Leave workspace
            workspaces:list: List workspaces
            workspaces:remove: Remove users from workspace
            workspaces:update: Update workspaces
          tokenUrl: /oauth/token
        clientCredentials:
          scopes:
            admin: Administrative access
            agents:create: Create agents
            agents:delete: Delete agents
            agents:get: Get agent details
            agents:list: List agents
            agents:update: Update agents
            apiKey:list: List API keys
            apiKey:write: Create and delete API keys
            applications:create: Create applications
            applications:delete: Delete applications
            applications:get: Get application details
            applications:list: List applications
            applications:update: Update applications
            configurations:list: List configurations
            customdomains:create: Create custom domains
            customdomains:delete: Delete custom domains
            customdomains:get: Get custom domain details
            customdomains:list: List custom domains
            customdomains:update: Update custom domains
            functions:create: Create functions
            functions:delete: Delete functions
            functions:get: Get function details
            functions:list: List functions
            functions:update: Update functions
            integrations:create: Create integrations
            integrations:list: List integrations
            invitations:list: List invitations
            jobs:create: Create jobs
            jobs:delete: Delete jobs
            jobs:get: Get job details
            jobs:list: List jobs
            jobs:update: Update jobs
            locations:list: List locations
            mcphub:list: List MCP hub resources
            models:create: Create models
            models:delete: Delete models
            models:get: Get model details
            models:list: List models
            models:update: Update models
            policies:create: Create policies
            policies:delete: Delete policies
            policies:get: Get policy details
            policies:list: List policies
            policies:update: Update policies
            sandboxes:control: Control sandbox operations
            sandboxes:create: Create sandboxes
            sandboxes:delete: Delete sandboxes
            sandboxes:get: Get sandbox details
            sandboxes:list: List sandboxes
            sandboxes:update: Update sandboxes
            sandboxhub:list: List sandbox hub resources
            templates:get: Get template details
            templates:list: List templates
            volumeTemplates:create: Create volume templates
            volumeTemplates:delete: Delete volume templates
            volumeTemplates:get: Get volume template details
            volumeTemplates:list: List volume templates
            volumeTemplates:upsert: Create or update volume templates
            volumes:create: Create volumes
            volumes:delete: Delete volumes
            volumes:get: Get volume details
            volumes:list: List volumes
            workspaces:accept: Accept workspace invitation
            workspaces:create: Create workspaces
            workspaces:decline: Decline workspace invitation
            workspaces:delete: Delete workspaces
            workspaces:get: Get workspace details
            workspaces:invite: Invite users to workspace
            workspaces:leave: Leave workspace
            workspaces:list: List workspaces
            workspaces:remove: Remove users from workspace
            workspaces:update: Update workspaces
          tokenUrl: /oauth/token
      type: oauth2
    ApiKeyAuth:
      bearerFormat: API Key
      description: Long-lived API key for programmatic access
      scheme: bearer
      type: http

````