ibl-data-manager (3.59.0-ai-plus)
API for iblai
Request
Endpoint to view logs for periodic agent runs.
These logs contain the full mentor output for each run for debugging. Logs are ordered from newest to oldest. However this can be changed.
You can also filter logs for a PeriodicAgent by passing the periodic_agent
query parameter in the URL.
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agent-logs/
https://base.manager.iblai.app/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agent-logs/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agent-logs/?ordering=string&page=0&page_size=0&parent_mentor_id=string&parent_session_id=string&periodic_agent=0&search=string&status=error&username=string' \
-H 'Authorization: YOUR_API_KEY_HERE'
{ "count": 123, "next": "http://api.example.org/accounts/?page=4", "previous": "http://api.example.org/accounts/?page=2", "results": [ { … } ] }
Request
Endpoint to view logs for periodic agent runs.
These logs contain the full mentor output for each run for debugging. Logs are ordered from newest to oldest. However this can be changed.
You can also filter logs for a PeriodicAgent by passing the periodic_agent
query parameter in the URL.
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agent-logs/{id}/
https://base.manager.iblai.app/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agent-logs/{id}/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agent-logs/{id}/' \
-H 'Authorization: YOUR_API_KEY_HERE'
{ "id": 0, "content": "string", "status": "success", "start_time": "2019-08-24T14:15:22Z", "end_time": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "modified_at": "2019-08-24T14:15:22Z", "periodic_agent": 0 }
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
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agents/
https://base.manager.iblai.app/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agents/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.ibl.ai/_mock/apis/ibl/api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agents/?enabled=true&ordering=string&page=0&page_size=0&parent_mentor_id=0&parent_session_id=string&previous_agent=0&previous_agent_status=error&search=string&status=error&title=string&username=string' \
-H 'Authorization: YOUR_API_KEY_HERE'
(Deprecated) Set template mentor to openai-agent instead.
Whether to force mentor to only use information within the provided documents.
Whether to show suggested prompts for the mentor or not. Note: Suggested prompts are created by tenant admins.
Whether to show suggested prompts for the mentor or not. Note: Guided prompts are created with an llm based on chat history.
Instructions to determine how prompt suggestions are generated.
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
The prompt for the moderation system. This prompt must clearly distinguish between 'Approapriate' and 'Not Appropriate' queries.
Prompt to be used to alter or modify final llm response into any desired form.
Desired feedback to return to the user when their prompt is deemed inappropriate.
Prompt to check whether the models response is appropriate or not.
Feedback given to the user when a model generates an inappropriate response
proactive_prompt
- Proactive Promptproactive_response
- Proactive Response
sse
- Ssewebsocket
- Websocket
Headers to send to the MCP server. Useful for authentication,
Cron Minutes to Run. Use "*" for "all". (Example: "0,30")
Cron Hours to Run. Use "*" for "all". (Example: "8,20")
Cron Days Of The Week to Run. Use "*" for "all", Sunday is 0 or 7, Monday is 1. (Example: "0,5")
Cron Days Of The Month to Run. Use "*" for "all". (Example: "1,15")
If True, the schedule will only run the task a single time
Datetime when the schedule should begin triggering the task to run
success
- Successerror
- Errorrunning
- Runningpending
- Pending
{ "count": 123, "next": "http://api.example.org/accounts/?page=4", "previous": "http://api.example.org/accounts/?page=2", "results": [ { … } ] }