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

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



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - ApiKeyAuth: []
paths:
  /api/apps:
    get:
      summary: List apps
      description: >-
        <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>
      operationId: api_list_api_apps_get
      parameters:
        - description: >-
            ID of the workspace to list apps from. Omit to use your personal
            workspace. You must be a member of the workspace you request. Each
            request lists the apps in a single workspace.
          example: 6820f3a4e7b91d003c45a1f2
          in: query
          name: workspace_id
          required: false
          schema:
            type: string
        - description: >-
            Comma-separated list of fields to return. For example,
            `id,name,slug,status`. Omit to receive the full app document.
          example: id,name,slug,status
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: >-
            Single field to sort by, prefixed with `-` for descending. For
            example, `-created_date` returns newest first.
          example: '-created_date'
          in: query
          name: sort
          required: false
          schema:
            type: string
        - description: >-
            Maximum number of apps to return. Omit to return all the apps you
            can access.
          example: 50
          in: query
          name: limit
          required: false
          schema:
            maximum: 10000
            minimum: 1
            type: integer
        - description: >-
            Number of apps to skip before the page starts. Combine with `limit`
            to page through results.
          example: 0
          in: query
          name: skip
          required: false
          schema:
            minimum: 0
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AppSummary'
                title: Apps
                type: array
          description: A list of your apps.
        '400':
          description: '`limit` is outside 1 to 10000, or `skip` is negative.'
        '401':
          description: Missing or invalid credentials.
components:
  schemas:
    AppSummary:
      properties:
        created_by:
          anyOf:
            - type: string
            - type: 'null'
          description: Email of the user who created the app.
          example: developer@example.com
          title: Created By
        created_date:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Time the app was created.
          example: '2026-08-01T09:15:00'
          title: Created Date
        id:
          anyOf:
            - type: string
            - type: 'null'
          description: ID of the app.
          example: 6820f3a4e7b91d003c45a1f2
          title: Id
        last_deployed_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: >-
            Time the app was last published, or `null` if it has never been
            published.
          example: '2026-08-02T14:30:00'
          title: Last Deployed At
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: Display name of the app.
          example: My CRM
          title: Name
        preview_screenshot_url:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            URL of a preview screenshot taken before publishing, distinct from
            screenshot_url, and `null` if none has been captured.
          example: https://storage.base44.com/previews/6820f3a4e7b91d003c45a1f2.png
          title: Preview Screenshot Url
        screenshot_url:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            URL of a screenshot of the published app. Captured shortly after
            each publish, so it can briefly lag or be `null` right after
            publishing.
          example: https://storage.base44.com/screenshots/6820f3a4e7b91d003c45a1f2.png
          title: Screenshot Url
        slug:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            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.
          example: my-crm-3c45a1f2
          title: Slug
        status:
          anyOf:
            - $ref: '#/components/schemas/AppStatusResponse'
            - type: 'null'
          description: >-
            The app's current build status. Poll while a build is in progress to
            watch it finish. This tracks building, not publishing.
        updated_date:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Time the app document was last written.
          example: '2026-08-02T14:30:00'
          title: Updated Date
        user_description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Description of the app, or `null` if none was set. On a newly
            created app this holds the original prompt text.
          example: A CRM to track leads and deals
          title: User Description
      title: AppSummary
      type: object
    AppStatusResponse:
      properties:
        details:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            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.
          example: Publishing app
          title: Details
        error_source:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Where the failure originated when the state is error, or `null`
            otherwise.
          example: build
          title: Error Source
        last_updated_date:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Time the status was last updated.
          example: '2026-08-02T14:30:00'
          title: Last Updated Date
        paywall_context:
          anyOf:
            - $ref: '#/components/schemas/PaywallStatusContextResponse'
            - type: 'null'
          description: >-
            Present when the operation was blocked by a plan limit, describing
            what was evaluated, or `null` otherwise.
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            ID of the request that last changed the status, or `null` if the
            status has never changed. Useful when reporting an issue.
          example: a1b2c3d4e5f67890abcdef12
          title: Request Id
        state:
          description: >-
            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.
          enum:
            - ready
            - processing
            - error
          example: ready
          title: State
          type: string
      required:
        - state
      title: AppStatusResponse
      type: object
    PaywallStatusContextResponse:
      properties:
        billing_organization_id:
          description: ID of the billing organization the paywall was evaluated against.
          example: 6820f3a4e7b91d003c45a1f2
          title: Billing Organization Id
          type: string
        evaluated_at:
          description: Time the paywall condition was evaluated.
          example: '2026-08-02T14:30:00'
          format: date-time
          title: Evaluated At
          type: string
        user_id:
          description: ID of the user the paywall was evaluated for.
          example: 6820f3a4e7b91d003c45a1f3
          title: User Id
          type: string
      required:
        - billing_organization_id
        - user_id
        - evaluated_at
      title: PaywallStatusContextResponse
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: Personal API key.
      in: header
      name: api_key
      type: apiKey

````