Synaplan API - Introduction

Synaplan is an AI-powered knowledge management system that provides a robust API for integrating AI capabilities into your applications. Whether you're building a custom chatbot, automating document processing, or integrating with multi-channel communication (WhatsApp, Email), the Synaplan API provides the tools you need.

Core Features

  • RAG System: Document processing, vectorization (bge-m3), and semantic search with MariaDB VECTOR.
  • Multi-Channel AI: Support for Web chat widgets, WhatsApp, and Email integrations.
  • Plugin Architecture: Extend the platform's capabilities with custom plugins.
  • OpenAI Compatibility: Standard endpoints for chat completions, image generation, and more.
  • MCP Integration: (Planned) Support for the Model Context Protocol to bridge tools and AI.

Authentication

Synaplan uses a secure token-based authentication system:

  1. API Key (Recommended for API integration)

    • Send the header: Authorization: Bearer YOUR_API_KEY
    • Works with all /api/v1/ endpoints.
    • You can create and manage API keys in the Settings > API Keys section of the app.
  2. Session Cookies (For Browser-based apps)

    • Used by the main frontend application.
    • Implements an Access Token + Refresh Token system with OIDC/Keycloak support.
  3. SSE Tokens (For Streaming)

    • Since EventSource cannot send custom headers, a short-lived token can be passed via a query parameter: ?token=YOUR_SSE_TOKEN.
    • Obtain this token via the /api/v1/auth/token endpoint.

Base URL

The API is available at the following base URL:

  • Production: https://web.synaplan.com/api/v1
  • Development: http://localhost:8000/api/v1

Interactive Documentation

The most up-to-date and interactive documentation (Swagger UI) is available at:

https://web.synaplan.com/api/doc


Quick Start: Using the API with cURL

Here is how you can quickly test your API key by fetching your profile information:

curl -X GET "https://web.synaplan.com/api/v1/auth/me" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Accept: application/json"