Skip to main content

Key Features

  • Semantic Search: Advanced AI-powered document search with natural language queries
  • Agentic Search: Multi-step reasoning with sub-questions and comprehensive analysis
  • Citation Support: Full source attribution with document references
  • Agent-Specific Search: Query against specific agent knowledge bases

🤖 Agent Management

  • Create AI Agents: Build custom AI assistants with specific knowledge bases
  • Knowledge Integration: Connect agents to document collections for specialized expertise
  • Workflow Steps: Define multi-step reasoning processes for complex queries
  • Custom Instructions: Tailor agent behavior with specific prompts and guidelines

📄 Data Ingestion

  • File Upload: Support for PDF, TXT, DOCX, and other document formats
  • Web Scraping: Intelligent crawling of websites and documentation sites
  • Batch Processing: Bulk document ingestion with progress tracking
  • Auto-Indexing: Automatic embedding generation and search optimization

📚 Knowledge Management

  • Collections: Organize documents into searchable collections
  • Source Integration: Connect multiple data sources (files, web, databases)
  • Document Sets: Group related documents for targeted search
  • Access Control: Private and organization-scoped knowledge bases

💬 Slack Integration

  • Bot Creation: Deploy AI agents as Slack bots
  • Channel Configuration: Set up bots for specific channels and workflows
  • Interactive Q&A: Natural language queries within Slack conversations
  • Team Knowledge: Share organizational knowledge through conversational AI

API Endpoints

Search & Query

  • POST /api/search - Perform semantic or agentic search queries
  • GET /api/agents - List available AI agents
  • POST /api/agents/create - Create new AI agents

Data Sources & Ingestion

  • GET /api/sources - List connected data sources
  • POST /api/sources/create - Connect new data sources
  • POST /api/sources/ingest - Bulk data ingestion with multiple sources
  • POST /api/agents/ingest_and_create - Create agent with data ingestion in one call

Collections & Knowledge Base

  • GET /api/collections - List document collections
  • POST /api/collections/create - Create new document collections
  • DELETE /api/collections/{id} - Remove document collections

Slack Integration

  • GET /api/slack/bots - List Slack bot deployments
  • POST /api/slack/bots/create - Deploy agents as Slack bots

Common Use Cases

1. Document Q&A System

# 1. Ingest documents
curl -X POST "/api/sources/ingest" \
  -H "Authorization: Bearer {api_key}" \
  -F "[email protected]" \
  -F 'sources_json={"sources": [{"type": "file", "name": "User Manual"}]}'

# 2. Create specialized agent
curl -X POST "/api/agents/create" \
  -H "Authorization: Bearer {api_key}" \
  -d '{"name": "Support Agent", "instructions": "Answer questions about the user manual"}'

# 3. Search and get answers
curl -X POST "/api/search" \
  -H "Authorization: Bearer {api_key}" \
  -d '{"query": "How do I reset my password?", "agent_id": 1}'

2. Knowledge Base from Website

# Ingest and create agent in one call
curl -X POST "/api/agents/ingest_and_create" \
  -H "Authorization: Bearer {api_key}" \
  -F 'agent_json={
    "name": "Documentation Assistant",
    "description": "Expert on company documentation", 
    "instructions": "Provide accurate answers from company docs",
    "sources": [{
      "type": "web",
      "name": "Company Docs",
      "web_config": {
        "url": "https://docs.company.com",
        "web_connector_type": "recursive"
      }
    }]
  }'

3. Slack Bot Deployment

# Deploy agent as Slack bot
curl -X POST "/api/slack/bots/create" \
  -H "Authorization: Bearer {api_key}" \
  -d '{
    "name": "Support Bot",
    "bot_token": "xoxb-...",
    "app_token": "xapp-...", 
    "persona_id": 1,
    "channel_names": ["#support", "#general"]
  }'

Authentication

All API endpoints require authentication using an API key:
Authorization: Bearer your_api_key_here
API keys are scoped to users and organizations, providing appropriate access control for resources.

Response Formats

Success Response

All successful API calls return JSON with relevant data:
{
  "id": 123,
  "name": "Resource Name", 
  "status": "success",
  "data": { ... }
}

Error Response

Failed requests return standardized error format:
{
  "detail": "Error description",
  "status_code": 400
}

Rate Limits & Best Practices

  • Batch Operations: Use bulk ingestion endpoints for multiple documents
  • Async Processing: Large ingestion jobs are processed asynchronously
  • Incremental Updates: Update existing sources rather than re-creating
  • Agent Reuse: Create reusable agents for similar use cases
  • Collection Organization: Group related documents for better search performance

Next Steps

For detailed endpoint documentation, authentication setup, and code examples, explore the specific API sections.