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_mentor_orgs_users_periodic_agents_destroy

Request

Endpoint to create and view, update and delete periodic agents.

Periodic agents are schedulers issued for mentors. These are configured with input prompt (if any) as well as a cron schedule to trigger the periodic agent.

Access to these are restricted to platform admins and tenant administrators

Session information for running the periodic agent will be generated with the credentials of the user (platform administrator) who created the agent.

A Periodic Agent is allowed to have a callback_url and callback_secret. When a callback_url is set for a Periodic Agent, a post request with data entries containing the log and timestamp of the run will be made to the callback_url provided. Here is the payload structure:

{
    "timestamp": "timestamp when the run completed",
    "status": "status of the periodic agent",
    "prompt": "input prompt to agent,
    "agent_output": "...final response of agent",
    "log": "... full agent run log",
    "log_id": periodic agent log id.,
}

The payload is encrypted using the callback_secret provided.

You can validate the payload using the X-Hub-Signature-256 signature header for request data. This is a Sha256 encoded HMAC hex digest of the payload body.

import hmac
import haslib

def validate_payload(request: HttpRequest, callback_secret: str):
    # Get the X-Hub-Signature-256 header from the request
    received_signature = request.META.get("HTTP_X_HUB_SIGNATURE_256", "")

    if not received_signature.startswith("sha256="):
        # Invalid signature format
        return False

    received_signature = received_signature[len("sha256=") :]

    try:
        # Get the raw request body
        payload = request.body

        # Compute the expected signature using the app_secret
        expected_signature = hmac.new(
            callback_secret.encode(), payload, hashlib.sha256
        ).hexdigest()

        if hmac.compare_digest(received_signature, expected_signature):
            # Signatures match, the payload is genuine
            return True
        else:
            # Signatures don't match
            return False
    except Exception as e:
        # Handle any errors that may occur during validation
        return False
Security
PlatformApiKeyAuthentication
Path
idintegerrequired

A unique integer value identifying this periodic agent.

orgstringrequired
user_idstringrequired
curl -i -X DELETE \
  'https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agents/{id}/' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

No response body

ai_mentor_orgs_users_periodic_agents_statistics_retrieve

Request

Retrieve statistics for periodic agents, including counts of succeeded and failed tasks. A task is considered failed if its latest log has a failed status, and succeeded if its latest log has a success status. Query parameters can be used for filtering.

Security
PlatformApiKeyAuthentication
Path
orgstringrequired
user_idstringrequired
Query
mentor_idstring(uuid)
curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agents/statistics/?mentor_id=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Statistics for periodic agents.

Bodyapplication/json
total_tasksintegerrequired
succeeded_tasksintegerrequired
failed_tasksintegerrequired
running_tasksintegerrequired
pending_tasksintegerrequired
Response
application/json
{ "total_tasks": 0, "succeeded_tasks": 0, "failed_tasks": 0, "running_tasks": 0, "pending_tasks": 0 }

ai_mentor_orgs_users_pin_message_list

Request

Retrieve pinned messages for a user.

Args: request: The HTTP request. org: Organization key identifier. user_id: The username of the student.

Returns: Response: Paginated list of pinned messages.

Raises: NotFound: If the student or session does not exist.

Security
PlatformApiKeyAuthentication
Path
orgstringrequired
user_idstringrequired
Query
session_idstringnon-emptyrequired

Session id of the message to pin

curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/pin-message/?session_id=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/jsonArray [
session_idstringrequired
mentorobject(Mentor)required
mentor.​idintegerread-onlyrequired
mentor.​namestring<= 255 charactersrequired
mentor.​unique_idstring(uuid)
mentor.​flowany or null

The langflow json for the mentor

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

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

mentor.​enable_total_groundingboolean

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

mentor.​enable_suggested_promptsboolean

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

mentor.​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.

mentor.​guided_prompt_instructionsstring

Instructions to determine how prompt suggestions are generated.

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

mentor.​disclaimerstring

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

mentor.​enable_disclaimerboolean
mentor.​embed_is_context_awareboolean

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

mentor.​embed_open_by_defaultboolean

Open mentor embed iframe by default.

mentor.​embed_show_attachmentboolean

Show attachments on embedded mentor.

mentor.​embed_show_voice_callboolean

Show voice call button on embedded mentor.

mentor.​embed_show_voice_recordboolean

Show voice recording button on embedded mentor.

mentor.​placeholder_promptstring

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

mentor.​moderation_system_promptstring

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

mentor.​post_processing_promptstring

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

mentor.​moderation_responsestring

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

mentor.​safety_system_promptstring

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

mentor.​safety_responsestring

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

mentor.​enable_safety_systemboolean
mentor.​proactive_responsestring

Response to start a conversation with a user.

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

The url of the MCP server.

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

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

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

Featured mcp servers will be accessible to all other tenants.

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

edX user ID

mentor.​recently_accessed_atstring or null(date-time)
mentor.​created_bystring or null<= 255 characters
mentor.​created_atstring or null(date-time)read-onlyrequired
mentor.​updated_atstring or null(date-time)read-onlyrequired
messagesArray of objects(ChatHistory)required
messages[].​idintegerread-onlyrequired
messages[].​messageanyread-onlyrequired
messages[].​inserted_atstring(date-time)read-onlyrequired
messages[].​titlestring or null
messages[].​feedbackanyread-onlyrequired
messages[].​document_sourcesany or null
messages[].​filesanyread-onlyrequired
]
Response
application/json
[ [ {} ] ]

ai-prompt

Operations

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