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

# Get analytics user stats

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns how many of the app's users are active, live, and inactive, for an at-a-glance dashboard.

A user counts once, in the bucket its most recent event falls into: `active_users` for the last 7 days, `inactive_7d` for 7 to 30 days ago, and `inactive_30d` for longer ago than that. Base44 keeps analytics events for 60 days, so `inactive_30d` covers 30 to 60 days and a user who has been away longer drops out of the counts entirely.

`live_users` is counted separately, from the app's heartbeats rather than its events, and covers the last 2 minutes.

Only users the app attributes its events to are counted. Events the app tracks without a user are not.

<Note>Each counter reports `0` when Base44 cannot read it, with a `200`, so treat a sudden drop to zero as a possible read failure rather than a real one.</Note>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/analytics/stats/users
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/{app_id}/analytics/stats/users:
    get:
      summary: Get analytics user stats
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns how many of the app's users are active, live, and inactive, for
        an at-a-glance dashboard.


        A user counts once, in the bucket its most recent event falls into:
        `active_users` for the last 7 days, `inactive_7d` for 7 to 30 days ago,
        and `inactive_30d` for longer ago than that. Base44 keeps analytics
        events for 60 days, so `inactive_30d` covers 30 to 60 days and a user
        who has been away longer drops out of the counts entirely.


        `live_users` is counted separately, from the app's heartbeats rather
        than its events, and covers the last 2 minutes.


        Only users the app attributes its events to are counted. Events the app
        tracks without a user are not.


        <Note>Each counter reports `0` when Base44 cannot read it, with a `200`,
        so treat a sudden drop to zero as a possible read failure rather than a
        real one.</Note>
      operationId: get_user_stats_api_apps__app_id__analytics_stats_users_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose analytics to read.
            title: App Id
          description: ID of the app whose analytics to read.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The app's user counts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserStatsResponse'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: You don't have access to this app.
        '404':
          description: App not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    UserStatsResponse:
      properties:
        active_users:
          type: integer
          title: Active Users
          description: Users whose most recent event was in the last 7 days.
          default: 0
          example: 126
        live_users:
          type: integer
          title: Live Users
          description: Users seen in the app in the last 2 minutes.
          default: 0
          example: 3
        inactive_7d:
          type: integer
          title: Inactive 7D
          description: Users whose most recent event was between 7 and 30 days ago.
          default: 0
          example: 88
        inactive_30d:
          type: integer
          title: Inactive 30D
          description: Users whose most recent event was more than 30 days ago.
          default: 0
          example: 41
      type: object
      title: UserStatsResponse
      description: User statistics for dashboards.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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: Personal API key.

````