Skip to main content
GET
/
{workspace_id}
/
apps
/
{app_id}
/
analytics
Get app analytics
curl --request GET \
  --url https://app.base44.com/api/v1/monitoring/{workspace_id}/apps/{app_id}/analytics \
  --header 'api_key: <api-key>'
import requests

url = "https://app.base44.com/api/v1/monitoring/{workspace_id}/apps/{app_id}/analytics"

headers = {"api_key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {api_key: '<api-key>'}};

fetch('https://app.base44.com/api/v1/monitoring/{workspace_id}/apps/{app_id}/analytics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://app.base44.com/api/v1/monitoring/{workspace_id}/apps/{app_id}/analytics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"api_key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://app.base44.com/api/v1/monitoring/{workspace_id}/apps/{app_id}/analytics"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("api_key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://app.base44.com/api/v1/monitoring/{workspace_id}/apps/{app_id}/analytics")
.header("api_key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://app.base44.com/api/v1/monitoring/{workspace_id}/apps/{app_id}/analytics")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "app_id": "app_abc123",
  "app_name": "Sales Dashboard",
  "unique_users": 156,
  "total_views": 2847,
  "avg_session_duration_sec": 0,
  "views_last_7d": 312,
  "views_last_30d": 1205,
  "active_users_last_7d": 42,
  "active_users_last_30d": 89,
  "message_credits_consumed": 4250,
  "integration_credits_consumed": 875,
  "daily_views": [
    {
      "date": "2026-06-29",
      "views": 45
    },
    {
      "date": "2026-06-30",
      "views": 52
    }
  ],
  "visibility": "Public (with login)",
  "has_agent": true,
  "has_backend_function": false,
  "has_authentication": true,
  "has_sso": false,
  "has_secrets": true,
  "last_published": "2025-01-10T14:30:00Z"
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}

Authorizations

api_key
string
header
required

API key for authentication. See the Authentication page for your API for details on how to get your key.

Path Parameters

workspace_id
string
required
app_id
string
required

App ID.

Query Parameters

from
string
required

Start date in YYYY-MM-DD format.

to
string
required

End date in YYYY-MM-DD format.

Response

Successful Response

Detailed analytics for a specific app

app_id
string
required

App identifier.

Example:

"app_abc123"

app_name
string
required

App name.

Example:

"Sales Dashboard"

unique_users
integer
required

Number of unique users.

Required range: x >= 0
Example:

156

total_views
integer
required

Total number of views.

Required range: x >= 0
Example:

2847

avg_session_duration_sec
number
required

Average session duration in seconds.

Required range: x >= 0
Example:

0

views_last_7d
integer
required

Views in last 7 days.

Required range: x >= 0
Example:

312

views_last_30d
integer
required

Views in last 30 days.

Required range: x >= 0
Example:

1205

active_users_last_7d
integer
required

Number of users who viewed the app in the last 7 days.

Required range: x >= 0
Example:

42

active_users_last_30d
integer
required

Number of users who viewed the app in the last 30 days.

Required range: x >= 0
Example:

89

message_credits_consumed
number
required

Message credits consumed by this app.

Required range: x >= 0
Example:

4250

integration_credits_consumed
number
required

Integration credits consumed by this app.

Required range: x >= 0
Example:

875

daily_views
Daily Views · object[]
required

Daily view counts.

Example:
[
{ "date": "2026-06-29", "views": 45 },
{ "date": "2026-06-30", "views": 52 }
]
visibility
string
required

App visibility, such as "Public", "Public (with login)", "Workspace", or "Private".

Example:

"Public (with login)"

has_agent
boolean
required

Whether an AI agent is active in the app.

Example:

true

has_backend_function
boolean
required

Whether backend functions are enabled for the app.

Example:

false

has_authentication
boolean
required

Whether any auth method is enabled.

Example:

true

has_sso
boolean
required

Whether SSO is enabled.

Example:

false

has_secrets
boolean
required

Whether secrets are defined for the app.

Example:

true

last_published
string | null

Last publish date in YYYY-MM-DDTHH:MM:SSZ format.

Example:

"2025-01-10T14:30:00Z"