प्रमाणीकरण

बेस URL: https://telepath.lemma.company/api/v1। हर अनुरोध में Authorization: Bearer <access_token> दें। Telegram बॉट टोकन, Telepath OAuth टोकन नहीं है।

  1. OAuth सर्वर मेटाडेटा पढ़ें और सटीक redirect URI देकर POST /register पर क्लाइंट रजिस्टर करें।
  2. Authorization Code के साथ S256 PKCE इस्तेमाल करें: हर लॉगिन पर नया verifier/challenge, सहमति के लिए /authorize और विनिमय के लिए /token।
  3. REST के लिए भी कैनोनिकल resource https://telepath.lemma.company/mcp इस्तेमाल करें। पढ़ने के लिए telegram.read और लिखने के लिए telegram.write माँगें। हर एंडपॉइंट का scope नीचे है; HTTP POST का मतलब अपने-आप लिखने की पहुँच नहीं।
  4. टोकन इंटीग्रेशन के 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 पैरामीटर

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
querystring
अनिवार्य
खोज टेक्स्ट; Notes खोज खाली स्ट्रिंग भी स्वीकार करती है।
minLength: 1 · maxLength: 1000
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। 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 पैरामीटर

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
querystring
अनिवार्य
खोज टेक्स्ट; Notes खोज खाली स्ट्रिंग भी स्वीकार करती है।
minLength: 1 · maxLength: 1000
chat_idinteger
वैकल्पिक
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
sincestring
वैकल्पिक
ISO 8601 की निचली तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ।
format: date-time
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। 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 पैरामीटर

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
beforestring
वैकल्पिक
ISO 8601 की ऊपरी तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ।
format: date-time
sincestring
वैकल्पिक
ISO 8601 की ऊपरी तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ।
format: date-time
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। 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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
textstring
अनिवार्य
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है।
minLength: 1 · maxLength: 4096
reply_to_message_idinteger
वैकल्पिक
जवाब देने के लिए वैकल्पिक संदेश।
minimum: -9007199254740991 · maximum: 9007199254740991
message_thread_idinteger
वैकल्पिक
जवाब देने के लिए वैकल्पिक संदेश।
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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
message_idsarray
अनिवार्य
एक चैट के 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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। 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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 20।
minimum: 1 · maximum: 200
sincestring
वैकल्पिक
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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
message_idinteger
अनिवार्य
चुनी चैट में संदेश का positive safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
include_textboolean
वैकल्पिक
समर्थित टेक्स्ट extraction आज़माएँ या नहीं; यह ट्रांसक्रिप्शन नहीं।
max_charsinteger
वैकल्पिक
निकाले जाने वाले अधिकतम अक्षर।
minimum: 1 · maximum: 50000
offset_linesinteger
वैकल्पिक
निकाले टेक्स्ट का शुरुआती 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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
message_idinteger
अनिवार्य
चुनी चैट में संदेश का 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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
from_chat_idinteger
वैकल्पिक
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
from_message_idinteger
वैकल्पिक
from_chat_id में स्रोत संदेश।
minimum: -9007199254740991 · maximum: 9007199254740991
urlstring
वैकल्पिक
मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें।
pattern: ^https?:\/\/ · format: uri
captionstring
वैकल्पिक

maxLength: 1024
as_documentboolean
वैकल्पिक
मीडिया को दस्तावेज़ की तरह भेजें।
reply_to_message_idinteger
वैकल्पिक
from_chat_id में स्रोत संदेश।
minimum: -9007199254740991 · maximum: 9007199254740991
message_thread_idinteger
वैकल्पिक
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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
message_idinteger
अनिवार्य
चुनी चैट में संदेश का positive safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
textstring
अनिवार्य
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य 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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
message_idinteger
वैकल्पिक
चुनी चैट में संदेश का 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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
message_idinteger
अनिवार्य
चुनी चैट में संदेश का positive safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
emojistring
वैकल्पिक
Telegram-समर्थित प्रतिक्रिया। बॉट प्रतिक्रिया हटाने के लिए छोड़ दें।
maxLength: 100
bigboolean
वैकल्पिक
बड़ी प्रतिक्रिया एनीमेशन माँगें।

अनुरोध उदाहरण

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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। 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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
textstring
अनिवार्य
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य 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_idinteger
अनिवार्य
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
message_idinteger
अनिवार्य
चुनी चैट में संदेश का positive safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
emojistring
वैकल्पिक
Telegram-समर्थित प्रतिक्रिया। बॉट प्रतिक्रिया हटाने के लिए छोड़ दें।
maxLength: 100
bigboolean
वैकल्पिक
बड़ी प्रतिक्रिया एनीमेशन माँगें।

अनुरोध उदाहरण

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_idinteger
वैकल्पिक
चैट का nonzero safe integer ID। JSON बॉडी में संख्या; GET में दशमलव स्ट्रिंग।
minimum: -9007199254740991 · maximum: 9007199254740991
beforestring
वैकल्पिक
ISO 8601 की ऊपरी तारीख़ सीमा, Z या स्पष्ट UTC ऑफ़सेट के साथ।
format: date-time
confirmedboolean
अनिवार्य
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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
querystring
अनिवार्य
खोज टेक्स्ट; Notes खोज खाली स्ट्रिंग भी स्वीकार करती है।
maxLength: 1000
tagstring
वैकल्पिक
वैकल्पिक सटीक tag फ़िल्टर।
maxLength: 100
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। 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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
idinteger
वैकल्पिक
नीचे दिए प्रकार का note या reminder ID।
minimum: -9007199254740991 · maximum: 9007199254740991
titlestring
वैकल्पिक
नोट 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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
tagstring
वैकल्पिक
वैकल्पिक सटीक tag फ़िल्टर।
maxLength: 100
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। 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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
titlestring
अनिवार्य
नोट title (किनारे की खाली जगह हटाकर 1–500 अक्षर); ID न हो तो सटीक title से चयन।
minLength: 1 · maxLength: 500
bodystring
वैकल्पिक
नोट body, 50,000 अक्षर तक; खाली स्ट्रिंग अर्थपूर्ण है।
maxLength: 50000
tagsarray
वैकल्पिक
अधिकतम 100 स्ट्रिंग, हर एक 100 अक्षर तक। update पर सभी tags बदलता है।
maxItems: 100
typestring
वैकल्पिक
मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार।
अनुमत: note, project, person, task
task_statusstring
वैकल्पिक
open या done; टास्क पूरा करने से रिमाइंडर रद्द होता है।
अनुमत: open, done
reminderobject | null
वैकल्पिक
वैकल्पिक task reminder ऑब्जेक्ट, या रद्द करने के लिए null। सिर्फ़ open टास्क पर मान्य।
reminder.textstring
मूल ऑब्जेक्ट देने पर अनिवार्य
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है।
minLength: 1 · maxLength: 1500
reminder.atstring
मूल ऑब्जेक्ट देने पर अनिवार्य
अगले पाँच वर्षों में भविष्य का ISO 8601 समय, स्पष्ट ऑफ़सेट के साथ।
format: date-time
reminder.timezonestring
मूल ऑब्जेक्ट देने पर अनिवार्य
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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
idinteger
वैकल्पिक
नीचे दिए प्रकार का note या reminder ID।
minimum: -9007199254740991 · maximum: 9007199254740991
titlestring
वैकल्पिक
नोट title (किनारे की खाली जगह हटाकर 1–500 अक्षर); ID न हो तो सटीक title से चयन।
minLength: 1 · maxLength: 500
bodystring
वैकल्पिक
नोट body, 50,000 अक्षर तक; खाली स्ट्रिंग अर्थपूर्ण है।
maxLength: 50000
tagsarray
वैकल्पिक
अधिकतम 100 स्ट्रिंग, हर एक 100 अक्षर तक। update पर सभी tags बदलता है।
maxItems: 100
typestring
वैकल्पिक
मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार।
अनुमत: note, project, person, task
task_statusstring
वैकल्पिक
open या done; टास्क पूरा करने से रिमाइंडर रद्द होता है।
अनुमत: open, done
reminderobject | null
वैकल्पिक
वैकल्पिक task reminder ऑब्जेक्ट, या रद्द करने के लिए null। सिर्फ़ open टास्क पर मान्य।
reminder.textstring
मूल ऑब्जेक्ट देने पर अनिवार्य
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है।
minLength: 1 · maxLength: 1500
reminder.atstring
मूल ऑब्जेक्ट देने पर अनिवार्य
अगले पाँच वर्षों में भविष्य का ISO 8601 समय, स्पष्ट ऑफ़सेट के साथ।
format: date-time
reminder.timezonestring
मूल ऑब्जेक्ट देने पर अनिवार्य
IANA timezone, जैसे Europe/London।
minLength: 1 · maxLength: 80
appendboolean
वैकल्पिक
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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
idinteger
वैकल्पिक
नीचे दिए प्रकार का note या reminder ID।
minimum: -9007199254740991 · maximum: 9007199254740991
titlestring
वैकल्पिक
नोट 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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
textstring
अनिवार्य
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है।
minLength: 1 · maxLength: 1500
atstring
अनिवार्य
अगले पाँच वर्षों में भविष्य का ISO 8601 समय, स्पष्ट ऑफ़सेट के साथ।
format: date-time
timezonestring
अनिवार्य
IANA timezone, जैसे Europe/London।
minLength: 1 · maxLength: 80
request_idstring
वैकल्पिक
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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
statusstring
वैकल्पिक
रिमाइंडर डिलीवरी स्थिति फ़िल्टर।
अनुमत: scheduled, sending, delivered, failed, uncertain, cancelled, done
limitinteger
वैकल्पिक
अधिकतम परिणाम; स्रोत सीमा कम हो सकती है। Return All या छिपी pagination नहीं। संग्रह read में डिफ़ॉल्ट 30।
minimum: 1 · maximum: 100
offsetinteger
वैकल्पिक
रिमाइंडर सूची 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 बॉडी

पैरामीटरप्रकार / अनिवार्यताविवरण / सीमाएँ
idstring
अनिवार्य
नीचे दिए प्रकार का 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_idinteger
अनिवार्य
इस खाते के वर्तमान स्वामित्व वाले जुड़े चैनल का negative safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
request_idstring
अनिवार्य
8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ।
minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$
confirmedboolean
अनिवार्य
true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी।
true के बराबर होना चाहिए
textstring
वैकल्पिक
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है।
maxLength: 4096
mediaobject
वैकल्पिक
HTTPS URL वाला एक फ़ोटो या दस्तावेज़।
media.typestring
मूल ऑब्जेक्ट देने पर अनिवार्य
मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार।
अनुमत: photo, document
media.urlstring
मूल ऑब्जेक्ट देने पर अनिवार्य
मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें।
pattern: ^https\:\/\/ · format: uri
buttonsarray
वैकल्पिक
पाँच पंक्तियों तक, हर पंक्ति में 1–4 HTTPS लिंक बटन; edit में [] बटन हटाता है।
maxItems: 5
buttons[][].textstring
मूल ऑब्जेक्ट देने पर अनिवार्य
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है।
minLength: 1 · maxLength: 64
buttons[][].urlstring
मूल ऑब्जेक्ट देने पर अनिवार्य
मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें।
pattern: ^https\:\/\/ · format: uri
formatstring
वैकल्पिक
चैनल सामग्री के लिए plain या HTML।
अनुमत: plain, HTML
albumarray
वैकल्पिक
2–10 फ़ोटो/वीडियो/दस्तावेज़; एल्बम सीमाएँ देखें।
minItems: 2 · maxItems: 10
album[].typestring
मूल ऑब्जेक्ट देने पर अनिवार्य
मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार।
अनुमत: photo, video, document
album[].urlstring
मूल ऑब्जेक्ट देने पर अनिवार्य
मीडिया या बटन 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_idinteger
अनिवार्य
इस खाते के वर्तमान स्वामित्व वाले जुड़े चैनल का negative safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
request_idstring
अनिवार्य
8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ।
minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$
confirmedboolean
अनिवार्य
true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी।
true के बराबर होना चाहिए
textstring
वैकल्पिक
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है।
maxLength: 4096
mediaobject
वैकल्पिक
HTTPS URL वाला एक फ़ोटो या दस्तावेज़।
media.typestring
मूल ऑब्जेक्ट देने पर अनिवार्य
मूल ऑब्जेक्ट के अनुसार नोट या मीडिया प्रकार।
अनुमत: photo, document
media.urlstring
मूल ऑब्जेक्ट देने पर अनिवार्य
मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें।
pattern: ^https\:\/\/ · format: uri
buttonsarray
वैकल्पिक
पाँच पंक्तियों तक, हर पंक्ति में 1–4 HTTPS लिंक बटन; edit में [] बटन हटाता है।
maxItems: 5
buttons[][].textstring
मूल ऑब्जेक्ट देने पर अनिवार्य
संदेश, पोस्ट या रिमाइंडर टेक्स्ट। सिर्फ़ खाली जगह वाला सामान्य send अस्वीकृत है।
minLength: 1 · maxLength: 64
buttons[][].urlstring
मूल ऑब्जेक्ट देने पर अनिवार्य
मीडिया या बटन URL। फ़ील्ड सीमाएँ और ऑपरेशन नियम देखें।
pattern: ^https\:\/\/ · format: uri
formatstring
वैकल्पिक
चैनल सामग्री के लिए plain या HTML।
अनुमत: plain, HTML
message_idinteger
अनिवार्य
चुनी चैट में संदेश का 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_idinteger
अनिवार्य
इस खाते के वर्तमान स्वामित्व वाले जुड़े चैनल का negative safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
request_idstring
अनिवार्य
8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ।
minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$
confirmedboolean
अनिवार्य
true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी।
true के बराबर होना चाहिए
message_idinteger
अनिवार्य
चुनी चैट में संदेश का 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_idinteger
अनिवार्य
इस खाते के वर्तमान स्वामित्व वाले जुड़े चैनल का negative safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
request_idstring
अनिवार्य
8–100 अक्षर, अंक, हाइफ़न या अंडरस्कोर। केवल समान ऑपरेशन के लिए दोहराएँ।
minLength: 8 · maxLength: 100 · pattern: ^[-a-zA-Z0-9_]+$
confirmedboolean
अनिवार्य
true होना चाहिए; कॉल करने वाले को इसी कार्रवाई की मंज़ूरी लेनी होगी।
true के बराबर होना चाहिए
message_idinteger
अनिवार्य
चुनी चैट में संदेश का positive safe integer ID।
minimum: -9007199254740991 · maximum: 9007199254740991
pinnedboolean
अनिवार्य
पिन के लिए 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कोडअर्थ
400invalid_request / unsupported_chat_type / invalid_reminderअमान्य पैरामीटर या JSON; असमर्थित चैट प्रकार; अमान्य रिमाइंडर।
401invalid_tokenaccess token गायब, समाप्त, निरस्त या अमान्य है। OAuth से refresh करें।
403account_unavailable / insufficient_scope / sending_disabled / capability_unavailable / entitlement_requiredनिष्क्रिय खाता, scope नहीं, क्षमता बंद या reminder कोटा समाप्त।
404chat_not_found / not_foundअज्ञात route/method, अनुपलब्ध आइटम या आवश्यक संग्रह/इनबॉक्स में चैट नहीं।
413invalid_requestJSON बॉडी 256 KB से बड़ी है।
415unsupported_media_type / invalid_requestapplication/json लें; असमर्थित charset या encoding।
429rate_limited / telegram_rate_limitedसाझा खाता rate limit या Telegram अस्वीकृति। मौजूद हो तो Retry-After मानें।
500server_errorअनपेक्षित अनुरोध-प्रसंस्करण विफलता।
502operation_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 स्कीमा में स्वीकार नहीं हैं।

OpenAPI JSON डाउनलोड करें ↓इंटीग्रेशन में मदद लें ↗