प्रमाणीकरण
बेस URL: https://telepath.lemma.company/api/v1। हर अनुरोध में Authorization: Bearer <access_token> दें। Telegram बॉट टोकन, Telepath OAuth टोकन नहीं है।
- OAuth सर्वर मेटाडेटा पढ़ें और सटीक redirect URI देकर
POST /registerपर क्लाइंट रजिस्टर करें। - Authorization Code के साथ S256 PKCE इस्तेमाल करें: हर लॉगिन पर नया verifier/challenge, सहमति के लिए
/authorizeऔर विनिमय के लिए/token। - REST के लिए भी कैनोनिकल resource
https://telepath.lemma.company/mcpइस्तेमाल करें। पढ़ने के लिएtelegram.readऔर लिखने के लिएtelegram.writeमाँगें। हर एंडपॉइंट का scope नीचे है; HTTP POST का मतलब अपने-आप लिखने की पहुँच नहीं। - टोकन इंटीग्रेशन के credential store में रखें और समाप्ति पर
/tokenका refresh-token grant इस्तेमाल करें। रजिस्टर्ड क्लाइंट के प्रमाणीकरण तरीके का पालन करें। एक खाते के क्रेडेंशियल असंबंधित उपयोगकर्ताओं में साझा न करें।
n8n credential रजिस्ट्रेशन, PKCE और refresh संभालता है। कस्टम Make HTTP/OAuth कनेक्शन को यही आवश्यकताएँ सपोर्ट करनी होंगी; पूरा Make लॉगिन/refresh यहाँ सत्यापित नहीं है।
अनुरोध और जवाब
- GET इनपुट query string में जाते हैं। पाथ में chat ID दशमलव पूर्णांक हैं। JSON POST में numeric ID को संख्या और
Content-Type: application/jsonदें। बिना विकल्प वाले POST read में भी{}चाहिए। - अज्ञात इनपुट फ़ील्ड और POST query पैरामीटर अस्वीकृत होते हैं। JSON बॉडी सीमा 256 KB है। ID safe integer हों; chat ID ऋणात्मक हो सकता है लेकिन शून्य नहीं, message/note ID धनात्मक हों।
- तारीख़-समय ISO 8601 में
Zया स्पष्ट ऑफ़सेट के साथ दें। रिमाइंडर टाइमज़ोन IANA पहचानकर्ता है। नीचे के नियम अनुरोध स्कीमा के अतिरिक्त हैं। - HTTP 200 परिणाम ऑब्जेक्ट सीधे देता है, सामान्य data wrapper के बिना। अज्ञात फ़ील्ड, सेटअप/इतिहास सूचना, स्रोत/कवरेज मेटाडेटा और कोटा जानकारी बनाए रखें। सफल read खाली भी हो सकता है।
- सफल उदाहरण कृत्रिम और आंशिक हैं; वैकल्पिक फ़ील्ड गायब या null हो सकते हैं। फ़ोटो बैच में अलग आइटम की त्रुटियाँ हो सकती हैं। रिमाइंडर स्थिति
scheduledडिलीवरी का प्रमाण नहीं है। - ज़्यादातर read सीमित विंडो लौटाते हैं, पूर्ण pagination cursor नहीं। offset pagination सिर्फ़ reminders/list में वर्णित है। gateway सीमा प्रति खाता प्रति मिनट 120 अनुरोध है, सभी credentials में साझा; Telegram और प्लान सीमाएँ भी लागू हैं।
संग्रह, Session और खाते की सीमाएँ
साइन-इन खाते की पहुँच देता है, Telegram इतिहास अपने-आप नहीं जुटाता। Bot API संग्रह अनुमत नए संदेश रखता है; पुराना इतिहास अलग इंपोर्ट होता है। हर संदेश का outgoing webhook इस REST API में नहीं है; शेड्यूल read polling है और तेज़ ट्रैफ़िक या डाउनटाइम में संदेश छूट सकते हैं।
कनेक्टेड और सक्षम Session को पाँच चैट/संदेश खोज और टेक्स्ट-read ऑपरेशन में प्राथमिकता मिलती है। परिणाम में source: "telegram_session", history_archived: false, effective_limit, coverage और partial आते हैं। Session माँगी सीमा घटा सकती है (अभी 50 तक); खोज हाल के संवाद कवर करती है, पूरी डायरेक्टरी नहीं। Session त्रुटि या खाली परिणाम चुपचाप संग्रह पर नहीं बदलता।
REST की विशेष सीमा: अलग बॉट इनबॉक्स छोड़कर हर chat_id वाली कार्रवाई पहले संग्रह में चैट की मौजूदगी जाँचती है। Session जुड़े होने पर भी एक चैट पढ़ना और chat-filtered खोज इसमें आते हैं। सिर्फ़ Session में मिली चैट यहाँ 404 chat_not_found दे सकती है। बॉट इनबॉक्स ID उसी इनबॉक्स में जाँचे जाते हैं। यह संदर्भ Session से भेजने का वादा नहीं करता।
बॉट इनबॉक्स, Channel Direct Messages या निजी Business संदेश नहीं है। Business जवाब में reply अनुमति और पिछले 24 घंटे का आने वाला संदेश चाहिए। ग्रुप में बॉट भेजता है। चैनल कार्रवाई के लिए वर्तमान मालिकाना हक़, कनेक्शन और बॉट अधिकार चाहिए। Scope इन जाँचों या खाते की क्षमताओं को नहीं बदलता।
पैरामीटर, nested फ़ील्ड, अनुरोध उदाहरण और जवाब संरचना देखने के लिए ऑपरेशन खोलें। यह पेज उदाहरण नहीं चलाता। write चलाने से पहले उदाहरण ID और URL को अधिकृत लक्ष्य से बदलें।
चैट और ग्रुप
GET/chats/searchTelegram चैट खोजें
Scope: telegram.read · सिर्फ़ पढ़ना
नाम, username या numeric ID से चैट खोजें। यह पूरे Telegram की खोज नहीं है।
Query पैरामीटर
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
query | string अनिवार्य | खोज टेक्स्ट; Notes खोज खाली स्ट्रिंग भी स्वीकार करती है। minLength: 1 · maxLength: 1000 |
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 20। minimum: 1 · maximum: 100 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/chats/search?query=Example&limit=10' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN"HTTP 200 जवाब
count और chats; खोज में query हो सकता है। चैट में chat_id, name, type, username और संग्रह कवरेज फ़ील्ड हैं। Session read में source, coverage और partial भी हैं।
{
"count": 1,
"chats": [
{
"chat_id": 123456789,
"name": "Example contact",
"type": "private",
"username": null,
"message_count": 1
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
GET/messages/searchTelegram संदेश खोजें
Scope: telegram.read · सिर्फ़ पढ़ना
उपलब्ध संदेश टेक्स्ट खोजें। वैकल्पिक रूप से चैट और निचली तारीख़ सीमा दें।
Query पैरामीटर
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
query | string अनिवार्य | खोज टेक्स्ट; Notes खोज खाली स्ट्रिंग भी स्वीकार करती है। minLength: 1 · maxLength: 1000 |
chat_id | integer वैकल्पिक | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
since | string वैकल्पिक | ISO 8601 की निचली तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ। format: date-time |
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 30। minimum: 1 · maximum: 200 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/search?query=details&limit=20' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN"HTTP 200 जवाब
count और messages; एक चैट read में chat, खोज में query और तारीख़ फ़िल्टर में since हो सकता है। संदेश में chat_id, message_id, date, direction, text, text_source, sender और उपलब्ध मीडिया/ट्रांसक्रिप्ट मेटाडेटा हैं।
{
"count": 1,
"messages": [
{
"chat_id": 123456789,
"message_id": 42,
"chat_name": "Example contact",
"date": "2026-11-05T08:00:00.000Z",
"direction": "incoming",
"text": "Could you send the details?",
"text_source": "written",
"message_type": "text"
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
GET/chats/{chat_id}/messagesएक चैट पढ़ें
Scope: telegram.read · सिर्फ़ पढ़ना
चैट की सीमित संदेश विंडो पढ़ता है। read भेजने से पहले REST gateway खाते के संग्रह में चैट माँगता है।
पाथ: chat_id — अनिवार्य nonzero safe integer; चैट खाते के संग्रह में होनी चाहिए।
Query पैरामीटर
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
before | string वैकल्पिक | ISO 8601 की ऊपरी तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ। format: date-time |
since | string वैकल्पिक | ISO 8601 की ऊपरी तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ। format: date-time |
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 50। minimum: 1 · maximum: 200 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/chats/123456789/messages?limit=20' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN"HTTP 200 जवाब
count और messages; एक चैट read में chat, खोज में query और तारीख़ फ़िल्टर में since हो सकता है। संदेश में chat_id, message_id, date, direction, text, text_source, sender और उपलब्ध मीडिया/ट्रांसक्रिप्ट मेटाडेटा हैं।
{
"count": 1,
"messages": [
{
"chat_id": 123456789,
"message_id": 42,
"chat_name": "Example contact",
"date": "2026-11-05T08:00:00.000Z",
"direction": "incoming",
"text": "Could you send the details?",
"text_source": "written",
"message_type": "text"
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/chats/{chat_id}/messagesसंदेश भेजें
Scope: telegram.write · लिखने की कार्रवाई
ज्ञात निजी Business चैट या ग्रुप में भेजें। Business में reply अनुमति और 24 घंटे के भीतर आया संदेश चाहिए; ग्रुप में बॉट भेजता है। चैनल के लिए post ऑपरेशन इस्तेमाल करें। सामान्य send में idempotency key नहीं है।
पाथ: chat_id — अनिवार्य nonzero safe integer; चैट खाते के संग्रह में होनी चाहिए।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
text | string अनिवार्य | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। minLength: 1 · maxLength: 4096 |
reply_to_message_id | integer वैकल्पिक | जवाब देने के लिए वैकल्पिक संदेश। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_thread_id | integer वैकल्पिक | जवाब देने के लिए वैकल्पिक संदेश। minimum: -9007199254740991 · maximum: 9007199254740991 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/chats/123456789/messages' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"text":"Thanks for your message."}'HTTP 200 जवाब
फ़ील्ड: sent, chat_id, chat_name, message_id, date और text।
{
"sent": true,
"chat_id": 123456789,
"chat_name": "Example contact",
"message_id": 43,
"date": "2026-11-05T08:01:00.000Z",
"text": "Thanks for your message."
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/messages/photosसंग्रह से कई फ़ोटो लें
Scope: telegram.read · सिर्फ़ पढ़ना
एक संग्रहित चैट से पाँच तक फ़ोटो लें। फ़ोटो डेटा और समाप्त होने वाले लिंक मिलते हैं; n8n ChatGPT फ़ोटो विजेट नहीं दिखाता।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_ids | array अनिवार्य | एक चैट के 1–5 धनात्मक message ID। minItems: 1 · maxItems: 5 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/photos' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"message_ids":[42]}'HTTP 200 जवाब
count, bytes_per_photo और photos। हर आइटम में message_id और फ़ोटो फ़ील्ड या उसकी त्रुटि है; HTTP 200 का अर्थ सभी फ़ोटो लोड होना नहीं।
{
"count": 1,
"bytes_per_photo": 250000,
"photos": [
{
"message_id": 42,
"data": "<base64 image bytes>",
"mimeType": "image/jpeg",
"bytes": 12345,
"caption": null,
"url": null
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/chats/listTelegram चैट की सूची
Scope: telegram.read · सिर्फ़ पढ़ना
संग्रहित चैट, जुड़े चैनल सहित सूचीबद्ध करें। खाली संग्रह का अर्थ Telegram में संदेश न होना नहीं।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 20। minimum: 1 · maximum: 200 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/chats/list' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"limit":10}'HTTP 200 जवाब
count और chats; खोज में query हो सकता है। चैट में chat_id, name, type, username और संग्रह कवरेज फ़ील्ड हैं। Session read में source, coverage और partial भी हैं।
{
"count": 1,
"chats": [
{
"chat_id": 123456789,
"name": "Example contact",
"type": "private",
"username": null,
"message_count": 1
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/messages/recentहाल के संदेश पढ़ें
Scope: telegram.read · सिर्फ़ पढ़ना
अलग चैट के हाल में सहेजे संदेश पढ़ें। Telegram कनेक्शन के बाद नया संग्रह शुरू होता है; पुराना इतिहास इंपोर्ट करना होता है।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 20। minimum: 1 · maximum: 200 |
since | string वैकल्पिक | ISO 8601 की निचली तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ। format: date-time |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/recent' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"limit":20}'HTTP 200 जवाब
count और messages; एक चैट read में chat, खोज में query और तारीख़ फ़िल्टर में since हो सकता है। संदेश में chat_id, message_id, date, direction, text, text_source, sender और उपलब्ध मीडिया/ट्रांसक्रिप्ट मेटाडेटा हैं।
{
"count": 1,
"messages": [
{
"chat_id": 123456789,
"message_id": 42,
"chat_name": "Example contact",
"date": "2026-11-05T08:00:00.000Z",
"direction": "incoming",
"text": "Could you send the details?",
"text_source": "written",
"message_type": "text"
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/messages/fileसंग्रहित फ़ाइल पढ़ें
Scope: telegram.read · सिर्फ़ पढ़ना
फ़ाइल मेटाडेटा, समाप्त होने वाला लिंक और समर्थित होने पर निकाला टेक्स्ट लें। सहेजे Telegram file ID के बिना इंपोर्ट फ़ाइल अनुपलब्ध हो सकती है। डाउनलोड लिंक दूसरों से साझा न करें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_id | integer अनिवार्य | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
include_text | boolean वैकल्पिक | समर्थित टेक्स्ट extraction आज़माएँ या नहीं; यह ट्रांसक्रिप्शन नहीं। |
max_chars | integer वैकल्पिक | निकाले जाने वाले अधिकतम अक्षर। minimum: 1 · maximum: 50000 |
offset_lines | integer वैकल्पिक | निकाले टेक्स्ट का शुरुआती line offset। minimum: 0 · maximum: 1000000 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/file' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"message_id":42,"include_text":true}'HTTP 200 जवाब
filename, mimeType, bytes, message_type, caption, अस्थायी url और वैकल्पिक निकाला text। text_error, text_truncated और line ranges जाँचें; केवल टेक्स्ट एक्सपोर्ट का मीडिया अनुपलब्ध हो सकता है।
{
"filename": "example.txt",
"mimeType": "text/plain",
"bytes": 7,
"message_type": "document",
"caption": null,
"url": null,
"text": "Example",
"text_truncated": false,
"text_error": null
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/messages/photoसंग्रहित फ़ोटो लें
Scope: telegram.read · सिर्फ़ पढ़ना
Telepath के मीडिया लोडर से फ़ोटो डेटा और मेटाडेटा लौटाता है। चित्र दिखाना या समझना क्लाइंट पर निर्भर है; यह image-analysis एंडपॉइंट नहीं।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_id | integer अनिवार्य | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/photo' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"message_id":42}'HTTP 200 जवाब
Base64 डेटा, mimeType, bytes, caption और उपलब्ध हो तो अस्थायी url। यह चित्र लाता है, उसका विश्लेषण नहीं करता।
{
"data": "<base64 image bytes>",
"mimeType": "image/jpeg",
"bytes": 12345,
"caption": null,
"url": null
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/messages/send-mediaफ़ोटो या दस्तावेज़ भेजें
Scope: telegram.write · लिखने की कार्रवाई
भेजने से पहले प्राप्तकर्ता और मीडिया की पुष्टि करें। ठीक एक स्रोत दें: सार्वजनिक HTTP(S) URL या अपने संग्रह का from_chat_id और from_message_id। निजी संदेशों में Business अनुमतियाँ लागू हैं; ग्रुप में बॉट भेजता है। अनिश्चित डिलीवरी के बाद अपने-आप पुनः प्रयास न करें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
from_chat_id | integer वैकल्पिक | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
from_message_id | integer वैकल्पिक | from_chat_id में स्रोत संदेश। minimum: -9007199254740991 · maximum: 9007199254740991 |
url | string वैकल्पिक | मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें। pattern: ^https?:\/\/ · format: uri |
caption | string वैकल्पिक | maxLength: 1024 |
as_document | boolean वैकल्पिक | मीडिया को दस्तावेज़ की तरह भेजें। |
reply_to_message_id | integer वैकल्पिक | from_chat_id में स्रोत संदेश। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_thread_id | integer वैकल्पिक | from_chat_id में स्रोत संदेश। minimum: -9007199254740991 · maximum: 9007199254740991 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/send-media' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"url":"https://example.com/example.pdf","as_document":true}'HTTP 200 जवाब
sent, kind, chat_id, chat_name, message_id, filename, caption और sent_as। टाइमआउट के बाद डिलीवरी अनिश्चित हो सकती है।
{
"sent": true,
"kind": "document",
"chat_id": 123456789,
"chat_name": "Example contact",
"message_id": 44,
"filename": "example.pdf",
"caption": null,
"sent_as": "you"
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/messages/editभेजा संदेश संपादित करें
Scope: telegram.write · लिखने की कार्रवाई
सटीक नया टेक्स्ट और प्राप्तकर्ता की पुष्टि करें। केवल योग्य outgoing संदेश बदल सकते हैं। चैनल पोस्ट के लिए अलग टूल हैं।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_id | integer अनिवार्य | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
text | string अनिवार्य | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। minLength: 1 · maxLength: 4096 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/edit' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"message_id":43,"text":"Updated reply."}'HTTP 200 जवाब
edited, chat_id, message_id और नया text।
{
"edited": true,
"chat_id": 123456789,
"message_id": 43,
"text": "Updated reply."
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/messages/mark-readबातचीत पढ़ी हुई चिह्नित करें
Scope: telegram.write · लिखने की कार्रवाई
Telegram में Business बातचीत को दिए या सबसे नए ज्ञात संदेश तक पढ़ा हुआ चिह्नित करता है। इससे unread स्थिति बदलती है; सामान्य संग्रह read से नहीं।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_id | integer वैकल्पिक | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/mark-read' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"message_id":42}'HTTP 200 जवाब
फ़ील्ड: marked_read, chat_id, chat_name और up_to_message_id।
{
"marked_read": true,
"chat_id": 123456789,
"chat_name": "Example contact",
"up_to_message_id": 42
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/messages/reactionप्रतिक्रिया लगाएँ या हटाएँ
Scope: telegram.write · लिखने की कार्रवाई
लक्ष्य और emoji की पुष्टि करें। समर्थित ग्रुप या अधिकृत जुड़े चैनल में बॉट प्रतिक्रिया देता है; निजी Business प्रतिक्रियाएँ समर्थित नहीं। बॉट प्रतिक्रिया हटाने के लिए emoji छोड़ दें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_id | integer अनिवार्य | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
emoji | string वैकल्पिक | Telegram-समर्थित प्रतिक्रिया। बॉट प्रतिक्रिया हटाने के लिए छोड़ दें। maxLength: 100 |
big | boolean वैकल्पिक | बड़ी प्रतिक्रिया एनीमेशन माँगें। |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/messages/reaction' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":-1001234567890,"message_id":42,"emoji":"👍"}'HTTP 200 जवाब
ग्रुप में: ok, chat_id, chat_name, message_id, reaction, removed और reacted_as। चैनल परिणाम में emoji और sent_as इस्तेमाल होते हैं।
{
"ok": true,
"chat_id": -1001234567890,
"chat_name": "Example group",
"message_id": 42,
"reaction": "👍",
"removed": false,
"reacted_as": "the bot"
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
बॉट इनबॉक्स
POST/bot/messagesबॉट इनबॉक्स संदेश सूची
Scope: telegram.read · सिर्फ़ पढ़ना
बॉट का अलग निजी-संदेश इनबॉक्स पढ़ें। chat ID समान हो तब भी इसे निजी Business चैट से न मिलाएँ।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 20। minimum: 1 · maximum: 100 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/bot/messages' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"limit":10}'HTTP 200 जवाब
count, note और messages। प्रविष्टि में line=bot_dm, भेजने वाले का नाम, date, text और also_has_business_chat हैं। यह इनबॉक्स Business चैट और चैनल DM से अलग है।
{
"count": 1,
"messages": [
{
"chat_id": 123456789,
"message_id": 42,
"from": "Example contact",
"date": "2026-11-05T08:00:00.000Z",
"text": "Hello",
"line": "bot_dm",
"also_has_business_chat": false
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/bot/replyबॉट इनबॉक्स में जवाब दें
Scope: telegram.write · लिखने की कार्रवाई
इस खाते के बॉट इनबॉक्स में मौजूद व्यक्ति को बॉट की ओर से अधिकृत जवाब भेजें। मालिक की Business चैट में जवाब नहीं देता। अनिश्चित डिलीवरी को अपने-आप दोबारा न भेजें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
text | string अनिवार्य | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। minLength: 1 · maxLength: 4096 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/bot/reply' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"text":"Thanks for your message."}'HTTP 200 जवाब
फ़ील्ड: ok, chat_id, sent_as और message_id।
{
"ok": true,
"chat_id": 123456789,
"sent_as": "the bot",
"message_id": 43
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/bot/reactionबॉट इनबॉक्स में प्रतिक्रिया दें
Scope: telegram.write · लिखने की कार्रवाई
इस खाते के अलग बॉट इनबॉक्स के संदेश पर बॉट की प्रतिक्रिया लगाएँ। हटाने के लिए emoji छोड़ें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer अनिवार्य | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
message_id | integer अनिवार्य | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
emoji | string वैकल्पिक | Telegram-समर्थित प्रतिक्रिया। बॉट प्रतिक्रिया हटाने के लिए छोड़ दें। maxLength: 100 |
big | boolean वैकल्पिक | बड़ी प्रतिक्रिया एनीमेशन माँगें। |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/bot/reaction' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"message_id":42,"emoji":"👍"}'HTTP 200 जवाब
फ़ील्ड: ok, chat_id, message_id, reaction, removed और reacted_as।
{
"ok": true,
"chat_id": 123456789,
"message_id": 42,
"reaction": "👍",
"removed": false,
"reacted_as": "the bot"
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
संग्रह
POST/archive/forgetसंग्रहित संदेश हटाएँ
Scope: telegram.write · लिखने की कार्रवाई
तय दायरे में Telepath संग्रह के संदेश स्थायी रूप से हटाएँ, Telegram से नहीं। खाते में संग्रह हटाने की क्षमता और स्पष्ट पुष्टि चाहिए। chat_id, before या दोनों दें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
chat_id | integer वैकल्पिक | चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग। minimum: -9007199254740991 · maximum: 9007199254740991 |
before | string वैकल्पिक | ISO 8601 की ऊपरी तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ। format: date-time |
confirmed | boolean अनिवार्य | true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी। true के बराबर होना चाहिए |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/archive/forget' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"chat_id":123456789,"confirmed":true}'HTTP 200 जवाब
forgotten (पंक्तियों की संख्या), chat_id या null, before या null और बची कॉपियों की सूचना। संग्रह डेटा हटता है, Telegram बातचीत नहीं।
{
"forgotten": 3,
"chat_id": 123456789,
"before": null,
"note": "Removed from the archive. Telegram retains its copy."
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
Notes
POST/notes/searchनोट्स खोजें
Scope: telegram.read · सिर्फ़ पढ़ना
इस खाते के Notes खोजें। खाली query हाल के नोट्स लौटाती है। वैकल्पिक tag फ़िल्टर है।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
query | string अनिवार्य | खोज टेक्स्ट; Notes खोज खाली स्ट्रिंग भी स्वीकार करती है। maxLength: 1000 |
tag | string वैकल्पिक | वैकल्पिक सटीक tag फ़िल्टर। maxLength: 100 |
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 20। minimum: 1 · maximum: 100 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/notes/search' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"query":"Follow up","limit":10}'HTTP 200 जवाब
count और notes; खोज में query भी है। list/search में संक्षेप हैं, पूरा body, links या backlinks नहीं; उनके लिए notes/get लें।
{
"count": 1,
"notes": [
{
"id": 17,
"title": "Follow up",
"type": "note",
"tags": [],
"task_status": null,
"reminder": null,
"created_at": "2026-11-05T08:00:00.000Z",
"updated_at": "2026-11-05T08:00:00.000Z"
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/notes/getनोट पढ़ें
Scope: telegram.read · सिर्फ़ पढ़ना
लिंक और backlinks सहित नोट, टास्क, प्रोजेक्ट या व्यक्ति पढ़ें। ID या सटीक title दें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
id | integer वैकल्पिक | नीचे दिए प्रकार का note या reminder ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
title | string वैकल्पिक | नोट title (किनारे की खाली जगह हटाकर 1–500 अक्षर); ID न हो तो सटीक title से चयन। minLength: 1 · maxLength: 500 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/notes/get' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"id":17}'HTTP 200 जवाब
नोट ऑब्जेक्ट: id, title, body, tags, type, task_status, reminder, created_at, updated_at, links और backlinks।
{
"id": 17,
"title": "Follow up",
"body": "Send the requested details.",
"tags": [],
"type": "note",
"task_status": null,
"reminder": null,
"created_at": "2026-11-05T08:00:00.000Z",
"updated_at": "2026-11-05T08:00:00.000Z",
"links": [],
"backlinks": []
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/notes/listनोट्स की सूची
Scope: telegram.read · सिर्फ़ पढ़ना
हाल के नोट्स, टास्क और प्रोजेक्ट सूचीबद्ध करें। ज़रूरत पर tag फ़िल्टर दें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
tag | string वैकल्पिक | वैकल्पिक सटीक tag फ़िल्टर। maxLength: 100 |
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 30। minimum: 1 · maximum: 200 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/notes/list' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"limit":10}'HTTP 200 जवाब
count और notes; खोज में query भी है। list/search में संक्षेप हैं, पूरा body, links या backlinks नहीं; उनके लिए notes/get लें।
{
"count": 1,
"notes": [
{
"id": 17,
"title": "Follow up",
"type": "note",
"tags": [],
"task_status": null,
"reminder": null,
"created_at": "2026-11-05T08:00:00.000Z",
"updated_at": "2026-11-05T08:00:00.000Z"
}
]
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/notes/createनोट या टास्क बनाएँ
Scope: telegram.write · लिखने की कार्रवाई
उपयोगकर्ता की मंज़ूर सामग्री सहेजें। title अद्वितीय हैं; [[Title]] लिंक और tags लें। प्रकार: note, project, person, task। केवल open टास्क पर स्पष्ट मंज़ूर रिमाइंडर शेड्यूल करें। quota विफलता का अर्थ कुछ सहेजा नहीं गया। डुप्लिकेट से पहले खोजें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
title | string अनिवार्य | नोट title (किनारे की खाली जगह हटाकर 1–500 अक्षर); ID न हो तो सटीक title से चयन। minLength: 1 · maxLength: 500 |
body | string वैकल्पिक | नोट body, 50,000 अक्षर तक; खाली स्ट्रिंग अर्थपूर्ण है। maxLength: 50000 |
tags | array वैकल्पिक | अधिकतम 100 स्ट्रिंग, हर एक 100 अक्षर तक। update पर सभी tags बदलता है। maxItems: 100 |
type | string वैकल्पिक | मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार। अनुमत: note, project, person, task |
task_status | string वैकल्पिक | open या done; टास्क पूरा करने से रिमाइंडर रद्द होता है। अनुमत: open, done |
reminder | object | null वैकल्पिक | वैकल्पिक task reminder ऑब्जेक्ट, या रद्द करने के लिए null। सिर्फ़ open टास्क पर मान्य। |
reminder.text | string मूल ऑब्जेक्ट देने पर अनिवार्य | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। minLength: 1 · maxLength: 1500 |
reminder.at | string मूल ऑब्जेक्ट देने पर अनिवार्य | अगले पाँच वर्षों में भविष्य का ISO 8601 समय, स्पष्ट ऑफ़सेट के साथ। format: date-time |
reminder.timezone | string मूल ऑब्जेक्ट देने पर अनिवार्य | IANA timezone, जैसे Europe/London। minLength: 1 · maxLength: 80 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/notes/create' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"title":"Follow up","body":"Send the requested details."}'HTTP 200 जवाब
नोट ऑब्जेक्ट: id, title, body, tags, type, task_status, reminder, created_at, updated_at, links और backlinks।
{
"id": 17,
"title": "Follow up",
"body": "Send the requested details.",
"tags": [],
"type": "note",
"task_status": null,
"reminder": null,
"created_at": "2026-11-05T08:00:00.000Z",
"updated_at": "2026-11-05T08:00:00.000Z",
"links": [],
"backlinks": []
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/notes/updateनोट या टास्क अपडेट करें
Scope: telegram.write · लिखने की कार्रवाई
संपादन से पहले पढ़ें। नाम बदलने में ID लें; अन्यथा title मौजूदा नोट चुनता है। छोड़े फ़ील्ड रहते हैं, append body जोड़ता है, tags सभी tags बदलता है। reminder:null या टास्क पूरा करना रिमाइंडर रद्द करता है। विनाशकारी बदलाव की पुष्टि लें। append अपने-आप दोबारा न चलाएँ।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
id | integer वैकल्पिक | नीचे दिए प्रकार का note या reminder ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
title | string वैकल्पिक | नोट title (किनारे की खाली जगह हटाकर 1–500 अक्षर); ID न हो तो सटीक title से चयन। minLength: 1 · maxLength: 500 |
body | string वैकल्पिक | नोट body, 50,000 अक्षर तक; खाली स्ट्रिंग अर्थपूर्ण है। maxLength: 50000 |
tags | array वैकल्पिक | अधिकतम 100 स्ट्रिंग, हर एक 100 अक्षर तक। update पर सभी tags बदलता है। maxItems: 100 |
type | string वैकल्पिक | मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार। अनुमत: note, project, person, task |
task_status | string वैकल्पिक | open या done; टास्क पूरा करने से रिमाइंडर रद्द होता है। अनुमत: open, done |
reminder | object | null वैकल्पिक | वैकल्पिक task reminder ऑब्जेक्ट, या रद्द करने के लिए null। सिर्फ़ open टास्क पर मान्य। |
reminder.text | string मूल ऑब्जेक्ट देने पर अनिवार्य | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। minLength: 1 · maxLength: 1500 |
reminder.at | string मूल ऑब्जेक्ट देने पर अनिवार्य | अगले पाँच वर्षों में भविष्य का ISO 8601 समय, स्पष्ट ऑफ़सेट के साथ। format: date-time |
reminder.timezone | string मूल ऑब्जेक्ट देने पर अनिवार्य | IANA timezone, जैसे Europe/London। minLength: 1 · maxLength: 80 |
append | boolean वैकल्पिक | body बदलने की जगह अंत में जोड़ें। |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/notes/update' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"id":17,"body":"Updated details."}'HTTP 200 जवाब
नोट ऑब्जेक्ट: id, title, body, tags, type, task_status, reminder, created_at, updated_at, links और backlinks।
{
"id": 17,
"title": "Follow up",
"body": "Send the requested details.",
"tags": [],
"type": "note",
"task_status": null,
"reminder": null,
"created_at": "2026-11-05T08:00:00.000Z",
"updated_at": "2026-11-05T08:00:00.000Z",
"links": [],
"backlinks": []
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/notes/deleteनोट हटाएँ
Scope: telegram.write · लिखने की कार्रवाई
उपयोगकर्ता की पुष्टि के बाद चुना नोट स्थायी रूप से हटाएँ। उसका task reminder भी रद्द होता है। ID या सटीक title दें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
id | integer वैकल्पिक | नीचे दिए प्रकार का note या reminder ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
title | string वैकल्पिक | नोट title (किनारे की खाली जगह हटाकर 1–500 अक्षर); ID न हो तो सटीक title से चयन। minLength: 1 · maxLength: 500 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/notes/delete' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"id":17}'HTTP 200 जवाब
फ़ील्ड: deleted, id और title।
{
"deleted": true,
"id": 17,
"title": "Follow up"
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
रिमाइंडर
POST/reminders/createरिमाइंडर बनाएँ
Scope: telegram.write · लिखने की कार्रवाई
एक बार का रिमाइंडर केवल प्रमाणित खाते के मालिक को। समय, timezone और टेक्स्ट स्पष्ट करें; मंज़ूरी पर ही बनाएँ। retry में वही request_id और विवरण रखें। सीमा task reminder से साझा है। scheduled का अर्थ delivered नहीं।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
text | string अनिवार्य | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। minLength: 1 · maxLength: 1500 |
at | string अनिवार्य | अगले पाँच वर्षों में भविष्य का ISO 8601 समय, स्पष्ट ऑफ़सेट के साथ। format: date-time |
timezone | string अनिवार्य | IANA timezone, जैसे Europe/London। minLength: 1 · maxLength: 80 |
request_id | string वैकल्पिक | 8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ। minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$ |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/reminders/create' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"text":"Follow up","at":"2027-01-15T09:00:00Z","timezone":"Europe/London","request_id":"reminder-example-001"}'HTTP 200 जवाब
reminder, created और quota। समान request_id दोहराने पर created=false। scheduled का अर्थ delivered नहीं।
{
"reminder": {
"id": "r_example_reminder",
"kind": "standalone",
"note_id": null,
"at": "2027-01-15T09:00:00.000Z",
"timezone": "Europe/London",
"text": "Follow up",
"status": "scheduled"
},
"created": true
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/reminders/listरिमाइंडर की सूची
Scope: telegram.read · सिर्फ़ पढ़ना
अलग और task reminder तथा डिलीवरी स्थिति सूचीबद्ध करें। बची निर्माण सीमा से स्वतंत्र उपलब्ध है। डिफ़ॉल्ट में done/cancelled बाहर हैं। uncertain का अर्थ delivered नहीं।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
status | string वैकल्पिक | रिमाइंडर डिलीवरी स्थिति फ़िल्टर। अनुमत: scheduled, sending, delivered, failed, uncertain, cancelled, done |
limit | integer वैकल्पिक | अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 30। minimum: 1 · maximum: 100 |
offset | integer वैकल्पिक | रिमाइंडर सूची offset। minimum: 0 · maximum: 1000000 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/reminders/list' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"limit":10,"offset":0}'HTTP 200 जवाब
count, total, reminders, next_offset (या null) और quota। offset pagination समर्थित है।
{
"count": 1,
"total": 1,
"reminders": [
{
"id": "r_example_reminder",
"kind": "standalone",
"note_id": null,
"at": "2027-01-15T09:00:00.000Z",
"timezone": "Europe/London",
"text": "Follow up",
"status": "scheduled"
}
],
"next_offset": null
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/reminders/cancelरिमाइंडर रद्द करें
Scope: telegram.write · लिखने की कार्रवाई
मालिक के अनुरोध पर ID से रद्द करें; जुड़ा टास्क रहता है। Notes निर्माण बंद या सीमा समाप्त होने पर भी उपलब्ध। रद्द करने से निर्माण कोटा वापस नहीं आता, भेजा संदेश वापस नहीं होता।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
id | string अनिवार्य | नीचे दिए प्रकार का note या reminder ID। minLength: 1 · maxLength: 100 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/reminders/cancel' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"id":"r_example_reminder"}'HTTP 200 जवाब
reminder और cancelled। लौटाई स्थिति जाँचें; रद्द करने से पहुँचा संदेश वापस नहीं होता।
{
"reminder": {
"id": "r_example_reminder",
"kind": "standalone",
"note_id": null,
"at": "2027-01-15T09:00:00.000Z",
"timezone": "Europe/London",
"text": "Follow up",
"status": "cancelled"
},
"cancelled": true
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
चैनल
POST/channels/posts/createचैनल पोस्ट प्रकाशित करें
Scope: telegram.write · लिखने की कार्रवाई
जिस जुड़े चैनल के अभी मालिक हैं, उसमें प्रकाशित करें। चैनल, टेक्स्ट, सभी मीडिया और बटन लक्ष्य दिखाकर स्पष्ट मंज़ूरी लें। टेक्स्ट, एक फ़ोटो/दस्तावेज़ या 2–10 आइटम का एल्बम समर्थित है। एल्बम में बटन नहीं, दस्तावेज़ फ़ोटो/वीडियो से नहीं मिल सकते। कैप्शन 1024 तक। Post messages अधिकार चाहिए। समान retry में request_id रखें; अनिश्चित डिलीवरी पर नया ID न लें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
channel_id | integer अनिवार्य | इस खाते के वर्तमान स्वामित्व वाले जुड़े चैनल का negative safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
request_id | string अनिवार्य | 8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ। minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$ |
confirmed | boolean अनिवार्य | true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी। true के बराबर होना चाहिए |
text | string वैकल्पिक | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। maxLength: 4096 |
media | object वैकल्पिक | HTTPS URL वाला एक फ़ोटो या दस्तावेज़। |
media.type | string मूल ऑब्जेक्ट देने पर अनिवार्य | मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार। अनुमत: photo, document |
media.url | string मूल ऑब्जेक्ट देने पर अनिवार्य | मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें। pattern: ^https\:\/\/ · format: uri |
buttons | array वैकल्पिक | पाँच पंक्तियों तक, हर पंक्ति में 1–4 HTTPS लिंक बटन; edit में [] बटन हटाता है। maxItems: 5 |
buttons[][].text | string मूल ऑब्जेक्ट देने पर अनिवार्य | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। minLength: 1 · maxLength: 64 |
buttons[][].url | string मूल ऑब्जेक्ट देने पर अनिवार्य | मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें। pattern: ^https\:\/\/ · format: uri |
format | string वैकल्पिक | चैनल सामग्री के लिए plain या HTML। अनुमत: plain, HTML |
album | array वैकल्पिक | 2–10 फ़ोटो/वीडियो/दस्तावेज़; एल्बम सीमाएँ देखें। minItems: 2 · maxItems: 10 |
album[].type | string मूल ऑब्जेक्ट देने पर अनिवार्य | मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार। अनुमत: photo, video, document |
album[].url | string मूल ऑब्जेक्ट देने पर अनिवार्य | मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें। pattern: ^https\:\/\/ · format: uri |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/channels/posts/create' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"channel_id":-1001234567890,"request_id":"post-create-example-001","confirmed":true,"text":"Example announcement."}'HTTP 200 जवाब
ok, channel_id, channel_title, message_id और action। एल्बम में message_ids और media_group_id भी। सफल समान request_id retry सहेजा परिणाम लौटाता है।
{
"ok": true,
"channel_id": -1001234567890,
"channel_title": "Example channel",
"message_id": 42,
"action": "telegram_create_post"
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/channels/posts/editचैनल पोस्ट संपादित करें
Scope: telegram.write · लिखने की कार्रवाई
पहले पढ़ें, चैनल और सटीक बदलाव की पुष्टि करें। छोड़े फ़ील्ड रहते हैं; खाली buttons उन्हें हटाता है। वर्तमान स्वामित्व और Edit messages चाहिए। एक एल्बम आइटम बदलता है, पूरा नहीं। समान retry में वही request_id रखें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
channel_id | integer अनिवार्य | इस खाते के वर्तमान स्वामित्व वाले जुड़े चैनल का negative safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
request_id | string अनिवार्य | 8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ। minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$ |
confirmed | boolean अनिवार्य | true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी। true के बराबर होना चाहिए |
text | string वैकल्पिक | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। maxLength: 4096 |
media | object वैकल्पिक | HTTPS URL वाला एक फ़ोटो या दस्तावेज़। |
media.type | string मूल ऑब्जेक्ट देने पर अनिवार्य | मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार। अनुमत: photo, document |
media.url | string मूल ऑब्जेक्ट देने पर अनिवार्य | मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें। pattern: ^https\:\/\/ · format: uri |
buttons | array वैकल्पिक | पाँच पंक्तियों तक, हर पंक्ति में 1–4 HTTPS लिंक बटन; edit में [] बटन हटाता है। maxItems: 5 |
buttons[][].text | string मूल ऑब्जेक्ट देने पर अनिवार्य | संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है। minLength: 1 · maxLength: 64 |
buttons[][].url | string मूल ऑब्जेक्ट देने पर अनिवार्य | मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें। pattern: ^https\:\/\/ · format: uri |
format | string वैकल्पिक | चैनल सामग्री के लिए plain या HTML। अनुमत: plain, HTML |
message_id | integer अनिवार्य | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/channels/posts/edit' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"channel_id":-1001234567890,"message_id":42,"request_id":"post-edit-example-001","confirmed":true,"text":"Updated announcement."}'HTTP 200 जवाब
ok, channel_id, channel_title, message_id और action। एल्बम में message_ids और media_group_id भी। सफल समान request_id retry सहेजा परिणाम लौटाता है।
{
"ok": true,
"channel_id": -1001234567890,
"channel_title": "Example channel",
"message_id": 42,
"action": "telegram_edit_post"
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/channels/posts/deleteचैनल पोस्ट हटाएँ
Scope: telegram.write · लिखने की कार्रवाई
पुष्टि के बाद एक संग्रहित पोस्ट Telegram से स्थायी रूप से हटाएँ। वर्तमान स्वामित्व, Delete messages और Telegram deletion window चाहिए। केवल संग्रह से नहीं हटता। समान retry में वही request_id रखें।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
channel_id | integer अनिवार्य | इस खाते के वर्तमान स्वामित्व वाले जुड़े चैनल का negative safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
request_id | string अनिवार्य | 8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ। minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$ |
confirmed | boolean अनिवार्य | true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी। true के बराबर होना चाहिए |
message_id | integer अनिवार्य | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/channels/posts/delete' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"channel_id":-1001234567890,"message_id":42,"request_id":"post-delete-example-001","confirmed":true}'HTTP 200 जवाब
ok, channel_id, channel_title, message_id और action। एल्बम में message_ids और media_group_id भी। सफल समान request_id retry सहेजा परिणाम लौटाता है।
{
"ok": true,
"channel_id": -1001234567890,
"channel_title": "Example channel",
"message_id": 42,
"action": "telegram_delete_post"
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
POST/channels/posts/pinपोस्ट पिन या अनपिन करें
Scope: telegram.write · लिखने की कार्रवाई
चैनल, पोस्ट और इच्छित स्थिति की पुष्टि करें। केवल इसी पोस्ट को पिन/अनपिन करता है; वर्तमान स्वामित्व और Edit messages चाहिए। समान retry में वही request_id।
JSON बॉडी
| पैरामीटर | प्रकार / अनिवार्यता | विवरण / सीमाएँ |
|---|---|---|
channel_id | integer अनिवार्य | इस खाते के वर्तमान स्वामित्व वाले जुड़े चैनल का negative safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
request_id | string अनिवार्य | 8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ। minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$ |
confirmed | boolean अनिवार्य | true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी। true के बराबर होना चाहिए |
message_id | integer अनिवार्य | चुनी चैट में संदेश का positive safe integer ID। minimum: -9007199254740991 · maximum: 9007199254740991 |
pinned | boolean अनिवार्य | पिन के लिए true, अनपिन के लिए false। |
अनुरोध उदाहरण
curl 'https://telepath.lemma.company/api/v1/channels/posts/pin' \
-H "Authorization: Bearer $TELEPATH_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"channel_id":-1001234567890,"message_id":42,"request_id":"post-pin-example-001","confirmed":true,"pinned":true}'HTTP 200 जवाब
ok, channel_id, channel_title, message_id और action। एल्बम में message_ids और media_group_id भी। सफल समान request_id retry सहेजा परिणाम लौटाता है।
{
"ok": true,
"channel_id": -1001234567890,
"channel_title": "Example channel",
"message_id": 42,
"action": "telegram_set_post_pinned"
}साझा त्रुटियाँ और पुनः प्रयास नियम देखें। हर ऑपरेशन में खाते की अनुमतियाँ और सुविधा उपलब्धता जाँची जाती हैं।
त्रुटियाँ और पुनः प्रयास नियम
त्रुटियाँ आम तौर पर {"error":"code","error_description":"explanation"} हैं। reminder quota त्रुटियों में quota भी है। प्रमाणीकरण OAuth त्रुटि बिना error_description लौटा सकता है। अनमैप्ड ऑपरेशन विफलता 502 operation_failed होती है; हर अनुमति या validation त्रुटि को 400/403 न मानें।
| HTTP | कोड | अर्थ |
|---|---|---|
| 400 | invalid_request / unsupported_chat_type / invalid_reminder | अमान्य पैरामीटर या JSON; असमर्थित चैट प्रकार; अमान्य रिमाइंडर। |
| 401 | invalid_token | access token गायब, समाप्त, निरस्त या अमान्य है। OAuth से refresh करें। |
| 403 | account_unavailable / insufficient_scope / sending_disabled / capability_unavailable / entitlement_required | निष्क्रिय खाता, scope नहीं, क्षमता बंद या reminder कोटा समाप्त। |
| 404 | chat_not_found / not_found | अज्ञात route/method, अनुपलब्ध आइटम या आवश्यक संग्रह/इनबॉक्स में चैट नहीं। |
| 413 | invalid_request | JSON बॉडी 256 KB से बड़ी है। |
| 415 | unsupported_media_type / invalid_request | application/json लें; असमर्थित charset या encoding। |
| 429 | rate_limited / telegram_rate_limited | साझा खाता rate limit या Telegram अस्वीकृति। मौजूद हो तो Retry-After मानें। |
| 500 | server_error | अनपेक्षित अनुरोध-प्रसंस्करण विफलता। |
| 502 | operation_failed | ऑपरेशन विफल या पूरा होना अनिश्चित। write सफल हो सकता है; retry से पहले स्थिति जाँचें। |
- read retry: backoff और दिए Retry-After का पालन करें। प्रमाणीकरण या अनुमति त्रुटि पर रुककर उसे ठीक करें।
- सामान्य send और append: सामान्य idempotency key नहीं। सफल कार्रवाई के बाद भी timeout या 502 हो सकता है। दोहराने से पहले लक्ष्य जाँचें; पूरे workflow के अंधे retry बंद करें।
- चैनल कार्रवाई:
confirmed=trueऔर स्थिरrequest_idचाहिए। समान पूरे अनुरोध receipt लौटाते हैं; उसी key में बदला payload अस्वीकृत है। pending/uncertain receipt को जाँचें, नई key न दें। - रिमाइंडर निर्माण: वैकल्पिक request_id समान अनुरोधों का डुप्लिकेट रोकता है। टास्क पूरा/हटाने से उसका रिमाइंडर रद्द होता है; रद्द करने से निर्माण सीमा वापस नहीं मिलती।
- write पर 429: gateway के pre-dispatch
rate_limitedको Telegram या नेटवर्क त्रुटि से अलग करें। हर rate-limit या सर्वर त्रुटि पर send retry न करें।
REST में खाता प्रशासन, OAuth क्रेडेंशियल, ऑटो-रिप्लाई सेटिंग्स या मनमाना टूल एंडपॉइंट नहीं। दूसरे transport के generated-voice इनपुट इन REST media/post स्कीमा में स्वीकार नहीं हैं।