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

ai_search_orgs_users_my_mentors_retrieve

Request

Handle GET requests for my mentors.

Security
PlatformApiKeyAuthentication
Path
orgstringrequired
usernamestringrequired
Query
audienceArray of strings

Filter by target audience

categoryArray of strings

Filter by mentor category

created_bystringnon-empty

Filter mentors created by specific user

featuredboolean

Filter by featured status

idinteger

Retrieve a specific mentor by ID

include_main_public_mentorsboolean

Include public mentors from main tenant

Default false
limitinteger

Number of results per page

Default 12
llmArray of strings

Filter by language model type

offsetinteger

Starting position for pagination

Default 0
order_bystringnon-empty

Field to sort results by ('created_at', 'recently_accessed_at')

order_directionstringnon-empty

Sort direction ('asc' or 'desc')

Default "desc"
querystringnon-empty

Search term to filter mentors by name or description

tagsArray of strings

Filter by tags

tenantstringnon-empty

Filter by tenant/organization

unique_idstring(uuid)

Retrieve a specific mentor by UUID

curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/orgs/{org}/users/{username}/my-mentors/?audience=string&category=string&created_by=string&featured=true&id=0&include_main_public_mentors=false&limit=12&llm=string&offset=0&order_by=string&order_direction=desc&query=string&tags=string&tenant=string&unique_id=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
resultsArray of objects(Mentor)required

List of mentors matching the search criteria

results[].​idintegerread-onlyrequired
results[].​namestring<= 255 charactersrequired
results[].​unique_idstring(uuid)
results[].​flowany or null

The langflow json for the mentor

results[].​slugstring<= 255 characters^[-a-zA-Z0-9_]+$
results[].​platformstring<= 255 characters
results[].​allow_anonymousboolean
results[].​metadataany or null
results[].​enable_moderationboolean
results[].​enable_multi_query_ragboolean
results[].​enable_post_processing_systemboolean
results[].​enable_openai_assistantboolean

(Deprecated) Set template mentor to openai-agent instead.

results[].​enable_total_groundingboolean

Whether to force mentor to only use information within the provided documents.

results[].​enable_suggested_promptsboolean

Whether to show suggested prompts for the mentor or not. Note: Suggested prompts are created by tenant admins.

results[].​enable_guided_promptsboolean

Whether to show suggested prompts for the mentor or not. Note: Guided prompts are created with an llm based on chat history.

results[].​guided_prompt_instructionsstring

Instructions to determine how prompt suggestions are generated.

results[].​google_voiceinteger or null
results[].​openai_voiceinteger or null
results[].​categoriesArray of objects(MentorCategory)required
results[].​categories[].​idintegerread-onlyrequired
results[].​categories[].​namestring<= 255 charactersrequired
results[].​categories[].​descriptionstring or null<= 255 characters
results[].​categories[].​category_groupinteger or null
results[].​categories[].​audienceobject(MentorAudience)required
results[].​categories[].​audience.​idintegerread-onlyrequired
results[].​categories[].​audience.​namestring<= 255 charactersrequired
results[].​categories[].​audience.​descriptionstring or null<= 255 characters
results[].​categories[].​audiencesArray of objects(MentorAudience)required
results[].​categories[].​audiences[].​idintegerread-onlyrequired
results[].​categories[].​audiences[].​namestring<= 255 charactersrequired
results[].​categories[].​audiences[].​descriptionstring or null<= 255 characters
results[].​typesArray of objects(MentorType)required
results[].​types[].​idintegerread-onlyrequired
results[].​types[].​namestring<= 255 charactersrequired
results[].​types[].​descriptionstring or null
results[].​subjectsArray of objects(Subject)required
results[].​subjects[].​idintegerread-onlyrequired
results[].​subjects[].​namestring<= 255 charactersrequired
results[].​subjects[].​descriptionstring or null
results[].​proactive_promptstring

Prompt template used to start a conversation with the user when greeting_type is proactive_prompt. This will be sent to the LLM so it can respond naturally

results[].​disclaimerstring

Disclaimer to be shown to the user when the mentor is used.

results[].​enable_disclaimerboolean
results[].​embed_is_context_awareboolean

Allow embedded mentor to read content on the embedded web page.

results[].​embed_open_by_defaultboolean

Open mentor embed iframe by default.

results[].​embed_show_attachmentboolean

Show attachments on embedded mentor.

results[].​embed_show_voice_callboolean

Show voice call button on embedded mentor.

results[].​embed_show_voice_recordboolean

Show voice recording button on embedded mentor.

results[].​placeholder_promptstring

Placeholder to be shown in the input text area when the mentor is used.

results[].​moderation_system_promptstring

The prompt for the moderation system. This prompt must clearly distinguish between 'Approapriate' and 'Not Appropriate' queries.

results[].​post_processing_promptstring

Prompt to be used to alter or modify final llm response into any desired form.

results[].​moderation_responsestring

Desired feedback to return to the user when their prompt is deemed inappropriate.

results[].​safety_system_promptstring

Prompt to check whether the models response is appropriate or not.

results[].​safety_responsestring

Feedback given to the user when a model generates an inappropriate response

results[].​enable_safety_systemboolean
results[].​proactive_responsestring

Response to start a conversation with a user.

results[].​greeting_methodstring
Enum"proactive_prompt""proactive_response"
results[].​call_configurationobject(CallConfiguration)
results[].​mcp_serversArray of objects(MCPServer)required
results[].​mcp_servers[].​idintegerread-onlyrequired
results[].​mcp_servers[].​platformintegerread-onlyrequired
results[].​mcp_servers[].​namestring<= 255 charactersrequired
results[].​mcp_servers[].​urlstring(uri)<= 200 charactersrequired

The url of the MCP server.

results[].​mcp_servers[].​imagestring or null(uri)
results[].​mcp_servers[].​transportstring(TransportEnum)
  • sse - Sse
  • websocket - Websocket
  • streamable_http - Streamable Http
Enum"sse""websocket""streamable_http"
results[].​mcp_servers[].​extra_headersany

Headers to send to the MCP server. Useful for authentication,

results[].​mcp_servers[].​platform_keystringread-onlyrequired
results[].​mcp_servers[].​is_featuredboolean

Featured mcp servers will be accessible to all other tenants.

results[].​mcp_servers[].​created_atstring(date-time)read-onlyrequired
results[].​mcp_servers[].​updated_atstring(date-time)read-onlyrequired
results[].​last_accessed_byinteger or null[ 0 .. 2147483647 ]

edX user ID

results[].​recently_accessed_atstring or null(date-time)
results[].​created_bystring or null<= 255 characters
results[].​created_atstring or null(date-time)read-onlyrequired
results[].​updated_atstring or null(date-time)read-onlyrequired
countintegerrequired

Total number of mentors matching the search criteria

nextstring or null(uri)required

URL for the next page of results

previousstring or null(uri)required

URL for the previous page of results

current_pageintegerrequired

Current page number

total_pagesintegerrequired

Total number of pages

facetsobject

Facet information for filtering

Response
application/json
{ "results": [ {} ], "count": 0, "next": "http://example.com", "previous": "http://example.com", "current_page": 0, "total_pages": 0, "facets": { "property1": {}, "property2": {} } }

Get mentors created by a specific user

Request

Get mentors created by a specific user within a given organization/platform. This endpoint provides a personalized view of the user's own mentors with support for filtering, pagination, and detailed mentor information.

Authentication Required:

  • username: Required for personalized mentor access
  • platform_key: Required for tenant-specific content

Features:

  • User's own mentors only
  • Personalization data (access counts, last used)
  • Filtering and faceted search
  • Pagination support
  • Detail and list views
Security
PlatformApiKeyAuthentication
Query
audienceArray of strings

Filter by audience

categorystringnon-empty

Mentor category filter

limitinteger

Number of results per page

llm_providersArray of strings

Filter by LLM provider

offsetinteger

Number of results to skip

order_bystringnon-empty

Field to sort by

order_directionstringnon-empty

Sort direction

  • asc - asc
  • desc - desc
Enum"asc""desc"
platform_keystringnon-emptyrequired

Platform key for authentication

querystringnon-empty

Search query for personalized mentors

return_facetboolean

Include facet data in response

tagsArray of strings

Filter by tags

usernamestringnon-empty

Username for authentication (required for unauthenticated requests)

visibilityArray of strings

Filter by visibility

curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/personalized-mentors/?audience=string&category=string&limit=0&llm_providers=string&offset=0&order_by=string&order_direction=asc&platform_key=string&query=string&return_facet=true&tags=string&username=string&visibility=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
resultsArray of objectsrequired

List of personalized mentor search results

countintegerrequired

Total number of results

nextstring or nullrequired

URL for next page of results

previousstring or nullrequired

URL for previous page of results

current_pageintegerrequired

Current page number

total_pagesintegerrequired

Total number of pages

Response
application/json

Get all mentors created by john.doe

{ "username": "john.doe", "platform_key": "example-university", "limit": 20 }

List recommendation prompts for a platform

Request

Get all recommendation prompts for a specific platform. Optionally filter by SPA URL or recommendation type.

Security
PlatformApiKeyAuthentication
curl -i -X GET \
  https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/prompts/ \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/jsonArray [
platform_keystringrequired
prompt_textstringrequired
recommendation_typestringrequired
spa_urlstring or null
activebooleanrequired
created_atstring(date-time)required
updated_atstring(date-time)required
created_bystring or null

Username of who created this prompt

]
Response
application/json
[ { "platform_key": "string", "prompt_text": "string", "recommendation_type": "string", "spa_url": "string", "active": true, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_by": "string" } ]

Create a new recommendation prompt

Request

Create a new recommendation prompt for a platform and SPA.

Security
PlatformApiKeyAuthentication
Body
platform_keystring

Platform key this prompt belongs to

prompt_textstring

The custom recommendation strategy prompt

recommendation_typestring
Default "catalog"
Enum"mentors""catalog"
spa_urlstring or null

Frontend/SPA identifier (e.g., 'catalog.example.com', 'mentor-ai.ibl.com', 'https://mentor-ai.ibl.com'). Protocol and case will be normalized automatically. Leave blank for platform-wide prompts.

activeboolean

Whether this prompt is currently active

Default true
curl -i -X POST \
  https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/prompts/ \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "platform_key": "acme-corp",
    "recommendation_type": "courses",
    "spa_url": "catalog.acme-corp.com",
    "prompt_text": "Focus on technical skills and certifications...",
    "active": true
  }'

Responses

Bodyapplication/json
platform_keystringrequired
prompt_textstringrequired
recommendation_typestringrequired
spa_urlstring or null
activebooleanrequired
created_atstring(date-time)required
updated_atstring(date-time)required
created_bystring or null

Username of who created this prompt

Response
application/json
{ "platform_key": "acme-corp", "recommendation_type": "courses", "spa_url": "catalog.acme-corp.com", "prompt_text": "Focus on technical skills and certifications...", "active": true }

Update an existing recommendation prompt

Request

Update an existing prompt by ID. Must provide platform_key to verify ownership.

Security
PlatformApiKeyAuthentication
Body
platform_keystring

Platform key this prompt belongs to

prompt_textstring

The custom recommendation strategy prompt

recommendation_typestring
Default "catalog"
Enum"mentors""catalog"
spa_urlstring or null

Frontend/SPA identifier (e.g., 'catalog.example.com', 'mentor-ai.ibl.com', 'https://mentor-ai.ibl.com'). Protocol and case will be normalized automatically. Leave blank for platform-wide prompts.

activeboolean

Whether this prompt is currently active

Default true
curl -i -X PUT \
  https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/prompts/ \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "platform_key": "string",
    "prompt_text": "string",
    "recommendation_type": "catalog",
    "spa_url": "string",
    "active": true
  }'

Responses

Bodyapplication/json
platform_keystringrequired
prompt_textstringrequired
recommendation_typestringrequired
spa_urlstring or null
activebooleanrequired
created_atstring(date-time)required
updated_atstring(date-time)required
created_bystring or null

Username of who created this prompt

Response
application/json
{ "platform_key": "string", "prompt_text": "string", "recommendation_type": "string", "spa_url": "string", "active": true, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_by": "string" }

Delete a recommendation prompt

Request

Delete a recommendation prompt by ID. Must provide platform_key to verify ownership. This permanently removes the prompt.

Security
PlatformApiKeyAuthentication
curl -i -X DELETE \
  https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/prompts/ \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Prompt deleted successfully

List recommendation prompts for a platform

Request

Get all recommendation prompts for a specific platform. Optionally filter by SPA URL or recommendation type.

Security
PlatformApiKeyAuthentication
curl -i -X GET \
  https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/recommendation/prompts/ \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/jsonArray [
platform_keystringrequired
prompt_textstringrequired
recommendation_typestringrequired
spa_urlstring or null
activebooleanrequired
created_atstring(date-time)required
updated_atstring(date-time)required
created_bystring or null

Username of who created this prompt

]
Response
application/json
[ { "platform_key": "string", "prompt_text": "string", "recommendation_type": "string", "spa_url": "string", "active": true, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_by": "string" } ]

Create a new recommendation prompt

Request

Create a new recommendation prompt for a platform and SPA.

Security
PlatformApiKeyAuthentication
Body
platform_keystring

Platform key this prompt belongs to

prompt_textstring

The custom recommendation strategy prompt

recommendation_typestring
Default "catalog"
Enum"mentors""catalog"
spa_urlstring or null

Frontend/SPA identifier (e.g., 'catalog.example.com', 'mentor-ai.ibl.com', 'https://mentor-ai.ibl.com'). Protocol and case will be normalized automatically. Leave blank for platform-wide prompts.

activeboolean

Whether this prompt is currently active

Default true
curl -i -X POST \
  https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/recommendation/prompts/ \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "platform_key": "acme-corp",
    "recommendation_type": "courses",
    "spa_url": "catalog.acme-corp.com",
    "prompt_text": "Focus on technical skills and certifications...",
    "active": true
  }'

Responses

Bodyapplication/json
platform_keystringrequired
prompt_textstringrequired
recommendation_typestringrequired
spa_urlstring or null
activebooleanrequired
created_atstring(date-time)required
updated_atstring(date-time)required
created_bystring or null

Username of who created this prompt

Response
application/json
{ "platform_key": "acme-corp", "recommendation_type": "courses", "spa_url": "catalog.acme-corp.com", "prompt_text": "Focus on technical skills and certifications...", "active": true }

Update an existing recommendation prompt

Request

Update an existing prompt by ID. Must provide platform_key to verify ownership.

Security
PlatformApiKeyAuthentication
Body
platform_keystring

Platform key this prompt belongs to

prompt_textstring

The custom recommendation strategy prompt

recommendation_typestring
Default "catalog"
Enum"mentors""catalog"
spa_urlstring or null

Frontend/SPA identifier (e.g., 'catalog.example.com', 'mentor-ai.ibl.com', 'https://mentor-ai.ibl.com'). Protocol and case will be normalized automatically. Leave blank for platform-wide prompts.

activeboolean

Whether this prompt is currently active

Default true
curl -i -X PUT \
  https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/recommendation/prompts/ \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "platform_key": "string",
    "prompt_text": "string",
    "recommendation_type": "catalog",
    "spa_url": "string",
    "active": true
  }'

Responses

Bodyapplication/json
platform_keystringrequired
prompt_textstringrequired
recommendation_typestringrequired
spa_urlstring or null
activebooleanrequired
created_atstring(date-time)required
updated_atstring(date-time)required
created_bystring or null

Username of who created this prompt

Response
application/json
{ "platform_key": "string", "prompt_text": "string", "recommendation_type": "string", "spa_url": "string", "active": true, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_by": "string" }

Delete a recommendation prompt

Request

Delete a recommendation prompt by ID. Must provide platform_key to verify ownership. This permanently removes the prompt.

Security
PlatformApiKeyAuthentication
curl -i -X DELETE \
  https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/recommendation/prompts/ \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Prompt deleted successfully

Generate AI-driven course recommendations

Request

Generate personalized course recommendations using AI that considers the user's learning history, organizational goals, and available courses.

Authentication Required:

  • User must be authenticated
  • Platform key must be provided
  • User must have access to the specified platform

How It Works:

  1. Fetches tenant's custom recommendation prompt (if configured)
  2. Analyzes user's course completion history and performance
  3. Reviews available course catalog
  4. Uses AI to match courses to user's needs and organizational goals
  5. Returns 3-5 courses with clear explanations

Tenant Prompts: Each organization can configure custom prompts that guide recommendations. For example: "Prioritize leadership for sales roles" or "Focus on technical skills."

Use Cases:

  • Manual recommendation requests by users
  • Post-assessment recommendations
  • Milestone-triggered suggestions
  • Learning path planning
Security
PlatformApiKeyAuthentication
Query
assessment_idstringnon-empty

Assessment ID if triggered by assessment completion

context_typestringnon-empty

Context type for recommendation (e.g., 'assessment_completed', 'milestone_reached')

difficulty_levelsstringnon-empty

Filter recommendations to specific difficulty levels (CSV)

domainsstringnon-empty

Filter recommendations to specific domains (CSV)

include_main_catalogboolean

Include items from 'main' tenant catalog IN ADDITION TO platform-specific catalog. By default, only platform-specific data is returned (tenant isolation). Set to True to also include shared 'main' tenant resources.

Default false
include_user_historyboolean

Include user's learning history (completed courses, topics) in the RAG search query. Helps find content that builds on their background.

Default false
include_user_skillsboolean

Include user's skills and badges in the RAG search query. Helps personalize results based on what the user already knows.

Default false
kinteger[ 5 .. 100 ]

Number of similar items to retrieve via RAG per tenant (before filtering). Higher values give more options but may be slower.

Default 20
limitinteger[ 1 .. 20 ]

Number of course recommendations to return (max 20)

Default 5
pageinteger>= 1

Page number for pagination (starts at 1)

Default 1
page_sizeinteger[ 1 .. 100 ]

Number of recommendations per page (max 100)

Default 10
platform_keystringnon-empty

Platform key for tenant-scoped recommendations

platform_orgstring or nullnon-empty

Platform org identifier (optional - avoids database lookup if provided)

ranking_promptstring

Custom prompt for LLM ranking (only if ranking_strategy='custom'). Define how the LLM should evaluate and order the recommendations.

ranking_strategystringnon-empty

Strategy for LLM ranking. Only used if use_llm_ranking=True.

  • relevance - Rank by relevance and value (default)
  • difficulty - Rank by difficulty progression
  • personalized - Personalize to user context and goals
  • custom - Use custom ranking prompt
Enum"relevance""difficulty""personalized""custom"
recommendation_typestringnon-empty

Type of resource to recommend. Catalog types (courses/programs/resources/pathways) will use the platform's 'catalog' prompt category if configured.

  • mentors - Mentor Recommendations
  • courses - Course Recommendations
  • programs - Program Recommendations
  • resources - Resource Recommendations
  • pathways - Pathway Recommendations
Default "courses"
Enum"mentors""courses""programs""resources""pathways"
search_termsstring

Search terms to find similar content (e.g., 'leadership', 'data science'). Used to build the RAG query.

spa_urlstringnon-empty

Frontend/SPA identifier (e.g., 'catalog.example.com', 'mentor-ai.ibl.com'). Used to retrieve the correct prompt for that specific frontend. Auto-detected from HTTP_REFERER if not provided.

trigger_sourcestringnon-empty

What triggered this recommendation request

Default "manual"
use_llm_rankingboolean

Use LLM to rank and personalize RAG results. Adds AI-generated reasoning but increases cost and latency. Only applies if use_rag_search=True.

Default false
use_rag_searchboolean

Use RAG similarity search instead of full LLM catalog review. Faster and more cost-effective. Set to False for legacy LLM-only behavior.

Default true
curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/ai-search/recommendations/?assessment_id=string&context_type=string&difficulty_levels=string&domains=string&include_main_catalog=false&include_user_history=false&include_user_skills=false&k=20&limit=5&page=1&page_size=10&platform_key=string&platform_org=string&ranking_prompt=string&ranking_strategy=relevance&recommendation_type=mentors&search_terms=string&spa_url=string&trigger_source=manual&use_llm_ranking=false&use_rag_search=true' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
recommendationsArray of objects(CourseRecommendation)required

List of course recommendations with reasoning

recommendations[].​course_idstringrequired

The ID of the recommended course

recommendations[].​course_titlestringrequired

The title of the recommended course

recommendations[].​reasonstringrequired

AI-generated explanation for why this course is recommended

recommendations[].​domainstring or null

Course domain/subject area

recommendations[].​difficulty_levelstring or null

Course difficulty level

recommendations[].​estimated_hoursnumber or null(double)

Estimated hours to complete

recommendations[].​confidence_scorenumber or null(double)

AI confidence in this recommendation (0-1)

recommendations[].​platform_keystring or null

Platform/tenant key this course belongs to (extracted from course_id or metadata)

recommendations[].​descriptionstring or null

Course description (priority: description > short_description > overview with HTML stripped)

recommendations[].​short_descriptionstring or null

Course short description from edx_data

user_contextobject

Summary of user context used for recommendations

recommendation_idstring

Unique ID for this recommendation set (for tracking)

generated_atstring(date-time)required

When these recommendations were generated

platform_keystringrequired

Platform key for these recommendations

method_usedstring

Method used to generate recommendations: 'rag_only', 'llm_only', or 'rag_plus_llm'

search_query_usedstring

The actual search query used for RAG similarity search (if applicable)

candidates_retrievedinteger

Number of candidates retrieved via RAG before filtering (if applicable)

includes_main_catalogboolean

Whether the results include items from the 'main' tenant catalog

Default false
processing_time_secondsnumber(double)

Time taken to generate recommendations (in seconds)

successboolean

Whether the request was successful

Default true
countinteger

Total number of recommendations available

nextstring or null(uri)

URL for the next page of results (if pagination is enabled)

previousstring or null(uri)

URL for the previous page of results (if pagination is enabled)

Response
application/json

Request 5 course recommendations for authenticated user

{ "platform_key": "sba-university", "limit": 5 }

analytics

Operations

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