Skip to content

Statistics

The Statistics endpoints provide detailed analytics about your apps and organizations. You can track Monthly Active Users (MAU), storage usage, and bandwidth consumption across different time periods. This data is essential for monitoring app growth, resource usage, and planning capacity.

Understanding the Metrics

  • MAU (Monthly Active Users): Number of unique devices that accessed your app in the last 30 days
  • Storage: Total size of all bundles and resources stored in bytes
  • Bandwidth: Total data transfer for bundle downloads in bytes

Best Practices

  1. Regular Monitoring: Check statistics periodically to track growth and usage patterns
  2. Resource Planning: Use storage and bandwidth metrics for capacity planning
  3. User Engagement: Track MAU to understand user engagement trends
  4. Cost Management: Monitor resource usage to optimize costs

Endpoints

GET /statistics/app/:app_id/

Get statistics for a specific app. This endpoint is useful for monitoring individual app performance.

Query Parameters

interface StatsQuery {
from: Date // Start date for the statistics (format: YYYY-MM-DD)
to: Date // End date for the statistics (format: YYYY-MM-DD)
}

Example Request

Terminal window
curl -H "authorization: your-api-key" \
"https://api.capgo.app/statistics/app/com.demo.app/?from=2024-01-01&to=2024-02-01"

Example Response

[
{
"date": "2024-01-01",
"mau": 1500,
"storage": 536870912, // 512MB in bytes
"bandwidth": 1073741824 // 1GB in bytes
},
{
"date": "2024-01-02",
"mau": 1550,
"storage": 537919488, // 513MB in bytes
"bandwidth": 1074790400 // 1.01GB in bytes
}
]

GET /statistics/org/:org_id/

Get statistics for a specific organization. Useful for monitoring organization-level usage.

Query Parameters

interface StatsQuery {
from: Date // Start date for the statistics (format: YYYY-MM-DD)
to: Date // End date for the statistics (format: YYYY-MM-DD)
}

Example Request

Terminal window
curl -H "authorization: your-api-key" \
"https://api.capgo.app/statistics/org/046a36ac-e03c-4590-9257-bd6c9dba9ee8/?from=2024-01-01&to=2024-02-01"

Example Response

[
{
"date": "2024-01-01",
"mau": 10000,
"storage": 536870912, // 512MB in bytes
"bandwidth": 1073741824 // 1GB in bytes
},
{
"date": "2024-01-02",
"mau": 10200,
"storage": 537919488, // 513MB in bytes
"bandwidth": 1074790400 // 1.01GB in bytes
}
]

GET /statistics/user/

Get aggregated statistics across all organizations you have access to. Perfect for overall usage monitoring.

Query Parameters

interface StatsQuery {
from: Date // Start date for the statistics (format: YYYY-MM-DD)
to: Date // End date for the statistics (format: YYYY-MM-DD)
}

Example Request

Terminal window
curl -H "authorization: your-api-key" \
"https://api.capgo.app/statistics/user/?from=2024-01-01&to=2024-02-01"

Example Response

[
{
"date": "2024-01-01",
"mau": 25000,
"storage": 1073741824, // 1GB in bytes
"bandwidth": 2147483648 // 2GB in bytes
},
{
"date": "2024-01-02",
"mau": 25500,
"storage": 1074790400, // 1.01GB in bytes
"bandwidth": 2148532224 // 2.01GB in bytes
}
]

GET /statistics/app/:app_id/bundle_usage

Get bundle usage statistics for a specific app, showing the distribution of versions among users over a specified period.

Query Parameters

interface BundleUsageQuery {
from: Date // Start date for the statistics (format: YYYY-MM-DD)
to: Date // End date for the statistics (format: YYYY-MM-DD)
}

Example Request

Terminal window
curl -H "authorization: your-api-key" \
"https://api.capgo.app/statistics/app/com.demo.app/bundle_usage?from=2024-01-01&to=2024-02-01"

Example Response

{
"labels": ["2024-01-01", "2024-01-02", "2024-01-03"],
"datasets": [
{
"label": "1.0.0",
"data": [60.5, 58.2, 55.3]
},
{
"label": "1.0.1",
"data": [39.5, 41.8, 44.7]
}
]
}

Error Handling

Common error scenarios and their responses:

// Invalid body
{
"status": "Invalid body",
"error": "Invalid date format or missing parameters"
}
// Permission denied
{
"status": "You can't access this app",
"error": "Insufficient permissions to access statistics"
}
// Permission denied for organization
{
"status": "You can't access this organization",
"error": "Insufficient permissions to access organization statistics"
}
// No organizations found for user statistics
{
"status": "No organizations found",
"error": "No organizations found"
}
// Internal server error
{
"status": "Cannot get app statistics",
"error": "Internal server error message"
}

Common Use Cases

  1. Growth Tracking: Monitor MAU growth over time
  2. Resource Optimization: Track storage and bandwidth usage to optimize costs
  3. Capacity Planning: Use trends to plan for future resource needs
  4. Usage Reports: Generate periodic usage reports for stakeholders
  5. Version Distribution Analysis: Understand how users are distributed across different app versions with bundle usage statistics

Tips for Analysis

  1. Compare Periods: Look at month-over-month or year-over-year trends
  2. Track Ratios: Monitor bandwidth per user or storage per app
  3. Set Alerts: Create alerts for unusual spikes in usage
  4. Regular Backups: Export statistics regularly for historical analysis
  5. Version Adoption: Use bundle usage to track adoption rates of new versions