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 4.x), cloud integrations (Nextcloud, OpenCloud, ownCloud.online), and the Outlook add-in (Synamail).
Live instance: web.synaplan.com | Source: github.com/metadist/synaplan | All repos: github.com/orgs/metadist
Last updated: July 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 -d → http://localhost:5173 — full walkthrough & pitfalls in Quickstart & Self-Hosting |
| 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
Ecosystem extras (July 2026)
- TrustedTokens 🇩🇪 — new sovereign provider: GLM 5.2, Qwen3.6 35B and GPT OSS 120B served from GPUs in Munich. Together with Anthropic's Claude Opus 5 / Sonnet 5 and the retirement of the older Claude generations, see AI Models below.
- ownCloud.online — new integration for BW-Tech ownCloud.online
(
oco_synaplan). Always write the brand as ownCloud.online, not “ownCloud” alone. Separate from OpenCloud / oCIS. See Plugins & Integrations. - Nextcloud Integration — updated app (Nextcloud 30–34): Research Chat with streaming,
memories,
/pic·/vid, DAG routing, and Admin Settings → Synaplan Integration. - Synamail — generally available Outlook add-in with an updated taskpane: Contact AI Profiling, Writing assistant in compose, AppSource or self-host. See Outlook Add-in (Synamail).
- Synaform 4.x — stronger AI extraction into standard Word / form templates, AI field assist, editable prompts, Collection-first UX.
MCP in both directions (early access)
Synaplan now speaks the Model Context Protocol — both ways. As a server, point an MCP host — Claude, Cursor, VS Code, or any compatible client — at https://web.synaplan.com/mcp with your API key, and your knowledge base and memories become tools the model can call directly. As an outbound client, connect your MCP servers (a CRM, a wiki, an n8n endpoint) under Channels → MCP Servers, and the multi-task planner can pull live data from them into an answer — read-only, per user, per topic. See MCP — Server & Client.
Multi-Task (DAG) Routing
Complex requests are no longer limited to a single AI call. An AI planner can decompose a message into a DAG of tasks — extract text → summarize → generate audio → compose reply — and execute the steps in dependency order while live task cards stream into the chat UI. A single request can now deliver multiple generated files (text, media, documents, even an .ics calendar invite), on every channel (chat, widget, WhatsApp, email, webhooks). See Multi-Task (DAG) Routing.
Realtime & Live Support
Synaplan now ships a WebSocket layer built on Centrifugo + Redis: operators can take over widget conversations from the AI in real time, with typing indicators in both directions and instant operator notifications. Browsers connect same-origin via /connection/websocket — no CORS setup. A dedicated background worker container executes async jobs from Redis-backed queues. Full picture: Architecture & Realtime.
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 (4.x) | Extract data from files and auto-fill Word / standard form 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 and managed cloud platforms so your existing files become AI knowledge sources — each with its own open-source integration repo:
- Nextcloud — metadist/synaplan-nextcloud: summarize, translate, index, and research-chat over Nextcloud files (App Store: Synaplan Integration).
- OpenCloud (ownCloud Infinite Scale / oCIS) — metadist/synaplan-opencloud: WebDAV and Graph API, Spaces-aware indexing.
- ownCloud.online — metadist/synaplan-owncloud-online: the same AI actions inside BW-Tech ownCloud.online (classic PHP stack). Use the full brand name ownCloud.online.
All three share Synaplan's OCR / text-extraction and RAG pipeline and re-index when files change.
AI Models
Synaplan ships a curated catalog of models from every major provider, plus self-hosted and EU-sovereign 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.
Providers you can enable with one key each: OpenAI, Anthropic, Google Gemini, Groq, Mistral 🇫🇷, TrustedTokens 🇩🇪, HuggingFace, TheHive, Higgsfield, Cloudflare Workers AI — plus Ollama and Piper running on your own hardware with no key and no per-token cost. See the Developer FAQ for the variable names and what each key unlocks.
New in July 2026: TrustedTokens (TNG Technology Consulting) joins the catalog — GLM 5.2, Qwen3.6 35B and GPT OSS 120B served from GPUs in Munich under German jurisdiction, with zero data retention. Anthropic's line moved to Claude Opus 5 and Claude Sonnet 5; the Opus 4.1–4.7 and Sonnet 4.5/4.6 generations were retired and existing defaults repointed automatically.
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 July 2026 snapshot if the live catalog can't be reached):
Chat & vision (LLMs)
| Provider | Model | Context | Modality | Price in / out per 1M tokens |
|---|---|---|---|---|
| OpenAI | GPT-5 | Text | $1.25 / $10 | |
| OpenAI | GPT-5.2 | Text | $1.75 / $14 | |
| OpenAI | GPT-5.4 | 270K | Multimodal | $2.50 / $15 |
| OpenAI | GPT-5.5 | 1.05M | Multimodal | $5 / $30 |
| OpenAI | GPT-5.5 Pro | 1.05M | Multimodal | $30 / $180 |
| OpenAI | GPT-5.6 Sol | 1.05M | Multimodal | $5 / $30 |
| OpenAI | GPT-5.4 mini | 400K | Multimodal | $0.75 / $4.50 |
| OpenAI | GPT-5.6 Luna | 1.05M | Multimodal | $1 / $6 |
| OpenAI | GPT-5.6 Terra | 1.05M | Multimodal | $2.50 / $15 |
| OpenAI | gpt-4o-mini | 128K | Text | $0.15 / $0.60 |
| OpenAI | GPT-5 mini | Text | $0.25 / $2 | |
| OpenAI | GPT-5.4 nano | 400K | Text | $0.20 / $1.25 |
| Anthropic | Claude Fable 5 | 1M | Multimodal | $10 / $50 |
| Anthropic | Claude Opus 4.8 | 1M | Text | $5 / $25 |
| Anthropic | Claude Opus 5 | 1M | Multimodal | $5 / $25 |
| Anthropic | Claude Sonnet 5 | 1M | Multimodal | $2 / $10 |
| Anthropic | Claude Haiku 4.5 | 200K | Multimodal | $1 / $5 |
| Gemini 3.1 Pro | 1.05M | Multimodal | $2 / $12 | |
| Gemini 3.5 Flash | 1M | Multimodal | $1.50 / $9 | |
| Gemini 2.5 Pro | 1.05M | Multimodal | $1.25 / $10 | |
| Gemini 3 Flash | 1.05M | Multimodal | $0.50 / $3 | |
| Gemini 3.1 Flash-Lite | 1.05M | Multimodal | $0.25 / $1.50 | |
| Gemini 2.5 Flash-Lite | 1.05M | Multimodal | $0.10 / $0.40 | |
| Groq | gpt-oss-120b | 131K | Text | $0.15 / $0.60 |
| Groq | gpt-oss-20b | 131K | Text | $0.075 / $0.30 |
| Groq | Llama 3.3 70b versatile | 131K | Text | $0.59 / $0.79 |
| Groq | Qwen3 32B (Reasoning) | 131K | Text | $0.29 / $0.59 |
| Groq | Llama 3.1 8B Instant | 131K | Text | $0.05 / $0.08 |
| Mistral | Mistral Large 3 | 262K | Text | $0.50 / $1.50 |
| Mistral | Mistral Medium 3.5 | 262K | Multimodal | $1.50 / $7.50 |
| TrustedTokens | GLM 5.2 | 230K | Text | $1.50 / $4.50 |
| TrustedTokens | GPT OSS 120B | 131K | Text | $0.15 / $0.60 |
| TrustedTokens | Qwen3.6 35B | 262K | Multimodal | $0.25 / $1.50 |
| HuggingFace | DeepSeek R1 | Text | $0.55 / $2.19 | |
| HuggingFace | Kimi K2.6 | 262K | Multimodal | $0.75 / $3.50 |
| HuggingFace | Kimi K2.7 Code | 262K | Multimodal | $0.74 / $3.50 |
| HuggingFace | Kimi K2.5 | 262K | Multimodal | $0.45 / $2.25 |
| HuggingFace | Qwen2.5 Coder 32B | Text | $0.20 / $0.80 | |
| Ollama | gpt-oss:120b | 128K | Text | $0.05 / $0.25 |
Media, audio & embeddings
| Capability | Models |
|---|---|
| Image generation | gpt-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, Soul Standard, Reve |
| Video generation | Veo 3.1 Standard, Veo 3.1 Fast, Veo 3.1 Lite, Kling 2.1 Master, DoP Standard, Kling 2.1 Pro, DoP Turbo, DoP Lite |
| Speech → text | whisper-1, whisper-large-v3, whisper-large-v3-turbo, Voxtral Mini Transcribe |
| Text → speech | tts-1-hd, tts-1 with Nova, Gemini 3.1 Flash TTS, Gemini 2.5 Flash TTS, Voxtral 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 · 81 models · updated 2026-06-07 11:51 UTC
Prices are the provider's own rates, in USD per 1M tokens — Synaplan does not resell them through a proprietary credit unit. In the app, every model in the selector (and on every answer) carries a Free / Low / Mid / High cost badge derived from these numbers, and the Statistics page logs the real cost of each call. On web.synaplan.com that same catalog is what your plan meters against. See Model pricing & cost transparency in the FAQ.
Always-current list: the catalog evolves with each release. For the live, authoritative list of models enabled on an instance, call
GET /api/v1/modelswith your API key (see Code Examples) or open the model selector in the app.GET /api/v1/config/modelsadditionally returnspriceIn/priceOutper model.
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, Google Gemini, Groq, Mistral, TrustedTokens (Germany) and HuggingFace — pick a different model per task, with the price of each one visible before you choose.
- Multi-Task (DAG) Routing: An AI planner decomposes complex requests into a DAG of tasks with live progress streaming and multiple generated files per request.
- 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.
- Live Support: Realtime human takeover of widget chats via WebSockets (Centrifugo + Redis).
- 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, OpenCloud, and ownCloud.online as knowledge sources.
- OpenAI Compatibility: Drop-in endpoints for chat completions, image generation, and audio transcription.
- MCP Server & Client: Connect AI clients (Claude, Cursor, …) to Synaplan over the Model Context Protocol — your knowledge base and memories become tools, with one URL and one API key. And in the other direction, connect your MCP servers as live data sources for the multi-task planner.
Authentication
Synaplan uses a secure token-based authentication system:
-
API Key (Recommended for API integration)
- Send the header:
Authorization: Bearer YOUR_API_KEYorX-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.
- Send the header:
-
Session Cookies (For Browser-based apps)
- Used by the main frontend application.
- Implements an Access Token + Refresh Token system with OIDC/Keycloak support.
-
SSE Tokens (For Streaming)
- Since
EventSourcecannot 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/tokenendpoint.
- Since
-
Realtime Tokens (For WebSockets)
- Live-support features (chat takeover, typing indicators) use WebSockets via Centrifugo.
- The backend mints short-lived connection and subscription JWTs via
/api/v1/realtime/tokenand/api/v1/realtime/subscribe— see Architecture & Realtime.
-
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 |
|---|---|
| Quickstart & Self-Hosting | Install with Docker and avoid the model-download, Qdrant, TTS, and Galera pitfalls |
| Interactive API (Swagger) | Full endpoint reference with request/response schemas |
| REST Architecture | RESTful resources and legacy action endpoints |
| MCP — Server & Client | Connect AI clients via the Model Context Protocol, and connect your own MCP servers as data sources (Streamable HTTP, tools, auth, config) |
| Architecture & Realtime | Service map, message routing, Redis + Centrifugo realtime layer, clustering |
| Multi-Task (DAG) Routing | AI task planning, the capability set, live task cards, and the roadmap for open DAG endpoints |
| Code Examples | Copy-paste examples in cURL, JavaScript, PHP |
| Widget Integration | Embed the chat widget on any website |
| Plugins & Integrations | Synaads, Synaform 4.x, TTS, Synasort, Nextcloud, OpenCloud, ownCloud.online |
| Outlook Add-in (Synamail) | Generally available Outlook add-in |
| Developer FAQ | Installation, configuration, API keys, troubleshooting |