Skip to content

ibl-data-manager (4.84.1-ai-plus)

API for iblai

Download OpenAPI description
Languages
Servers
Mock server
https://docs.ibl.ai/_mock/apis/ibl/
https://base.manager.iblai.app/

ai-account

Operations

ai-analytics

Operations

ai-bot

Operations

ai-finetuning

Operations

ai-index

Operations

ai-marketing

Operations

ai-media

Operations

ai-mentor

Operations

ai-prompt

Operations

analytics

Operations

analytics_financial_invoice_retrieve

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/invoice

Response 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": [...]
  }
}
Security
PlatformApiKeyAuthentication
Query
end_datestring(date)

End date for billing period (defaults to today)

include_breakdownboolean

Whether to include provider and mentor breakdown

Default true
platform_keystring[ 1 .. 255 ] characters

Platform key to filter by (optional, required for platform admins)

start_datestring(date)

Start date for billing period (defaults to 30 days ago)

usernamestring[ 1 .. 255 ] characters

Username to generate invoice for (optional)

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'

Responses

Bodyapplication/json
entityobject(Entity)required

Entity information for the invoice.

entity.​typestring(EntityTypeEnum)
  • user - user
  • platform - platform
  • global - global
Enum"user""platform""global"
entity.​usernamestring
entity.​platform_keystring
entity.​platform_namestring
entity.​display_namestringrequired
billing_periodobject(BillingPeriod)required

Billing period information.

billing_period.​start_datestring(date)required
billing_period.​end_datestring(date)required
billing_period.​daysintegerrequired
summaryobject(Summary)required

Summary metrics for the invoice.

summary.​total_coststring(decimal)^-?\d{0,9}(?:\.\d{0,3})?$required
summary.​total_sessionsintegerrequired
summary.​active_usersintegerrequired
summary.​cost_per_sessionstring(decimal)^-?\d{0,9}(?:\.\d{0,3})?$required
breakdownobject(Breakdown)

Detailed breakdown of costs.

Response
application/json
{ "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": [] } }

analytics_learners_retrieve

Request

Unified API endpoint for learner analytics.

This endpoint provides either:

  1. Cross-platform summary (when only username is provided)
  2. Platform-specific detailed data (when username + platform_key are provided)

Query params:

  • username (required): Username of the learner
  • platform_key (optional): Platform key for platform-specific data
  • page (optional): Page number (default: 1)
  • limit (optional): Records per page (default: 20, max: 100)

Returns:

  • If platform_key provided: Detailed platform metrics
  • If no platform_key: Cross-platform summary with pagination
Security
PlatformApiKeyAuthentication
Query
date_filterstringnon-empty
  • today - Today only
  • 7d - Last 7 days
  • 30d - Last 30 days
  • 90d - Last 90 days
  • all_time - All time
  • custom - Custom date range
Default "today"
Enum"today""7d""30d""90d""all_time""custom"
end_datestring(date)
granularitystringnon-empty
  • day - day
  • hour - hour
  • week - week
  • month - month
Default "hour"
Enum"day""hour""week""month"
limitinteger[ 1 .. 100 ]

Number of records per page (default: 20, max: 100)

Default 20
mentor_unique_idstring(uuid)
overtimeboolean

Include overtime metrics for the user in the platform (default: false)

Default false
pageinteger>= 1

Page number (default: 1)

Default 1
platform_keystringnon-empty

Optional platform key - if provided, returns platform-specific detailed data

start_datestring(date)
usernamestringnon-empty

Username of the learner to get analytics for. Defaults to self if not provided.

curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/analytics/learners/?date_filter=today&end_date=2019-08-24&granularity=day&limit=20&mentor_unique_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&overtime=false&page=1&platform_key=string&start_date=2019-08-24&username=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
userobject(UserInfo)required

Serializer for user information.

user.​user_idintegerrequired
user.​usernamestring or nullrequired
user.​emailstring or null(email)required
user.​namestringrequired
user.​is_activeboolean
Default true
user.​last_activestring(date-time)
user.​date_joinedstring(date-time)
summaryobject(LearnerSummary)required

Serializer for learner summary data across all platforms.

summary.​total_time_spent_secondsintegerrequired

Total time spent across all platforms

resultsArray of objects(LearnerAnalyticsResult)required
results[].​platform_idintegerrequired
results[].​platform_namestringrequired
results[].​platform_keystring or nullrequired
results[].​summaryobject(PlatformSummary)

Serializer for platform summary data (cross-platform view).

results[].​metricsobject(PlatformMetrics)

Serializer for detailed platform metrics (platform-specific view).

results[].​activityobject(ActivityInfo)

Serializer for activity information.

results[].​last_updatedstring(date-time)
results[].​user_idinteger
paginationobject(Pagination)required
pagination.​totalItemsintegerrequired

Total records

pagination.​currentPageintegerrequired

Current Page

pagination.​perPageintegerrequired

Size of data returned per page

pagination.​totalPagesintegerrequired

Amount of pages

overtimeArray of objects(OvertimeDataPoint)

Time spent over time data (when overtime=true)

generated_atstring(date-time)required
Response
application/json
{ "user": { "user_id": 0, "username": "string", "email": "user@example.com", "name": "string", "is_active": true, "last_active": "2019-08-24T14:15:22Z", "date_joined": "2019-08-24T14:15:22Z" }, "summary": { "total_time_spent_seconds": 0 }, "results": [ {} ], "pagination": { "totalItems": 0, "currentPage": 0, "perPage": 0, "totalPages": 0 }, "overtime": [ {} ], "generated_at": "2019-08-24T14:15:22Z" }

analytics_learners_list_retrieve

Request

Retrieve a paginated list of learners for a specific platform with their comprehensive metrics from the UserPlatformSummary materialized view. This endpoint is accessible only to platform administrators and supports search, sorting, and pagination.

Security
PlatformApiKeyAuthentication
Query
date_filterstringnon-empty
  • today - Today only
  • 7d - Last 7 days
  • 30d - Last 30 days
  • 90d - Last 90 days
  • all_time - All time
  • custom - Custom date range
Default "today"
Enum"today""7d""30d""90d""all_time""custom"
end_datestring(date)
granularitystringnon-empty
  • day - day
  • hour - hour
  • week - week
  • month - month
Default "hour"
Enum"day""hour""week""month"
limitinteger[ 1 .. 100 ]

Number of learners per page (default: 20, max: 100)

Default 20
mentor_unique_idstring(uuid)
pageinteger>= 1

Page number for pagination (default: 1)

Default 1
platform_keystringnon-emptyrequired

Platform key to filter learners by platform

searchstring

Search term to filter learners by username, email, or name

sort_bystringnon-empty

Field to sort learners by (default: last_activity)

  • username - Username
  • name - Name
  • last_activity - Last Activity
  • total_points - Total Points
  • total_time_spent_seconds - Time Spent
  • total_enrollments - Enrollments
  • total_skills_count - Skills Count
Default "last_activity"
Enum"username""name""last_activity""total_points""total_time_spent_seconds""total_enrollments""total_skills_count"
sort_orderstringnon-empty

Sort order (default: desc)

  • asc - Ascending
  • desc - Descending
Default "desc"
Enum"asc""desc"
start_datestring(date)
curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/analytics/learners/list/?date_filter=today&end_date=2019-08-24&granularity=day&limit=20&mentor_unique_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&page=1&platform_key=string&search=string&sort_by=username&sort_order=asc&start_date=2019-08-24' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Paginated list of learners with their metrics

Bodyapplication/json
platformobjectrequired
platform.​platform_idintegerrequired

Platform ID

platform.​platform_namestringrequired

Platform name

platform.​platform_keystringrequired

Platform key

learnersArray of objects(LearnerListItem)required

List of learners

learners[].​user_idintegerrequired

User ID

learners[].​usernamestring or nullrequired

Username

learners[].​emailstring or null(email)required

Email address

learners[].​namestring or nullrequired

Display name

learners[].​is_activebooleanrequired

Whether user is active

learners[].​platform_idintegerrequired

Platform ID

learners[].​platform_namestring or nullrequired

Platform name

learners[].​platform_keystring or nullrequired

Platform key

learners[].​metricsobjectrequired
learners[].​metrics.​enrollmentsintegerrequired

Total enrollments

learners[].​metrics.​programsintegerrequired

Total programs

learners[].​metrics.​pathwaysintegerrequired

Total pathways

learners[].​metrics.​resourcesintegerrequired

Total resources

learners[].​metrics.​reported_skillsintegerrequired

Reported skills count

learners[].​metrics.​desired_skillsintegerrequired

Desired skills count

learners[].​metrics.​assigned_skillsintegerrequired

Assigned skills count

learners[].​metrics.​total_skillsintegerrequired

Total skills count

learners[].​metrics.​credentialsintegerrequired

Credentials earned

learners[].​metrics.​pointsnumber(double)required

Total points

learners[].​metrics.​total_time_spent_secondsintegerrequired

Total time spent in seconds

learners[].​metrics.​top_contentobjectrequired
learners[].​metrics.​top_content.​course_identifierstringrequired

Course identifier

learners[].​metrics.​top_content.​course_namestringrequired

Name of the course.

learners[].​metrics.​top_content.​time_spent_secondsintegerrequired

Time spent on this course in seconds

learners[].​first_activitystring or null(date-time)required

First activity date

learners[].​last_activitystring or null(date-time)required

Last activity date

paginationobjectrequired
pagination.​pageintegerrequired

Current page number

pagination.​limitintegerrequired

Records per page

pagination.​total_pagesintegerrequired

Total number of pages

pagination.​total_recordsintegerrequired

Total number of records

pagination.​has_nextbooleanrequired

Whether there is a next page

pagination.​has_previousbooleanrequired

Whether there is a previous page

pagination.​next_pageinteger or nullrequired

Next page number

pagination.​previous_pageinteger or nullrequired

Previous page number

generated_atstring(date-time)required

Response generation timestamp

Response
application/json

Example learner list payload

{ "platform": { "platform_id": 1, "platform_name": "Test Platform", "platform_key": "test-platform" }, "learners": [ {} ], "pagination": { "page": 1, "limit": 20, "total_pages": 1, "total_records": 1, "has_next": false, "has_previous": false, "next_page": null, "previous_page": null }, "generated_at": "2024-02-01T12:30:00Z" }

career

Operations

catalog

Operations

core

Operations

credentials

Operations

custom-domains

Operations

features

Operations

media

Operations

notifications

Operations

scim

Operations

commerce

Operations

recommendations

Operations

reports

Operations

skills

Operations