API for iblai
- analytics_financial_details_retrieve
ibl-data-manager (4.84.1-ai-plus)
Request
Financial Analytics API - Get comprehensive cost metrics with comparison analysis.
This endpoint provides period-based cost analysis (not cumulative) with support for:
- Multiple time granularities and metrics
- Cross-dimensional filtering
- Percentage change vs comparison periods
- Forward-filled time series
Examples:
Basic Weekly Costs:
GET /api/analytics/financial/?metric=weekly_costs&comparison_days=10Platform & Mentor Filtered:
# Get total costs for a specific platform and mentor
GET /api/analytics/financial/?metric=total_costs&platform_key=web-app&mentor_unique_id=mentor-123&comparison_days=14Monthly Costs by Provider:
GET /api/analytics/financial/?metric=monthly_costs&provider=openai&granularity=month&comparison_days=30Daily Costs for Specific User:
GET /api/analytics/financial/?metric=total_costs&username=user-456&granularity=day&start_date=2025-01-15&end_date=2025-01-21&comparison_days=7Response Structure:
{
"metric": "weekly_costs",
"value": 12.47,
"percentage_change": 8.5,
"overtime": [
{"date": "2025-01-06", "value": 2.89},
{"date": "2025-01-13", "value": 3.12}
],
"period_info": {
"start_date": "2025-01-01",
"end_date": "2025-01-31",
"period_days": 31
},
"comparison_info": {
"previous_period_value": 11.50,
...
}
}Number of days for comparison period to calculate percentage change (e.g., 10 for 10-day comparison)
today- Today only7d- Last 7 days30d- Last 30 days90d- Last 90 daysall_time- All timecustom- Custom date range
Method for filling missing time periods in overtime data
zero- Fill missing periods with zeroprevious- Fill missing periods with previous value
Time granularity for overtime series data
day- Daily data pointsweek- Weekly data pointsmonth- Monthly data points
Type of financial metric to retrieve
total_costs- Total costs for selected timeframeweekly_costs- Costs for current/selected weekmonthly_costs- Costs for current/selected month
Filter by AI provider
openai- OpenAIanthropic- Anthropicazure- Azuregoogle- Googlemeta- Metaother- Other
- Mock serverhttps://docs.ibl.ai/_mock/apis/ibl/api/analytics/financial/
- https://base.manager.iblai.app/api/analytics/financial/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.ibl.ai/_mock/apis/ibl/api/analytics/financial/?comparison_days=1&date_filter=today&end_date=2019-08-24&fill_method=zero&granularity=day&llm_model=string&mentor_unique_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&metric=total_costs&platform_key=string&provider=openai&show_overtime=true&start_date=2019-08-24&username=string' \
-H 'Authorization: YOUR_API_KEY_HERE'Successful financial metrics response with period-based cost data
Applied filters for this query
Percentage change vs comparison period (null if no comparison)
Time series data for overtime visualization
Information about the analysis period
Information about comparison period (empty if no comparison)
Cost value for comparison period
Response for total_costs metric.
{ "metric": "total_costs", "filters": { "start_date": "2025-01-01", "end_date": "2025-01-31", "granularity": "day", "comparison_days": 10 }, "value": 45.789, "percentage_change": 15.2, "overtime": [ { … }, { … }, { … }, { … }, { … } ], "period_info": { "start_date": "2025-01-01", "end_date": "2025-01-31", "period_days": 31, "range_type": "custom" }, "comparison_info": { "previous_period_count": 10, "previous_period_value": 39.654, "comparison_start": "2024-12-22", "comparison_end": "2024-12-31", "comparison_days": 10, "recent_period_value": 45.789 } }
Request
Financial Details Analytics API – paginated cost tables with flexible grouping.
This endpoint returns tabular cost metrics aggregated by the dimension specified via the group_by query parameter. One or more KPI columns can be requested through the comma-separated metrics list while typical filters (date range, provider, platform_key, user, etc.) narrow the dataset. Results are paginated with page / limit.
Required query parameters
- group_by – provider | llm_model | username | mentor | platform
- metrics – csv list of KPI names, e.g. total_cost, sessions
Shared optional filters
- start_date, end_date – ISO yyyy-mm-dd (ignored when all_time=true)
- platform_key – tenant isolation
- mentor_unique_id – filter to one mentor
- username – filter to a learner
- provider / llm_model – filter to LLM provider / model
- all_time – true → lifetime totals
- page (default 1), limit (default 50)
Examples
- Cost by provider for the last week
GET /api/v2/analytics/financial/details?
group_by=provider&
metrics=total_cost&
start_date=2025-01-01&
end_date=2025-01-07&
page=1&limit=10- Lifetime cost per user with extra KPIs
GET /api/v2/analytics/financial/details? group_by=username& metrics=total_cost,sessions& all_time=true&page=1&limit=50 - Cost by LLM model with tenant filter
GET /api/v2/analytics/financial/details?
group_by=llm_model&
metrics=total_cost&
platform_key=web-app&
start_date=2025-01-01&end_date=2025-01-31Response structure
{
"page": 1,
"limit": 10,
"total_pages": 1,
"total_records": 3,
"rows": [
{"provider": "openai", "total_cost": "2.50000"},
{"provider": "anthropic", "total_cost": "1.00000"},
{"provider": "azure", "total_cost": "0.50000"}
],
"metrics": [
{
"name": "total_cost",
"unit": "$",
"description": "Cost for this entity in period"
}
],
"total_cost": "4.00000" // optional grand-total when available
}
``today- Today only7d- Last 7 days30d- Last 30 days90d- Last 90 daysall_time- All timecustom- Custom date range
Dimension to group by
provider- Group by providerllm_model- Group by LLM modelusername- Group by usernamementor- Group by mentorplatform- Group by platformaction- Group by actions
Comma-separated list of metrics (e.g. total_cost,sessions, last_active)
- Mock serverhttps://docs.ibl.ai/_mock/apis/ibl/api/analytics/financial/details/
- https://base.manager.iblai.app/api/analytics/financial/details/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.ibl.ai/_mock/apis/ibl/api/analytics/financial/details/?date_filter=today&end_date=2019-08-24&group_by=provider&limit=20&llm_model=string&mentor_unique_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&metrics=total_cost&page=1&platform_key=string&provider=string&search=string&start_date=2019-08-24&username=string' \
-H 'Authorization: YOUR_API_KEY_HERE'{ "page": 0, "limit": 0, "total_pages": 0, "total_records": 0, "rows": null, "total_cost": "string", "metrics": [ { … } ] }
Request
Flexible Invoice Report API – Billing summary with username and platform filtering.
This endpoint generates invoice reports with flexible filtering options:
- Platform admins can view their platform's data and filter by username within their platform
- Super admins can view any combination of username/platform or global summaries
Key Features:
- Flexible filtering by username and/or platform_key
- Essential metrics: total cost, sessions, usage period
- Provider breakdown (OpenAI, Anthropic, etc.)
- Top mentors/actions by cost
- Clean, invoice-ready format
Query Parameters:
- username: Filter by specific username (optional)
- platform_key: Filter by platform (optional, but required for platform admins)
- start_date, end_date: billing period (defaults to last 30 days)
- include_breakdown: show provider/mentor details (default: true)
Permission Logic:
- Platform admins: Must include platform_key matching their permission scope
- Super admins: Can use any combination of filters or none (global summary)
Examples:
# Platform admin viewing their platform
GET /api/analytics/financial/invoice?platform_key=web-app
# Platform admin viewing specific user in their platform
GET /api/analytics/financial/invoice?platform_key=web-app&username=john.doe
# Super admin viewing specific user across all platforms
GET /api/analytics/financial/invoice?username=john.doe
# Super admin viewing global summary
GET /api/analytics/financial/invoiceResponse Structure:
{
"entity": {
"type": "user|platform|global",
"username": "john.doe",
"platform_key": "web-app",
"platform_name": "Web Application",
"display_name": "John Doe on Web Application"
},
"billing_period": {
"start_date": "2025-01-01",
"end_date": "2025-01-31",
"days": 31
},
"summary": {
"total_cost": 245.750,
"total_sessions": 1250,
"active_users": 85,
"cost_per_session": 0.196
},
"breakdown": {
"by_provider": [...],
"by_mentor": [...],
"by_action": [...]
}
}- Mock serverhttps://docs.ibl.ai/_mock/apis/ibl/api/analytics/financial/invoice/
- https://base.manager.iblai.app/api/analytics/financial/invoice/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.ibl.ai/_mock/apis/ibl/api/analytics/financial/invoice/?end_date=2019-08-24&include_breakdown=true&platform_key=string&start_date=2019-08-24&username=string' \
-H 'Authorization: YOUR_API_KEY_HERE'{ "entity": { "type": "platform", "platform_key": "web-app", "platform_name": "Web Application", "display_name": "Web Application" }, "billing_period": { "start_date": "2025-01-01", "end_date": "2025-01-31", "days": 31 }, "summary": { "total_cost": "245.750", "total_sessions": 1250, "active_users": 85, "cost_per_session": "0.196" }, "breakdown": { "by_provider": [ … ], "by_mentor": [ … ] } }