Skip to content

ibl-data-manager (3.59.0-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

career

Operations

catalog

Operations

core

Operations

credentials

Operations

features

Operations

media

Operations

notifications

Operations

scim

Operations

commerce

Operations

recommendations

Operations

reports

Operations

reports_orgs_retrieve

Request

Lists all available reports in the system.

This endpoint returns a list of all reports available to the user, including:

  • Report metadata (name, description, icon)
  • Available query parameters for each report
  • Result columns that will be returned
  • Current status of any previously requested reports

If a report has been previously requested by the user, its status will be included in the response. Expired reports are automatically cleaned up.

Returns: A list of report objects with their metadata and status information.

Security
PlatformApiKeyAuthentication
Path
orgstringrequired
curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/reports/orgs/{org}/' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
dataArray of objects(ReportData)required
data[].​display_namestring

Report Name

data[].​descriptionstring

Report Description

data[].​report_namestring

Report slug

data[].​iconstring
data[].​extra_query_paramsArray of any

Extra parameters to be passed to the report create view, e.g learner_id

data[].​result_columnsArray of any

Columns to be available in the report

data[].​statusobject

Report Status if any available

Default {}
Response
application/json
{ "data": [ {} ] }

reports_orgs_retrieve_2

Request

Retrieves detailed information about a specific report type.

This endpoint provides:

  • Metadata about the report (name, description, icon)
  • Available query parameters for the report
  • Result columns that will be returned
  • Current status of the most recent report of this type requested by the user

Path Parameters: report_name (str): The identifier of the report to retrieve details for

Returns: Detailed information about the report type and its current status if previously requested.

Error Responses: 404 Not Found: If the specified report type doesn't exist

Security
PlatformApiKeyAuthentication
Path
orgstringrequired
report_namestringrequired
curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/reports/orgs/{org}/{report_name}' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
dataobject(ReportData)required
data.​display_namestring

Report Name

data.​descriptionstring

Report Description

data.​report_namestring

Report slug

data.​iconstring
data.​extra_query_paramsArray of any

Extra parameters to be passed to the report create view, e.g learner_id

data.​result_columnsArray of any

Columns to be available in the report

data.​statusobject

Report Status if any available

Default {}
Response
application/json
{ "data": { "display_name": "string", "description": "string", "report_name": "string", "icon": "string", "extra_query_params": [], "result_columns": [], "status": {} } }

reports_orgs_new_create

Request

Creates and manages report generation requests.

This endpoint allows users to:

  1. Request a new report generation
  2. Check the status of a previously requested report
  3. Force regeneration of an existing report

Reports expire after a configured time period (default is typically 24-48 hours).

Request Parameters: report_name (str): The identifier of the report to generate owner (str): The username of the report owner (usually the current user) learner_id (str, optional): Filter by specific learner course_id (str, optional): Filter by specific course start_date (str, optional): Start date for report data (ISO format) end_date (str, optional): End date for report data (ISO format) filters (dict, optional): Additional filters specific to the report type force (bool, optional): Force regeneration even if a valid report exists

Returns: For new reports:

  • report_id: The unique identifier for the report task
  • state: The current state of the report (PENDING, RUNNING, etc.)

For completed reports:

  • report_id: The unique identifier for the report task
  • report_name: The name of the report
  • url: Download URL for the report
  • state: COMPLETED
  • expires: Expiration timestamp for the report

For in-progress reports:

  • report_id: The unique identifier for the report task
  • state: Current state (PENDING, RUNNING)
  • started_on: When the report generation started
  • owner: Username of the report owner

Error Responses: 400 Bad Request: Invalid parameters or report configuration 404 Not Found: Report type not found 403 Forbidden: User doesn't have permission for the requested report

Security
PlatformApiKeyAuthentication
Path
orgstringrequired
Body
report_namestring

Report slug, this is passed when calling the create report endpoint

paramsobject

Advanced report filtering. e,g: {'username': 'username1, username2' }

querystring

Advanced Query to run the report, supports SQL Like queries.

e.g For date type filtering date_joined > '2021-01-01'

See https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.query.html#pandas.DataFrame.query

curl -i -X POST \
  'https://docs.ibl.ai/_mock/apis/ibl/api/reports/orgs/{org}/new' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "report_name": "string",
    "params": {
      "property1": null,
      "property2": null
    },
    "query": "string"
  }'

Responses

Bodyapplication/json
dataobject(ReportStatus)required
data.​report_idstring

Used to download the report

data.​report_namestring

Report slug, this is passed when calling the create report endpoint

data.​statestring
  • pending - Pending
  • running - Running
  • accumulating - Accumulating
  • processing - Processing
  • storing - Storing
  • completed - Completed
  • cancelled - Cancelled
  • error - Error
  • expired - Expired
Enum"pending""running""accumulating""processing""storing""completed""cancelled""error""expired"
data.​started_onstring

Report request timestamp (ISO 8601)

data.​ownerstring

Report Owner

data.​expiresstring

When report would expire and not available for download anymore

data.​urlstring(uri)

Download link for report when available

Response
application/json
{ "data": { "report_id": "string", "report_name": "string", "state": "pending", "started_on": "string", "owner": "string", "expires": "string", "url": "http://example.com" } }

reports_platforms_retrieve

Request

Returns a list of reports available in the system.

For each report, it includes:

  • display_name: Human-readable name of the report
  • description: Description of what the report contains
  • icon: URL to an icon representing the report
  • report_name: Unique identifier for the report
  • extra_query_params: Additional parameters that can be passed when creating the report
  • result_columns: Columns that will be included in the report results
  • status: Current status of the report if it has been previously requested

The status will include details like the report ID, state, and download URL if completed.

Security
PlatformApiKeyAuthentication
Path
keystringrequired
curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/reports/platforms/{key}/' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
dataArray of objects(ReportData)required
data[].​display_namestring

Report Name

data[].​descriptionstring

Report Description

data[].​report_namestring

Report slug

data[].​iconstring
data[].​extra_query_paramsArray of any

Extra parameters to be passed to the report create view, e.g learner_id

data[].​result_columnsArray of any

Columns to be available in the report

data[].​statusobject

Report Status if any available

Default {}
Response
application/json
{ "data": [ {} ] }

reports_platforms_retrieve_2

Request

Returns details of a specific report type including its status if previously requested.

Security
PlatformApiKeyAuthentication
Path
keystringrequired
report_namestringrequired
curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/reports/platforms/{key}/{report_name}' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
dataobject(ReportData)required
data.​display_namestring

Report Name

data.​descriptionstring

Report Description

data.​report_namestring

Report slug

data.​iconstring
data.​extra_query_paramsArray of any

Extra parameters to be passed to the report create view, e.g learner_id

data.​result_columnsArray of any

Columns to be available in the report

data.​statusobject

Report Status if any available

Default {}
Response
application/json
{ "data": { "display_name": "string", "description": "string", "report_name": "string", "icon": "string", "extra_query_params": [], "result_columns": [], "status": {} } }

reports_platforms_new_create

Request

Triggers a new report generation.

If the report has been previously requested, it returns the status of the report. Reports expire after a configured duration.

The request body should include:

  • report_name: Name of the report to generate
  • learner_id: (optional) ID of the learner to filter by
  • course_id: (optional) ID of the course to filter by
  • force: (optional) Force generation of a new report even if one exists
  • filters: (optional) Additional filters for the report
  • departments: (optional) Department IDs to filter by
Security
PlatformApiKeyAuthentication
Path
keystringrequired
Body
report_namestring

Report slug, this is passed when calling the create report endpoint

paramsobject

Advanced report filtering. e,g: {'username': 'username1, username2' }

querystring

Advanced Query to run the report, supports SQL Like queries.

e.g For date type filtering date_joined > '2021-01-01'

See https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.query.html#pandas.DataFrame.query

curl -i -X POST \
  'https://docs.ibl.ai/_mock/apis/ibl/api/reports/platforms/{key}/new' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "report_name": "string",
    "params": {
      "property1": null,
      "property2": null
    },
    "query": "string"
  }'

Responses

Bodyapplication/json
dataobject(ReportStatus)required
data.​report_idstring

Used to download the report

data.​report_namestring

Report slug, this is passed when calling the create report endpoint

data.​statestring
  • pending - Pending
  • running - Running
  • accumulating - Accumulating
  • processing - Processing
  • storing - Storing
  • completed - Completed
  • cancelled - Cancelled
  • error - Error
  • expired - Expired
Enum"pending""running""accumulating""processing""storing""completed""cancelled""error""expired"
data.​started_onstring

Report request timestamp (ISO 8601)

data.​ownerstring

Report Owner

data.​expiresstring

When report would expire and not available for download anymore

data.​urlstring(uri)

Download link for report when available

Response
application/json
{ "data": { "report_id": "string", "report_name": "string", "state": "pending", "started_on": "string", "owner": "string", "expires": "string", "url": "http://example.com" } }

skills

Operations