# API FAQ Synapse API के बारे में सामान्य प्रश्न। ## मैं प्रमाणित कैसे करूँ? दो विधियाँ: 1. **Mind Key** (डेटा एंडपॉइंट्स के लिए): `Authorization: Bearer mk_...` 2. **JWT** (खाता एंडपॉइंट्स के लिए): `Authorization: Bearer eyJ...` या क्वेरी पैरामीटर के माध्यम से (60 req/min सीमा): `?key=mk_...` [प्रमाणीकरण](/docs/getting-started/authentication) देखें। ## Mind Key और JWT में क्या अंतर है? - **Mind Key**: टैनेंट-स्कोप्ड, कभी समाप्त नहीं होता, memory/chat/tasks डेटा के लिए - **JWT**: उपयोगकर्ता-स्कोप्ड, 7-दिन समाप्ति, खाता/mind प्रबंधन के लिए [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) देखें। ## मुझे 401 Unauthorized क्यों मिल रहा है? सामान्य कारण: 1. `Authorization` हेडर गायब 2. अमान्य Mind Key (सत्यापित करें कि यह `mk_` से शुरू होता है) 3. Mind Key आवश्यक होने पर JWT का उपयोग (या इसके विपरीत) 4. Mind Key रद्द कर दी गई **समाधान:** अपने टोकन को सत्यापित करें। [प्रमाणीकरण](/docs/getting-started/authentication) देखें। ## मुझे 404 Not Found क्यों मिल रहा है? आपने गलत एंडपॉइंट पाथ का उपयोग किया। Synapse में केवल `GET /endpoints` में सूचीबद्ध पाथ हैं। **समाधान:** सभी वैध पाथ देखने के लिए `GET /endpoints` कॉल करें। अनुमान न लगाएँ। ## मुझे 429 Too Many Requests क्यों मिल रहा है? आप `?key=` क्वेरी पैरामीटर प्रमाणीकरण का उपयोग कर रहे हैं, जो 60/min तक सीमित है। **समाधान:** `Authorization: Bearer` हेडर पर स्विच करें (कोई रेट लिमिट नहीं)। [रेट लिमिट](/docs/api/rate-limits) देखें। ## मैं सभी एंडपॉइंट्स की सूची कैसे बनाऊँ? ```bash curl https://synapse.schaefer.zone/endpoints curl https://synapse.schaefer.zone/endpoints?format=text ``` ## मुझे सही एंडपॉइंट कैसे मिले? 1. मशीन-पठनीय सूची के लिए `GET /endpoints` जाँचें 2. पूर्ण API दस्तावेज़ के लिए `GET /help` जाँचें 3. दस्तावेज़ीकरण सिस्टम के लिए `GET /docs` ब्राउज़ करें 4. OpenAPI 3.0 विशेषता के लिए `GET /openapi.json` का उपयोग करें ## क्या मैं POST के बजाय GET का उपयोग कर सकता हूँ? कुछ POST एंडपॉइंट्स में URL-केवल टूल्स के लिए GET समकक्ष हैं: - `POST /memory` ↔ `GET /memory/store?content=...` - `POST /mind/task` ↔ `GET /mind/task?title=...` - `POST /chat/reply` ↔ `GET /chat/reply?content=...` उपलब्ध GET वेरिएंट्स के लिए `GET /endpoints` जाँचें। ## मैं त्रुटियों को कैसे संभालूँ? सभी त्रुटियाँ JSON लौटाती हैं: ```json { "statusCode": 401, "error": "Unauthorized", "message": "Mind Key fehlt oder ungültig.", "docs": "https://synapse.schaefer.zone/docs/getting-started/authentication" } ``` [त्रुटियाँ और त्रुटि प्रबंधन](/docs/api/errors) देखें। ## अनुरोध बॉडी सीमा क्या है? 10 MB। बड़े payloads (जैसे फ़ाइल अपलोड) के लिए, multipart एंडपॉइंट्स का उपयोग करें। ## क्या API CORS का समर्थन करता है? हाँ। सभी एंडपॉइंट्स लौटाते हैं: ``` Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Access-Control-Allow-Headers: Authorization, Content-Type, X-Synapse-JWT ``` ## क्या कोई SDK है? हाँ: - **Node.js**: `npm install synapse-memory-sdk` - **MCP**: `npx -y synapse-mcp-api@latest` विवरण के लिए [API Overview](/docs/api/overview) देखें। ## मैं पेजिनेशन कैसे करूँ? `?limit=` और `?offset=` का उपयोग करें: ```bash curl ".../memory?limit=50&offset=100" ``` डिफ़ॉल्ट सीमा: 100। अधिकतम: 500। ## क्या मैं मेमोरीज़ को श्रेणी या टैग से फ़िल्टर कर सकता हूँ? हाँ: ```bash curl ".../memory?category=project" curl ".../memory?tag=docker" curl ".../memory/by-tag?tag=production" ``` ## मैं मेमोरीज़ कैसे खोजूँ? दो तरीके: 1. **FTS5 कीवर्ड खोज**: `GET /memory/search?q=docker+swarm` 2. **सिमेंटिक खोज**: `GET /memory/semantic-search?q=container+orchestration` [FTS5 Search](/docs/concepts/fts5-search) और [सिमेंटिक खोज](/docs/concepts/semantic-search) देखें। ## मैं मेमोरी कैसे अपडेट करूँ? समान `category` + `key` के साथ POST `/memory` — मौजूदा मेमोरी अपडेट होती है, डुप्लिकेट नहीं होती। ```bash # Initial store curl -X POST .../memory -d '{"category":"fact","key":"user_name","content":"Michael"}' # Update (same key) curl -X POST .../memory -d '{"category":"fact","key":"user_name","content":"Michael Schäfer"}' ``` ## मैं मेमोरी कैसे हटाऊँ? ```bash curl -X DELETE -H "Authorization: Bearer $KEY" \ https://synapse.schaefer.zone/memory/mem_001 ``` ## क्या मैं बल्क हटा सकता हूँ? हाँ: ```bash curl -X POST .../memory/bulk-delete \ -d '{"ids": ["mem_001", "mem_002", "mem_003"]}' ``` ## अगले कदम - [API Overview](/docs/api/overview) - [त्रुटियाँ और त्रुटि प्रबंधन](/docs/api/errors) - [प्रमाणीकरण](/docs/getting-started/authentication)