Welcome to Synaplan

Synaplan is an open-source, self-hosted AI knowledge management platform with RAG, embeddable chat widgets, plugins, cloud integrations, and multi-channel AI. Built with PHP 8.3 / Symfony 7 and Vue 3 / TypeScript.

This is the developer & user documentation. It covers everything you can build with Synaplan — not just the API: the embeddable chat widget, the plugin ecosystem (Synaads, Synaform), cloud integrations (Nextcloud, OpenCloud), and the Outlook add-in (Synamail).

Live instance: web.synaplan.com  |  Source: github.com/metadist/synaplan  |  All repos: github.com/orgs/metadist

Last updated: June 2026


30-Second Quickstart

Pick your entry point:

I want to… Do this
Try the live app Sign in at web.synaplan.com (free tier)
Self-host git clone https://github.com/metadist/synaplan.git && cd synaplan && docker compose up -dhttp://localhost:5173
Call the API Get a key in Settings → API Keys, then see Code Examples
Embed a chat widget Get a widgetId in the dashboard, then see Widget Integration
Browse all endpoints Open the Swagger UI
Build a plugin See Plugins & Integrations

What's New

Plugin Ecosystem

Synaplan supports a non-invasive plugin architecture — drop a plugin into the plugins/ folder, run one install command, and it appears in the sidebar with no changes to core code. Each plugin is open source and lives in its own repository:

Plugin What it does Status Repository
Synaads AI marketing campaigns: landing pages, Google Ads, ad copy, social media Available metadist/Synaads
Synaform Extract data from files and auto-fill Word templates Available metadist/Synaform
TTS Text-to-Speech voice output (Piper, ElevenLabs) Available metadist/synaplan-tts
Synasort AI document sorting & classification Experimental — consulting only, public release end of 2026

Plugins expose their own API endpoints under /api/v1/user/{userId}/plugins/{name}/.... See the Plugins & Integrations page for full details.

Cloud Storage Integrations

Synaplan connects to self-hosted cloud platforms so your existing files become AI knowledge sources — and we maintain dedicated open-source integration repos for each:

  • Nextcloudmetadist/synaplan-nextcloud: run your own AI platform next to Nextcloud for RAG-powered discussions, translations, and summaries.
  • OpenCloud (ownCloud Infinite Scale)metadist/synaplan-opencloud: full support for the OpenCloud / oCIS WebDAV and Graph API.

Both integrations support automatic re-indexing when files change, and documents are processed through the same OCR and text extraction pipeline used by the rest of the platform.

AI Models

Synaplan ships a curated catalog of models from every major provider, plus self-hosted options. You pick a different model per task (chat, vision/OCR, image, video, audio, embeddings) per user — configurable in the admin panel under System Config → AI Models.

The table below is generated live from the running platform whenever possible, so it always reflects what's actually enabled (it falls back to a curated June 2026 snapshot if the live catalog can't be reached):

Chat & vision (LLMs)

ProviderModelContextModality
OpenAIGPT-5Text
OpenAIGPT-5.2Text
OpenAIGPT-5.4270KMultimodal
OpenAIGPT-5.51.05MMultimodal
OpenAIGPT-5.5 Pro1.05MMultimodal
OpenAIGPT-5.4 mini400KMultimodal
OpenAIgpt-4o-mini128KText
OpenAIGPT-5 miniText
OpenAIGPT-5.4 nano400KText
AnthropicClaude Opus 4.61MMultimodal
AnthropicClaude Opus 4.71MMultimodal
AnthropicClaude Opus 4.81MMultimodal
Anthropicclaude-sonnet-4.5200KMultimodal
AnthropicClaude Sonnet 4.61MMultimodal
AnthropicClaude Haiku 4.5200KMultimodal
GoogleGemini 3.1 Pro1.05MMultimodal
GoogleGemini 3.5 Flash1MMultimodal
GoogleGemini 2.5 Pro1.05MMultimodal
GoogleGemini 3 Flash1.05MMultimodal
GoogleGemini 3.5 Flash1MMultimodal
GoogleGemini 3.1 Flash-Lite1.05MMultimodal
GoogleGemini 2.5 Flash-Lite1.05MMultimodal
Groqgpt-oss-120b131KText
Groqgpt-oss-20b131KText
GroqLlama 3.3 70b versatile131KText
GroqQwen3 32B (Reasoning)131KText
GroqLlama 3.1 8B Instant131KText
HuggingFaceDeepSeek R1Text
HuggingFaceKimi K2.6262KMultimodal
HuggingFaceKimi K2.5262KMultimodal
HuggingFaceQwen2.5 Coder 32BText
Ollamagpt-oss:120b128KText
Ollamagpt-oss:20b128KText
OllamaQwen 3.5 35B33KText
Ollamanemotron-3-nano131KText

Media, audio & embeddings

CapabilityModels
Image generationgpt-image-1.5, gpt-image-2, Imagen 4.0 Ultra, Nano Banana 2 (3.1 Flash Image), Nano Banana Pro, Imagen 4.0, Nano Banana (Flash Image), Imagen 4.0 Fast, Stable Diffusion XL, SDXL Enhanced, Flux Schnell Enhanced, SDXL, Custom Emoji, Flux Schnell
Video generationVeo 3.1 Standard, Veo 3.1 Fast, Veo 3.1 Lite
Speech → textwhisper-1, whisper-large-v3, whisper-large-v3-turbo
Text → speechtts-1-hd, tts-1 with Nova, Gemini 3.1 Flash TTS, Gemini 2.5 Flash TTS, Piper Multi-Language
Embeddings (RAG)text-embedding-3-large, text-embedding-3-small, Multilingual E5 Large, bge-m3 (Ollama, self-hosted), Qwen3-Embedding-0.6B, bge-m3

Live from web.synaplan.com · 67 models · updated 2026-06-07 11:51 UTC

Always-current list: the catalog evolves with each release. For the live, authoritative list of models enabled on an instance, call GET /api/v1/models with your API key (see Code Examples) or open the model selector in the app.


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

  • AI Chat: Talk to Ollama (local), OpenAI, Anthropic, Groq, and Google Gemini — pick a different model per task.
  • RAG System: Document processing with OCR, vectorization (bge-m3), and semantic search via MariaDB VECTOR or Qdrant.
  • Multi-Channel AI: Web chat widgets, WhatsApp (Meta Business API), and Email integrations.
  • Audio: Whisper transcription (speech-to-text) plus optional Text-to-Speech voice output.
  • AI Memories & Feedback: User profiling and learning powered by Qdrant vector search.
  • Plugin Ecosystem: Extend the platform with open-source plugins (Synaads, Synaform) — no core code changes.
  • Cloud Integrations: Index files from Nextcloud and OpenCloud as knowledge sources.
  • OpenAI Compatibility: Drop-in endpoints for chat completions, image generation, and audio transcription.
  • 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 or X-API-Key: YOUR_API_KEY
    • Works with all /api/v1/ endpoints and legacy REST 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.
  4. Anonymous widget session

    • Initialize via widget loader, then call REST endpoints with the same cookie jar.

Base URL

The API is available at the following base URL:

  • Production: https://web.synaplan.com/api/v1
  • Development: http://localhost:8000/api/v1
  • Legacy REST: https://web.synaplan.com/api.php
  • OpenAI-compatible: https://web.synaplan.com/api.php/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"

Quick Start: Embed the Widget

Add the chat widget to any website with a single ES module import:

<script type="module">
  import SynaplanWidget from 'https://web.synaplan.com/widget.js'
  SynaplanWidget.init({ widgetId: 'YOUR_WIDGET_ID' })
</script>

Get your widgetId from the Synaplan dashboard under Widgets. See the Widget Integration page for all configuration options.


Documentation Sections

Section Description
Interactive API (Swagger) Full endpoint reference with request/response schemas
REST Architecture RESTful resources and legacy action endpoints
Code Examples Copy-paste examples in cURL, JavaScript, PHP
Widget Integration Embed the chat widget on any website
Plugins & Integrations Synaads, Synaform, TTS, Synasort, Nextcloud, OpenCloud
Outlook Add-in (Synamail) Synaplan inside Microsoft Outlook
Developer FAQ Installation, configuration, API keys, troubleshooting