> ## 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 user apps

> Returns a list of app IDs for apps created by the specified user.

    You can get `user_id` values from [`List users`](/api-reference/users/list-users) if needed.

    You can use the returned `app_id` values to call [`Get app analytics`](/api-reference/apps/get-app-analytics) for detailed app information.

    Optional filters and sorts mirror the workspace-wide [`List apps`](/api-reference/apps/list-apps) endpoint while preserving the compact `app_ids` response.
    
    Results are paginated. Check `has_more` in the response and use the returned `cursor` to fetch additional pages.



## OpenAPI

````yaml /developers/references/monitoring-api/monitoring-openapi.json get /{workspace_id}/users/{user_id}/apps
openapi: 3.1.0
info:
  title: Base44 Workspace Monitoring API
  description: |2-

        Workspace monitoring and analytics API.
        
        Access usage analytics, user engagement metrics, and governance data for your workspace.
        
        **Features:**
        - Workspace-level analytics and KPIs
        - User activity tracking and credit consumption
        - app engagement metrics and security governance
        
        **Authentication:** Required for all endpoints (admin or owner role)
        
        Use the 🔒 **Authorize** button above to enter your API key.
        
        **Rate Limits:**
        - Analytics endpoints: 50 requests per minute per user
        - User list: 50 requests per minute per user
        - User detail: 75 requests per minute per user
        - User apps: 50 requests per minute per user
        - App list: 50 requests per minute per user
        - App analytics: 50 requests per minute per user
        
        Enterprise workspaces get 2x these limits.
        
        Rate limits are applied per authenticated user and enforced using token-bucket algorithm.
        
  version: 1.2.1
servers:
  - url: https://app.base44.com/api/v1/monitoring
    description: Monitoring API
security:
  - ApiKeyAuth: []
tags:
  - name: analytics
    description: >-
      Workspace-level analytics and KPIs including usage, engagement, and cost
      metrics.
  - name: users
    description: User management, activity tracking, and credit consumption data.
  - name: apps
    description: App-level analytics, engagement metrics, and governance flags.
  - name: superagents
    description: Super Agent inventory and analytics.
paths:
  /{workspace_id}/users/{user_id}/apps:
    get:
      tags:
        - users
      summary: List user apps
      description: |-
        Returns a list of app IDs for apps created by the specified user.

            You can get `user_id` values from [`List users`](/api-reference/users/list-users) if needed.

            You can use the returned `app_id` values to call [`Get app analytics`](/api-reference/apps/get-app-analytics) for detailed app information.

            Optional filters and sorts mirror the workspace-wide [`List apps`](/api-reference/apps/list-apps) endpoint while preserving the compact `app_ids` response.
            
            Results are paginated. Check `has_more` in the response and use the returned `cursor` to fetch additional pages.
      operationId: get_user_apps__workspace_id__users__user_id__apps_get
      parameters:
        - name: workspace_id
          in: path
          required: true
          schema:
            type: string
            title: Workspace Id
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            description: User ID.
            title: User Id
          description: User ID.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 50
            minimum: 1
            description: Items per page. Max 50.
            default: 50
            title: Limit
          description: Items per page. Max 50.
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Pagination cursor from previous response.
            title: Cursor
          description: Pagination cursor from previous response.
        - name: from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Start date in `YYYY-MM-DD` format for credit-consuming sort
              fields. Required if `to` is provided. Defaults to billing period
              start.
            title: From
          description: >-
            Start date in `YYYY-MM-DD` format for credit-consuming sort fields.
            Required if `to` is provided. Defaults to billing period start.
          example: '2026-06-01'
        - name: to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              End date in `YYYY-MM-DD` format for credit-consuming sort fields.
              Required if `from` is provided. Defaults to current date.
            title: To
          description: >-
            End date in `YYYY-MM-DD` format for credit-consuming sort fields.
            Required if `from` is provided. Defaults to current date.
          example: '2026-06-30'
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Sort field. Prefix with `-` for descending. Supported fields:
              app_name, created_at, created_by_email, owner_user_id,
              last_published, is_published, views_last_30d,
              active_users_last_30d, message_credits_consumed,
              integration_credits_consumed, total_credits_consumed.
            title: Sort
          description: >-
            Sort field. Prefix with `-` for descending. Supported fields:
            app_name, created_at, created_by_email, owner_user_id,
            last_published, is_published, views_last_30d, active_users_last_30d,
            message_credits_consumed, integration_credits_consumed,
            total_credits_consumed.
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                maxLength: 100
              - type: 'null'
            description: Case-insensitive search over app name and creator email.
            title: Search
          description: Case-insensitive search over app name and creator email.
        - name: is_published
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: Filter to published (`true`) or unpublished (`false`) apps.
            title: Is Published
          description: Filter to published (`true`) or unpublished (`false`) apps.
        - name: visibility
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by app visibility. Accepts private, workspace,
              public_with_login, public_without_login, or public.
            title: Visibility
          description: >-
            Filter by app visibility. Accepts private, workspace,
            public_with_login, public_without_login, or public.
        - name: active
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: >-
              Filter to apps with (`true`) or without (`false`) views in the
              last 30 days.
            title: Active
          description: >-
            Filter to apps with (`true`) or without (`false`) views in the last
            30 days.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsUserAppsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AnalyticsUserAppsResponse:
      properties:
        app_ids:
          items:
            type: string
          type: array
          title: App Ids
          description: List of app IDs.
        pagination:
          $ref: '#/components/schemas/PaginationMetadata'
          description: Pagination metadata.
      type: object
      required:
        - app_ids
        - pagination
      title: AnalyticsUserAppsResponse
      description: Simplified user apps response - returns app IDs only.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PaginationMetadata:
      properties:
        total:
          type: integer
          title: Total
          description: Total number of items.
          example: 156
        limit:
          type: integer
          title: Limit
          description: Number of items per page.
          example: 50
        next_cursor:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Cursor
          description: >-
            Cursor for fetching the next page. The value is `null` if there are
            no more pages.
          example: eyJsYXN0X2lkIjoiMTIzIn0=
        has_more:
          type: boolean
          title: Has More
          description: Whether there are more items to fetch.
          example: true
      type: object
      required:
        - total
        - limit
        - has_more
      title: PaginationMetadata
      description: Metadata for paginated responses
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: >-
        API key for authentication. See the Authentication page for your API for
        details on how to get your key.

````