Skip to main content

Vue d'ensemble de l'API & URL de base

Tous les endpoints de l'API Synapse, l'URL de base, les schémas d'authentification et les formats de réponse en un coup d'œil.


Vue d'ensemble de l'API & URL de base

L'API Synapse est une API HTTP RESTful. Tous les endpoints renvoient du JSON (sauf mention contraire). Cette page couvre l'essentiel à connaître avant d'explorer des endpoints spécifiques.

URL de base

https://synapse.schaefer.zone

Tous les chemins de cette documentation sont relatifs à cette URL de base. Pour les instances auto-hébergées, remplacez par votre propre URL.

Authentification

Deux méthodes, toutes deux envoyées via l'en-tête Authorization :

Authorization: Bearer YOUR_MIND_KEY    # pour les endpoints de données
Authorization: Bearer YOUR_JWT          # pour les endpoints de compte

Ou via un paramètre de requête (limité à 60/min) :

?key=YOUR_MIND_KEY

Voir Authentification pour plus de détails.

Groupes d'endpoints

Groupe Auth Description
Public Aucune Page d'accueil, santé, OpenAPI, docs
Memory Mind Key CRUD, recherche, sync, embeddings
Chat Mind Key / JWT Messagerie asynchrone entre humain et agent
Tasks Mind Key Gestion des tâches
Scripts Mind Key / JWT Stockage persistant de scripts
Scheduler Mind Key Tâches cron + variables
Webhooks Mind Key Rappels HTTP sur événements
Computers Mind Key / JWT Contrôle à distance d'ordinateurs
User/Minds JWT Compte + gestion des minds
Sharing JWT Partage de minds entre utilisateurs
Push JWT Abonnements Web Push
Tools Aucune Heure, calculatrice, aléatoire (utilitaires publics)

Formats de réponse

  • JSON (par défaut) : { "key": "value", ... }
  • Texte brut : /memory/recall renvoie du texte optimisé pour les LLM
  • HTML : /, /docs, /human, /support, /playground

Enveloppe de réponse standard

Les réponses de succès renvoient directement les données :

{ "id": "mem_001", "status": "stored" }

Les réponses d'erreur utilisent ce format :

{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Mind Key fehlt oder ungültig.",
  "docs": "https://synapse.schaefer.zone/docs/getting-started/authentication"
}
Le champ `docs` renvoie vers la documentation pertinente pour les erreurs courantes.

Codes d'état HTTP

Code Signification
200 Succès (GET, PUT)
201 Créé (POST)
204 Aucun contenu (DELETE)
400 Requête incorrecte (erreur de validation)
401 Non autorisé (jeton manquant/invalide)
403 Interdit (mauvais type de jeton)
404 Introuvable (le chemin n'existe pas)
409 Conflit (doublon)
429 Trop de requêtes (limite de débit)
500 Erreur serveur

Endpoints de découvrabilité

Endpoint Rôle
GET / Page d'accueil (optimisée LLM)
GET /endpoints Liste lisible par machine de tous les endpoints
GET /endpoints?format=text Liste d'endpoints en texte brut
GET /openapi.json Spécification OpenAPI 3.0
GET /help Documentation complète de l'API (HTML)
GET /help?format=json Docs de l'API en JSON
GET /docs Système de documentation (HTML)
GET /docs?format=json Index de documentation (JSON)
GET /docs?format=text&scope=all Toutes les docs en un bloc de texte
GET /playground Terrain de jeu interactif pour l'API

Limites de débit

Méthode d'auth Limite
Mind Key (en-tête) Aucune
Mind Key (?key=) 60/min par IP
JWT (en-tête) Aucune
Endpoints publics Aucune

Les réponses soumises à limite de débit incluent :

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
Retry-After: 30  (uniquement en cas de 429)

Pagination

Les endpoints de liste prennent en charge ?limit= et ?offset= :

GET /memory?limit=50&offset=100
GET /mind/tasks?status=pending

Limite par défaut : 100. Limite maximale : 500.

CORS

Tous les endpoints prennent en charge CORS pour les clients basés sur navigateur :

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Authorization, Content-Type, X-Synapse-JWT, Mcp-Session-Id, Mcp-Tool-Profile

SDK & Clients

  • SDK Node.js : npm install synapse-memory-sdk (dépôt)
  • Serveur MCP : npx -y synapse-mcp-api@latest (dépôt)
  • Client HTTP : n'importe quelle bibliothèque HTTP (curl, fetch, axios, etc.)

Prochaines étapes