Overview
ELITEA offers two primary integration patterns:Authentication
All ELITEA API requests require authentication using a Personal Access Token (PAT).Obtaining a Personal Access Token
- Navigate to Settings → Personal Access Tokens in ELITEA
- Click Create Token
- Provide a descriptive name (e.g., “API Integration”)
- Copy and securely store the generated token
Authentication Header
Include the token in all API requests:Base URLs
Required Identifiers
Before making API calls, gather these identifiers from your ELITEA instance:Pattern 1: Conversation-Based Integration
Use this pattern for multi-turn interactions where context needs to be maintained across messages.Step 1: Create a Conversation
Creates a new conversation container for messages. Endpoint:
curl Example:
Step 2: Add an Agent Participant
Adds an AI agent to the conversation. Endpoint:
curl Example:
Step 3: Send a Message
Sends a message to the conversation and receives the agent’s response. Endpoint:
curl Example:
Pattern 2: Direct Prediction (Single-Shot)
Use this pattern for one-off agent interactions without managing conversation state. Endpoint:Synchronous Mode (Default)
The request waits for the agent to complete processing and returns the response. curl Example:Asynchronous Mode
For long-running tasks, use async mode to avoid timeouts. The request returns immediately with a task ID. curl Example:Synchronous (
async_mode: false):- Quick agent responses (< 30 seconds)
- Simple Q&A without complex processing
- When you need the response immediately
async_mode: true):- Long-running agent tasks
- Complex processing (code review, document analysis)
- Webhook-based integrations
- Avoiding HTTP timeouts
Additional Endpoints
Check Existing Conversation
Search for an existing conversation by name. Endpoint:Get Conversation Details
Retrieve full details of a conversation including participants. Endpoint:Find Agent Participant ID
When reusing an existing conversation, you need to find the agent’s participant ID from the participants array. Filter Logic (pseudo-code):Handling Attachments
Step 1: Configure Attachment Storage
Before uploading files, you must register an artifact toolkit as a participant and then designate it as the conversation’s attachment storage. This is a two-part setup. 1a. Add the artifact toolkit as a participant: Endpoint:id as {{ATTACHMENT_PARTICIPANT_ID}}.
1b. Set that participant as the attachment storage:
Endpoint:
Step 2: Upload Attachment
Upload a file to the conversation. Endpoint:- Method: POST
-
URL:
{{BASE_URL}}elitea_core/attachments/prompt_lib/{{PROJECT_ID}}/{{CONVERSATION_ID}} -
Headers:
Authorization: Bearer {{YOUR_PAT}} -
Body: Select
form-data
Step 3: Reference Attachments in Message
Include uploaded attachments when sending a message. Request Body:attachments_info dynamically (e.g., in Power Automate or loops):
Error Handling
Common HTTP Status Codes
Troubleshooting
Integration Patterns
Conversation Mapping Pattern
When integrating external systems (Teams, Slack, JIRA, Email) with ELITEA, you need a strategy to map external identifiers to ELITEA conversations. Pattern Overview:-
Store mapping when creating a conversation:
-
Lookup mapping on each new message:
- If exists: Get conversation details → Find agent participant → Send message
- If not exists: Create conversation → Add agent → Store mapping → Send message
Naming Convention Patterns
Use consistent conversation naming for easy identification and search:
Search by Name:
Stateless vs Stateful Integrations
Choose the right pattern based on your use case:Persistent conversations accumulate history. For long-running integrations:
- Consider periodic conversation reset (e.g., daily/weekly)
- Use conversation naming with timestamps:
Support-{externalId}-{date} - Monitor agent performance as context grows