Mjara Docs

API Reference

All Arif AI endpoints are accessible via the Mjara API framework at:

/api/method/arif_ai.api.{endpoint}

Authentication

MethodDescription
Mjara SessionAutomatic for logged-in users
API Keyuser@example.com:api_secret
Bearer TokenOptional JWT support

Response Format

All endpoints return a standard response structure:

{
  "message": {
    "success": true,
    "data": {},
    "tokens_used": {
      "input": 150,
      "output": 50,
      "total": 200
    }
  }
}

Rate Limits

  • Chat & Conversations: 100 requests/minute
  • Tool Executions: 50 requests/minute

Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset


Chat Endpoints

POST /api/method/arif_ai.api.chat_with_tools

Send a message and receive a response with optional tool execution.

Parameters:

FieldTypeRequiredDescription
user_messagestringYesThe user's message
conversation_idstringNoExisting conversation ID
auto_execute_toolsbooleanNoExecute tools automatically
system_promptstringNoCustom system instructions
max_tokensintegerNoMaximum response length

POST /api/method/arif_ai.api.chat_with_tools_multimodal

Send a message with file attachments (images, documents).

Parameters:

FieldTypeRequiredDescription
user_messagestringYesThe user's message
files[]fileNoAttached files
conversation_idstringNoExisting conversation ID

GET /api/method/arif_ai.api.stream_ai_response

Stream responses via Server-Sent Events (SSE).

Event Types: content, tool_start, tool_result, done, error


Conversation Endpoints

POST /api/method/arif_ai.api.create_conversation

Create a new conversation session.

Parameters:

FieldTypeRequiredDescription
titlestringNoConversation title

GET /api/method/arif_ai.api.list_conversations

List all conversations for the current user.

Parameters:

FieldTypeDefaultDescription
pageinteger1Page number
page_sizeinteger20Results per page
statusstringActiveFilter by status

GET /api/method/arif_ai.api.get_conversation_history

Retrieve messages from a conversation.

Parameters:

FieldTypeDefaultDescription
conversation_idstringRequired. Conversation ID
limitinteger50Max messages to return
offsetinteger0Pagination offset

DELETE /api/method/arif_ai.api.delete_conversation

Soft-delete a conversation (permanent after 30 days).

GET /api/method/arif_ai.api.search_conversations

Full-text search across conversations.


Tool Endpoints

GET /api/method/arif_ai.api.get_available_tools

List all available tools with optional schema details.

Parameters:

FieldTypeDefaultDescription
include_schemabooleanfalseInclude JSON schemas
categorystringnullFilter by category

POST /api/method/arif_ai.api.execute_tool

Execute a specific tool.

Parameters:

FieldTypeRequiredDescription
tool_namestringYesTool identifier
paramsobjectNoTool parameters

Returns: success, result, execution_time_ms. May return requires_confirmation and action_id for high-risk operations.


Onboarding Endpoints

POST /api/method/arif_ai.api.start_onboarding

Start a new onboarding session.

Parameters:

FieldTypeRequiredDescription
modulesarrayNoModules to set up
company_namestringNoPre-fill company name

POST /api/method/arif_ai.api.submit_onboarding_answer

Submit an answer to an onboarding question.

Parameters:

FieldTypeRequiredDescription
session_idstringYesOnboarding session ID
question_keystringYesQuestion identifier
answeranyYesUser's answer

POST /api/method/arif_ai.api.execute_onboarding_configuration

Execute the generated configuration after review.

GET /api/method/arif_ai.api.get_onboarding_status

Check the status of an onboarding session.


Confirmation Endpoints

POST /api/method/arif_ai.api.confirm_action

Confirm a pending high-risk action.

POST /api/method/arif_ai.api.reject_action

Reject a pending action with an optional reason.

GET /api/method/arif_ai.api.list_pending_actions

List all pending confirmations for the current user.


Settings Endpoints

GET /api/method/arif_ai.api.get_settings

Retrieve full Arif AI Settings (admin only).

GET /api/method/arif_ai.api.get_config

Retrieve client-safe configuration subset.


Example: REST API Usage

# Create a conversation
curl -X POST https://your-site/api/method/arif_ai.api.create_conversation \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer api_key" \
  -d '{"title": "My Query"}'

# Send a message
curl -X POST https://your-site/api/method/arif_ai.api.chat_with_tools \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer api_key" \
  -d '{"user_message": "List my customers", "conversation_id": "123"}'

# Stream responses
curl -N https://your-site/api/method/arif_ai.api.stream_ai_response?prompt=Hello \
  -H "Authorization: Bearer api_key"

On this page