tellmelotellmelo.
प्रकाशक जानकारीगोपनीयताउपयोग की शर्तेंकॉपीराइट उल्लंघन की रिपोर्टसंपर्कAPIऐप

API

यह एक अनुवाद है। जर्मन संस्करण ही मान्य है। जहाँ यह टेक्स्ट उससे अलग है, वहाँ जर्मन टेक्स्ट लागू होता है। तुम पेज के नीचे भाषा बदल सकते हो।

शुरुआत

  • अवलोकन
  • जल्दी शुरुआत
  • आज़माओ
  • तुम्हारी कुंजी
  • कुंजी क्या कर सकती है

बुनियादी बातें

  • अनुरोध और जवाब
  • पेज
  • सिर्फ़ जो नया है
  • सीमाएँ
  • हेडर
  • जब कुछ काम न करे
  • संस्करण

एंडपॉइंट

  • एंडपॉइंट
  • प्रवेश
    • GET /
  • पोस्ट
    • GET /posts
    • GET /posts/{id}
    • POST /posts
    • DELETE /posts/{id}
  • जवाब
    • GET /posts/{id}/replies
    • POST /posts/{id}/replies
  • पोल
    • POST /posts/{id}/vote
  • प्रोफ़ाइल
    • GET /profiles/{handle}
    • GET /profiles/{handle}/posts
  • समूह
    • GET /communities
    • GET /communities/{id}
    • GET /communities/{id}/posts
  • खोजो
    • GET /tags
    • GET /search
    • GET /emojis
  • तुम्हारा खाता
    • GET /me
    • GET /feed
  • सूचनाएँ
    • GET /notifications
    • POST /notifications/read
  • संदेश
    • GET /conversations
    • GET /conversations/{with}/messages
    • POST /conversations/{with}/messages
    • POST /conversations/{with}/read
  • संबंध
    • POST /relations

ऑब्जेक्ट

  • ऑब्जेक्ट
  • Service
  • RateLimit
  • Post
  • Reply
  • Counts
  • Media
  • Poll
  • PollOption
  • ProfileBrief
  • Profile
  • CommunityBrief
  • Community
  • Tag
  • SearchResult
  • Emoji
  • Notification
  • Actor
  • Conversation
  • Message
  • Created
  • Ok

और

  • मशीन से पढ़ा जा सकने वाला विवरण
  • हम क्या उम्मीद करते हैं
सामग्री

शुरुआत

  • अवलोकन
  • जल्दी शुरुआत
  • आज़माओ
  • तुम्हारी कुंजी
  • कुंजी क्या कर सकती है

बुनियादी बातें

  • अनुरोध और जवाब
  • पेज
  • सिर्फ़ जो नया है
  • सीमाएँ
  • हेडर
  • जब कुछ काम न करे
  • संस्करण

एंडपॉइंट

  • एंडपॉइंट
  • प्रवेश
    • GET /
  • पोस्ट
    • GET /posts
    • GET /posts/{id}
    • POST /posts
    • DELETE /posts/{id}
  • जवाब
    • GET /posts/{id}/replies
    • POST /posts/{id}/replies
  • पोल
    • POST /posts/{id}/vote
  • प्रोफ़ाइल
    • GET /profiles/{handle}
    • GET /profiles/{handle}/posts
  • समूह
    • GET /communities
    • GET /communities/{id}
    • GET /communities/{id}/posts
  • खोजो
    • GET /tags
    • GET /search
    • GET /emojis
  • तुम्हारा खाता
    • GET /me
    • GET /feed
  • सूचनाएँ
    • GET /notifications
    • POST /notifications/read
  • संदेश
    • GET /conversations
    • GET /conversations/{with}/messages
    • POST /conversations/{with}/messages
    • POST /conversations/{with}/read
  • संबंध
    • POST /relations

ऑब्जेक्ट

  • ऑब्जेक्ट
  • Service
  • RateLimit
  • Post
  • Reply
  • Counts
  • Media
  • Poll
  • PollOption
  • ProfileBrief
  • Profile
  • CommunityBrief
  • Community
  • Tag
  • SearchResult
  • Emoji
  • Notification
  • Actor
  • Conversation
  • Message
  • Created
  • Ok

और

  • मशीन से पढ़ा जा सकने वाला विवरण
  • हम क्या उम्मीद करते हैं

अवलोकन

v2 तुम्हारे अपने प्रोग्राम को tellmelo से बात करने देता है: हर अनुरोध पर एक कुंजी, जवाब में JSON, हर सूची एक ही तरह से पेज होती है। ऐप वाले ही नियम लागू होते हैं।

  • हर पाथ इस सर्वर के पते पर /api/v2 से शुरू होता है।
  • अनुरोध और जवाब UTF-8 में JSON हैं। फ़ील्ड के नाम, कोड और मान अंग्रेज़ी में हैं और अंग्रेज़ी में ही रहते हैं।
  • कुंजी तुम्हारे खाते की तरह काम करती है: जो तुम ऐप में नहीं देख सकते, वह भी नहीं पढ़ सकती।
https://tellmelo.com/api/v2

जल्दी शुरुआत

  1. “सेटिंग्स → ऐप और डेटा → API” में कुंजी बनाओ और कॉपी करो। यह सिर्फ़ एक बार दिखाई जाती है।
  2. इससे रूट को कॉल करो। जवाब संस्करण, कुंजी के अधिकार और इस मिनट में बचे अनुरोध दिखाता है।
  3. हर पाथ एक ही तरह काम करता है: हेडर में कुंजी, जवाब में JSON, सूचियों के लिए items और next।
curl -H "Authorization: Bearer tm_key_…" https://tellmelo.com/api/v2
{
  "name": "tellmelo",
  "version": "2.10",
  "scope": "read write",
  "rateLimit": {
    "limit": 120,
    "remaining": 117
  },
  "docs": "/legal/api",
  "spec": "/api/v2/openapi.json"
}

आगे: तुम्हारी प्रोफ़ाइल के लिए /me, सार्वजनिक पोस्ट के लिए /posts, तुम्हारी फ़ीड के लिए /feed।

आज़माओ

कोई काम चुनो, फ़ील्ड भरो और अनुरोध कॉपी करो या यहीं से भेजो। लिखने से पहले पूछा जाता है। कोड कुंजी TELLMELO_KEY से पढ़ता है।

read API संस्करण और इस सर्वर का नाम।

curl \
  -H "Authorization: Bearer $TELLMELO_KEY" \
  "https://tellmelo.com/api/v2"

तुम्हारी कुंजी

हर खाते की एक कुंजी। यह tm_key_ से शुरू होती है और सिर्फ़ एक बार दिखाई जाती है। खो गई? नई बनाओ; पुरानी काम करना बंद कर देती है।

इसे “सेटिंग्स → ऐप और डेटा → API” में बनाते हो। यह अनुरोध के हेडर में जाती है:

curl -H "Authorization: Bearer tm_key_…" \
  https://tellmelo.com/api/v2/posts

या, अगर यह आसान हो, तो अपने अलग हेडर में:

curl -H "X-Tellmelo-Key: tm_key_…" https://tellmelo.com/api/v2

URL में नहीं: वह लॉग और ब्राउज़र इतिहास में पहुँच जाएगा।

वही कुंजी तस्वीरें लोड करती है: हर url /api/media की ओर इशारा करता है; वहाँ भी हेडर में कुंजी भेजो।

curl -H "Authorization: Bearer tm_key_…" \
  -o picture.webp "https://tellmelo.com/api/media?id=…"

कुंजी क्या कर सकती है

कुंजी के पास दो में से एक अधिकार होता है, और नीचे हर पाथ बताता है कि उसे कौन-सा चाहिए:

  • read: पढ़ना। सार्वजनिक पोस्ट, प्रोफ़ाइल, समूह और टैग, साथ ही तुम्हारी फ़ीड, सूचनाएँ और संदेश।
  • write: करना। पोस्ट करना, जवाब देना, वोट देना, संदेश भेजना, फ़ॉलो करना, जुड़ना, ब्लॉक करना, सूचनाओं को पढ़ा हुआ चिह्नित करना।

जो कोई कुंजी नहीं कर सकती

कोई कुंजी पासवर्ड, ईमेल पता, खाते का प्रकार, जगह, भूमिका, मिटाना, सत्र, पुश डिवाइस या दूसरी कुंजियों तक नहीं पहुँचती, न ही प्रशासन या समूह नेतृत्व तक। जिसकी रक्षा पासवर्ड करता है, वह कोई कुंजी नहीं कर सकती।

अनुरोध और जवाब

  • हर जगह JSON। हर जवाब UTF-8 में application/json है, त्रुटियाँ भी। सिर्फ़ तस्वीरें तस्वीरों के रूप में आती हैं।
  • जो तुम भेजते हो। POST अपने फ़ील्ड बॉडी में JSON के रूप में ले जाता है। अगर कोई फ़ील्ड URL में भी है, तो बॉडी मान्य होती है।
  • समय 1 जनवरी 1970, UTC से मिलीसेकंड में।
  • ID स्ट्रिंग हैं। उनकी तुलना सिर्फ़ पूरे रूप में करो।
  • हर फ़ील्ड हमेशा मौजूद रहता है। जो नहीं है वह null है; सूचियाँ खाली हो सकती हैं।
  • टेक्स्ट सादा टेक्स्ट है, बिल्कुल जैसा लिखा गया। #टैग, @नाम और लिंक जैसे हैं वैसे रहते हैं, और सर्वर के अपने इमोजी भी, :name: के रूप में; उनकी तस्वीरें /emojis में सूचीबद्ध हैं।
  • तस्वीरें सापेक्ष पते हैं, /api/media?id=…। हेडर में कुंजी के बिना तुम्हें 401 मिलता है।

पेज

हर सूची limit और cursor लेती है और items व next से जवाब देती है। अगला पेज पाने के लिए next को cursor के रूप में वापस भेजो; जब next खाली हो, तो पूरा हो गया। कर्सर अपारदर्शी है: न इसे पार्स करो, न खुद बनाओ।

{ "items": [ … ], "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx" }

curl -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/posts?limit=20&cursor=MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"

limit के बिना 20 प्रविष्टियाँ, ज़्यादा से ज़्यादा 50। कुछ सूचियाँ पेज नहीं होतीं; उनका next हमेशा null होता है।

सिर्फ़ जो नया है

हर जवाब में एक ETag होता है। अगली बार इसे If-None-Match के रूप में वापस भेजो: अगर कुछ नहीं बदला, तो तुम्हें बिना बॉडी के 304 मिलता है।

ETag: W/"3Qk1mJ7fQe2Yb0sVxT9aL4pNdRc"
If-None-Match: W/"3Qk1mJ7fQe2Yb0sVxT9aL4pNdRc"  →  304

अपवाद: /feed का कोई ETag नहीं क्योंकि उसका क्रम बदलता रहता है, और लिखने वाले अनुरोध कभी 304 नहीं देते।

सीमाएँ

एक कुंजी हर मिनट 120 अनुरोध कर सकती है, “संगठन” प्लान के साथ 600, जब तक प्रशासन कुछ और तय न करे। उससे ऊपर तुम्हें 429 मिलता है और कुछ नहीं होता। एक मिनट रुककर अनुरोध फिर भेजो।

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 117
X-RateLimit-Reset: 1758624060

लिखने वाले अनुरोध ऐप की सीमाओं में भी गिने जाते हैं, जैसे कुछ मिनटों में कितनी पोस्ट। वह भी rate_limited के साथ 429 देता है।

हेडर

कुंजी के अलावा कोई हेडर ज़रूरी नहीं।

जो तुम भेजते हो

हेडरमतलब
Authorizationकुंजी ले जाता है: Bearer tm_key_…। सामान्य तरीका।
X-Tellmelo-Keyकुंजी, Authorization के विकल्प के रूप में।
Content-Typeapplication/json, बॉडी वाले अनुरोध के लिए।
If-None-Matchपिछले जवाब का ETag। अगर तब से कुछ नहीं बदला, तो जवाब बिना बॉडी के 304 है।

जो वापस आता है

हेडरमतलब
ETagइस जवाब का फ़िंगरप्रिंट (W/)। इसे If-None-Match के रूप में वापस भेजो।
X-RateLimit-Limitयह कुंजी हर मिनट कितने अनुरोध कर सकती है।
X-RateLimit-Remainingमौजूदा मिनट में उनमें से कितने बचे हैं।
X-RateLimit-Resetअगला मिनट कब शुरू होगा, 1970, UTC से सेकंड में।
X-Tellmelo-Scopeयह कुंजी क्या कर सकती है: read या read write।
Retry-After429 के साथ: फिर से पूछने से पहले कितने सेकंड रुकना है।
WWW-Authenticateकुंजी के बिना 401 पर: Bearer।
Cache-Controlno-store: कोई प्रॉक्सी जवाब कैश नहीं कर सकता। फिर भी तुम इसे ETag से जाँच सकते हो।

जब कुछ काम न करे

त्रुटियाँ JSON में आती हैं: तुम्हारे प्रोग्राम के लिए error में एक तय अंग्रेज़ी कोड और लोगों के लिए message में एक वाक्य, साथ में मेल खाता स्टेटस कोड। सिर्फ़ कोड की तुलना करो; वाक्य बदल सकता है।

{ "error": "rate_limited",
  "message": "Too many requests. Try again in a minute.",
  "limit": 120 }

कुछ त्रुटियों में एक फ़ील्ड और होता है: कुंजी न होने पर 401 के साथ docs, 429 के साथ limit।

स्टेटसकोडमतलब
400bad_requestअनुरोध पढ़ा नहीं जा सकता, कोई ज़रूरी फ़ील्ड नहीं है, या कोई मान अनुमत नहीं है।
401key_missingहेडर में कोई कुंजी नहीं।
401key_invalidकुंजी मान्य नहीं: गलत लिखी गई, बदली गई, या खाता प्रतिबंधित है।
401unauthorizedसाइन इन न होने के कारण अस्वीकार, कुंजी के अलावा किसी और कारण से।
403scope_missingकुंजी के पास ज़रूरी अधिकार नहीं, आमतौर पर write।
403account_data_lockedपासवर्ड, ईमेल पता या मिटाने जैसा खाते का डेटा कुंजियों की पहुँच से बाहर है।
403forbiddenतुम्हारा खाता यह नहीं कर सकता, जैसे वापस लिए गए अधिकार या ब्लॉक के कारण।
404unknown_pathऐसा कोई पाथ नहीं, या इस विधि के साथ नहीं।
404not_foundनहीं मिला, या तुम इसे नहीं देख सकते।
409conflictजो पहले से है उससे टकराता है, जैसे कोई लिया जा चुका नाम।
413too_largeइस सर्वर के लिए बहुत बड़ा।
422unprocessableपढ़ा जा सकता है, पर इस रूप में संभव नहीं।
429rate_limitedबहुत ज़्यादा अनुरोध। कुछ नहीं हुआ; रुको और फिर कोशिश करो।
500internal_errorसर्वर पर कुछ गड़बड़ हो गई।

संस्करण

संस्करण पाथ में है। जब तक उसमें v2 लिखा है, पाथ और फ़ील्ड वही रहते हैं; सिर्फ़ नई चीज़ें जुड़ती हैं।

जोड़ दूसरी संख्या बढ़ाते हैं। हर पाथ बताता है कि वह कब से है।

/api/v1/ अब नहीं है: पुराने पाथ 410 से जवाब देते हैं और बॉडी में नया रास्ता बताते हैं।

एंडपॉइंट

सभी पाथ एक नज़र में, फिर हर एक उदाहरण के साथ।

पाथअधिकारकिसलिए
प्रवेश
GET/api/v2readAPI संस्करण और इस सर्वर का नाम।
पोस्ट
GET/api/v2/postsreadसार्वजनिक पोस्ट, सबसे नई पहले।
GET/api/v2/posts/{id}readएक पोस्ट, उसके id से।
POST/api/v2/postswriteपोस्ट प्रकाशित करो।
DELETE/api/v2/posts/{id}writeअपनी कोई पोस्ट हटाओ।
जवाब
GET/api/v2/posts/{id}/repliesreadकिसी पोस्ट के जवाब, ब्लॉक किए खातों के बिना।
POST/api/v2/posts/{id}/replieswriteकिसी पोस्ट का जवाब दो।
पोल
POST/api/v2/posts/{id}/votewriteपोल में हिस्सा लो।
प्रोफ़ाइल
GET/api/v2/profiles/{handle}readएक प्रोफ़ाइल, उसके छोटे नाम से।
GET/api/v2/profiles/{handle}/postsreadएक प्रोफ़ाइल की सार्वजनिक पोस्ट, सबसे नई पहले।
समूह
GET/api/v2/communitiesreadइस सर्वर के खुले समूह।
GET/api/v2/communities/{id}readएक समूह, उसके id से।
GET/api/v2/communities/{id}/postsreadएक समूह की सार्वजनिक पोस्ट, सबसे नई पहले।
खोजो
GET/api/v2/tagsreadअभी चल रहे टैग।
GET/api/v2/searchreadपोस्ट, नाम, छोटे नाम और टैग में खोज।
GET/api/v2/emojisreadसर्वर के अपने इमोजी, उनकी तस्वीरों के पते के साथ।
तुम्हारा खाता
GET/api/v2/mereadतुम्हारी अपनी प्रोफ़ाइल, उस id के साथ जिसकी बाकी पाथ अपेक्षा करते हैं।
GET/api/v2/feedreadतुम्हारी अपनी फ़ीड, जैसे ऐप उसे बनाता है।
सूचनाएँ
GET/api/v2/notificationsreadतुम्हारी सूचनाएँ, सबसे नई पहले।
POST/api/v2/notifications/readwriteअपनी सूचनाओं को पढ़ा हुआ चिह्नित करो।
संदेश
GET/api/v2/conversationsreadतुम्हारा इनबॉक्स: हर बातचीत की एक पंक्ति, सबसे नई पहले।
GET/api/v2/conversations/{with}/messagesreadएक बातचीत के संदेश, सबसे नए पहले।
POST/api/v2/conversations/{with}/messageswriteबातचीत में संदेश भेजो।
POST/api/v2/conversations/{with}/readwriteकिसी बातचीत के सभी संदेशों को पढ़ा हुआ चिह्नित करो।
संबंध
POST/api/v2/relationswriteपसंद, सहेजना, रीपोस्ट, फ़ॉलो, जुड़ना, ब्लॉक, म्यूट, kind के हिसाब से।

प्रवेश

हर प्रोग्राम का पहला अनुरोध: क्या कुंजी काम करती है, और वह क्या कर सकती है?

GET/api/v2

API संस्करण और इस सर्वर का नाम।

  • अधिकार read
  • ETag के साथ
  • v2.0 से

अंत में स्लैश के बिना: /api/v2/ 308 के साथ /api/v2 पर भेजता है, और हर प्रोग्राम इसका पालन नहीं करता।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2"

जवाब

एक Service से जवाब देता है।

उदाहरण
{
  "name": "tellmelo",
  "version": "2.10",
  "scope": "read write",
  "rateLimit": {
    "limit": 120,
    "remaining": 117
  },
  "docs": "/legal/api",
  "spec": "/api/v2/openapi.json"
}

संभावित स्टेटस: 200304401429

पोस्ट

सार्वजनिक पोस्ट पढ़ना, अपनी पोस्ट प्रकाशित करना और उन्हें फिर हटाना।

GET/api/v2/posts

सार्वजनिक पोस्ट, सबसे नई पहले।

  • अधिकार read
  • पेज होने योग्य
  • ETag के साथ
  • v2.0 से

सार्वजनिक पाथ पर counts.likes और counts.reposts हमेशा 0 होते हैं और pinned false होता है।

समूहों की पोस्ट यहाँ नहीं, बल्कि /communities/{id}/posts में हैं।

पैरामीटर

नामप्रकारमतलब
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/posts?limit=20"

जवाब

Post के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "text": "The bees are back in the garden 🐝 #garden",
      "kind": "poll",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "verified": true,
        "accountKind": "person"
      },
      "community": {
        "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
        "name": "Urban Gardening"
      },
      "media": [
        {
          "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
          "kind": "image",
          "poster": null
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": 1758710400000,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

संभावित स्टेटस: 200304401429

GET/api/v2/posts/{id}

एक पोस्ट, उसके id से।

  • अधिकार read
  • ETag के साथ
  • v2.0 से

सार्वजनिक पाथ पर counts.likes और counts.reposts हमेशा 0 होते हैं और pinned false होता है।

समूहों की पोस्ट यहाँ नहीं, बल्कि /communities/{id}/posts में हैं।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1"

जवाब

एक Post से जवाब देता है।

उदाहरण
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "text": "The bees are back in the garden 🐝 #garden",
  "kind": "poll",
  "author": {
    "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
    "handle": "mara",
    "name": "Mara 🌻",
    "verified": true,
    "accountKind": "person"
  },
  "community": {
    "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
    "name": "Urban Gardening"
  },
  "media": [
    {
      "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
      "kind": "image",
      "poster": null
    }
  ],
  "poll": {
    "options": [
      {
        "text": "Lavender",
        "votes": 12
      },
      {
        "text": "Sunflowers",
        "votes": 7
      },
      {
        "text": "Clover",
        "votes": 3
      }
    ],
    "total": 22,
    "multiple": false,
    "endsAt": 1758710400000,
    "running": true,
    "resultsVisible": true,
    "myVotes": [
      0
    ]
  },
  "quotes": null,
  "continues": null,
  "counts": {
    "replies": 4,
    "likes": 31,
    "reposts": 2
  },
  "pinned": false,
  "createdAt": 1758624000000
}

संभावित स्टेटस: 200304400401404429

POST/api/v2/posts

पोस्ट प्रकाशित करो।

  • अधिकार write
  • v2.0 से

पोस्ट में टेक्स्ट या पोल चाहिए। लंबाई, पोल के विकल्प और रफ़्तार सर्वर तय करता है; उससे आगे तुम्हें 400 या 429 मिलता है।

API से अभी तस्वीरें नहीं जोड़ी जा सकतीं, सिर्फ़ ऐप में।

पैरामीटर

नामप्रकारमतलब
textबॉडी मेंstringवैकल्पिकपोस्ट, जवाब या संदेश का टेक्स्ट।
communityबॉडी मेंstringवैकल्पिकउस समूह का id जिसमें पोस्ट जाती है। इसके बिना, हर समूह से बाहर।
quotesबॉडी मेंstringवैकल्पिकउस पोस्ट का id जिसे यह उद्धृत करती है।
pollबॉडी मेंstring[]वैकल्पिकजवाब के विकल्प, टेक्स्ट की सूची के रूप में।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"The bees are back in the garden 🐝 #garden"}' \
  "https://tellmelo.com/api/v2/posts"

जवाब

एक Created से जवाब देता है।

उदाहरण
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "scheduledFor": null,
  "deleteAt": null
}

संभावित स्टेटस: 200400401403429

DELETE/api/v2/posts/{id}

अपनी कोई पोस्ट हटाओ।

  • अधिकार write
  • v2.0 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1"

जवाब

एक Ok से जवाब देता है।

उदाहरण
{
  "ok": true
}

संभावित स्टेटस: 200400401403404429

जवाब

किसी पोस्ट के नीचे जवाब, parentId वाली सूची के रूप में।

GET/api/v2/posts/{id}/replies

किसी पोस्ट के जवाब, ब्लॉक किए खातों के बिना।

  • अधिकार read
  • पेज होने योग्य
  • ETag के साथ
  • v2.0 से

सूची सपाट और लिखने के क्रम में है; parentId उसे पेड़ बनाता है। एक पेज में हमेशा पूरे धागे होते हैं। ब्लॉक किए खातों के जवाब शामिल नहीं होते।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/replies?limit=20"

जवाब

Reply के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "id": "9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a",
      "text": "Same here, the lavender is full of them.",
      "kind": "post",
      "author": {
        "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
        "handle": "jon",
        "name": "Jon",
        "verified": false,
        "accountKind": "person"
      },
      "community": null,
      "media": [],
      "poll": null,
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 0,
        "likes": 3,
        "reposts": 0
      },
      "pinned": false,
      "createdAt": 1758624600000,
      "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "parentId": null
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

संभावित स्टेटस: 200304400401404429

POST/api/v2/posts/{id}/replies

किसी पोस्ट का जवाब दो।

  • अधिकार write
  • v2.0 से

धीमे मोड में हर व्यक्ति हर 10 मिनट में एक जवाब, वरना 429। लेखक और उसके फ़ॉलो किए खाते इससे मुक्त हैं।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
textबॉडी मेंstringज़रूरीपोस्ट, जवाब या संदेश का टेक्स्ट।
parentIdबॉडी मेंstringवैकल्पिकउस जवाब का id जिसका यह जवाब है। इसके बिना, सीधे पोस्ट पर।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Same here, the lavender is full of them."}' \
  "https://tellmelo.com/api/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/replies"

जवाब

एक Created से जवाब देता है।

उदाहरण
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "scheduledFor": null,
  "deleteAt": null
}

संभावित स्टेटस: 200400401403404429

पोल

पोल वह पोस्ट है जिसका poll सेट है। वोट देने का अपना पाथ है।

POST/api/v2/posts/{id}/vote

पोल में हिस्सा लो।

  • अधिकार write
  • v2.0 से

हर विकल्प के वोट तब तक null रहते हैं जब तक तुम वोट न दो या पोल खत्म न हो। total हमेशा होता है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
optionबॉडी मेंintegerज़रूरीकौन-सा विकल्प, 0 से गिनकर। कई विकल्पों के लिए हर विकल्प पर एक बार कॉल करो।
retractबॉडी मेंbooleanवैकल्पिकtrue वोट वापस लेता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"option":0}' \
  "https://tellmelo.com/api/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/vote"

जवाब

एक Ok से जवाब देता है।

उदाहरण
{
  "ok": true
}

संभावित स्टेटस: 200400401403404429

प्रोफ़ाइल

छोटे नाम से सार्वजनिक प्रोफ़ाइल, और उन्होंने क्या पोस्ट किया।

GET/api/v2/profiles/{handle}

एक प्रोफ़ाइल, उसके छोटे नाम से।

  • अधिकार read
  • ETag के साथ
  • v2.0 से

पैरामीटर

नामप्रकारमतलब
handleपाथ मेंstringज़रूरीकिसी प्रोफ़ाइल का छोटा नाम।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/profiles/mara"

जवाब

एक Profile से जवाब देता है।

उदाहरण
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "verified": true,
  "accountKind": "person",
  "about": "Beekeeper, allotment, too many seeds. :tellmelo:",
  "website": "https://mara-imkerei.example/",
  "websiteVerified": true,
  "followers": 148,
  "createdAt": 1750848000000
}

संभावित स्टेटस: 200304400401404429

GET/api/v2/profiles/{handle}/posts

एक प्रोफ़ाइल की सार्वजनिक पोस्ट, सबसे नई पहले।

  • अधिकार read
  • पेज होने योग्य
  • ETag के साथ
  • v2.0 से

सार्वजनिक पाथ पर counts.likes और counts.reposts हमेशा 0 होते हैं और pinned false होता है।

समूहों की पोस्ट यहाँ नहीं, बल्कि /communities/{id}/posts में हैं।

पैरामीटर

नामप्रकारमतलब
handleपाथ मेंstringज़रूरीकिसी प्रोफ़ाइल का छोटा नाम।
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/profiles/mara/posts?limit=20"

जवाब

Post के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "text": "The bees are back in the garden 🐝 #garden",
      "kind": "poll",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "verified": true,
        "accountKind": "person"
      },
      "community": {
        "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
        "name": "Urban Gardening"
      },
      "media": [
        {
          "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
          "kind": "image",
          "poster": null
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": 1758710400000,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

संभावित स्टेटस: 200304400401404429

समूह

खुले समूह और उनकी पोस्ट।

GET/api/v2/communities

इस सर्वर के खुले समूह।

  • अधिकार read
  • ETag के साथ
  • v2.0 से

सदस्य संख्या के हिसाब से क्रमबद्ध और पेज नहीं होते; next हमेशा null है।

पैरामीटर

नामप्रकारमतलब
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/communities?limit=20"

जवाब

Community के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
      "name": "Urban Gardening",
      "description": "Balconies, allotments, rooftops: whatever grows.",
      "tags": [
        "garden",
        "bees"
      ],
      "members": 312,
      "joinPolicy": "open",
      "visibility": "open"
    }
  ],
  "next": null
}

संभावित स्टेटस: 200304401429

GET/api/v2/communities/{id}

एक समूह, उसके id से।

  • अधिकार read
  • ETag के साथ
  • v2.0 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"

जवाब

एक Community से जवाब देता है।

उदाहरण
{
  "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "name": "Urban Gardening",
  "description": "Balconies, allotments, rooftops: whatever grows.",
  "tags": [
    "garden",
    "bees"
  ],
  "members": 312,
  "joinPolicy": "open",
  "visibility": "open"
}

संभावित स्टेटस: 200304400401404429

GET/api/v2/communities/{id}/posts

एक समूह की सार्वजनिक पोस्ट, सबसे नई पहले।

  • अधिकार read
  • पेज होने योग्य
  • ETag के साथ
  • v2.0 से

सार्वजनिक पाथ पर counts.likes और counts.reposts हमेशा 0 होते हैं और pinned false होता है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/posts?limit=20"

जवाब

Post के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "text": "The bees are back in the garden 🐝 #garden",
      "kind": "poll",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "verified": true,
        "accountKind": "person"
      },
      "community": {
        "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
        "name": "Urban Gardening"
      },
      "media": [
        {
          "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
          "kind": "image",
          "poster": null
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": 1758710400000,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

संभावित स्टेटस: 200304400401404429

खोजो

ट्रेंड, खोज और सर्वर के अपने इमोजी।

GET/api/v2/tags

अभी चल रहे टैग।

  • अधिकार read
  • ETag के साथ
  • v2.0 से

स्कोर के हिसाब से ज़्यादा से ज़्यादा 10 ट्रेंडिंग टैग: हर इस्तेमाल 1 गिना जाता है और हर 3 दिन में आधा होता है, एक खाता दिन में ज़्यादा से ज़्यादा 3 गिना जाता है। posts गोल किया हुआ स्कोर है। limit सिर्फ़ सूची छोटी करता है। टीम के उभारे टैग ऊपर हो सकते हैं।

पैरामीटर

नामप्रकारमतलब
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/tags?limit=10"

जवाब

Tag के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "tag": "garden",
      "posts": 58
    }
  ],
  "next": null
}

संभावित स्टेटस: 200304401429

GET/api/v2/search

पोस्ट, नाम, छोटे नाम और टैग में खोज।

  • अधिकार read
  • ETag के साथ
  • v2.0 से

सिर्फ़ सार्वजनिक सामग्री खोजता है: समूहों के बाहर की पोस्ट, प्रोफ़ाइल और टैग। limit हर प्रकार पर लागू होता है।

पैरामीटर

नामप्रकारमतलब
qक्वेरी मेंstringज़रूरीखोजे जा रहे शब्द।
typeक्वेरी मेंstringवैकल्पिककिस प्रकार का नतीजा। इसके बिना, हर प्रकार।allpostsprofilestags
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/search?q=garden&type=posts"

जवाब

एक SearchResult से जवाब देता है।

उदाहरण
{
  "posts": [
    {
      "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "text": "The bees are back in the garden 🐝 #garden",
      "kind": "poll",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "verified": true,
        "accountKind": "person"
      },
      "community": {
        "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
        "name": "Urban Gardening"
      },
      "media": [
        {
          "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
          "kind": "image",
          "poster": null
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": 1758710400000,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "createdAt": 1758624000000
    }
  ],
  "profiles": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "tags": [
    {
      "tag": "garden",
      "posts": 58
    }
  ]
}

संभावित स्टेटस: 200304400401429

GET/api/v2/emojis

सर्वर के अपने इमोजी, उनकी तस्वीरों के पते के साथ।

  • अधिकार read
  • ETag के साथ
  • v2.1 से

टेक्स्ट में इमोजी :name: के रूप में दिखता है। इसे इस सूची की तस्वीर से बदलो; अज्ञात नाम टेक्स्ट रहते हैं।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/emojis"

जवाब

Emoji के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "name": "tellmelo",
      "url": "/api/media?id=e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"
    }
  ],
  "next": null
}

संभावित स्टेटस: 200304401429

तुम्हारा खाता

तुम्हारी प्रोफ़ाइल और तुम्हारी फ़ीड।

GET/api/v2/me

तुम्हारी अपनी प्रोफ़ाइल, उस id के साथ जिसकी बाकी पाथ अपेक्षा करते हैं।

  • अधिकार read
  • ETag के साथ
  • v2.0 से

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/me"

जवाब

एक Profile से जवाब देता है।

उदाहरण
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "verified": true,
  "accountKind": "person",
  "about": "Beekeeper, allotment, too many seeds. :tellmelo:",
  "website": "https://mara-imkerei.example/",
  "websiteVerified": true,
  "followers": 148,
  "createdAt": 1750848000000
}

संभावित स्टेटस: 200304401429

GET/api/v2/feed

तुम्हारी अपनी फ़ीड, जैसे ऐप उसे बनाता है।

  • अधिकार read
  • पेज होने योग्य
  • v2.0 से

कोई ETag नहीं, क्योंकि क्रम बदलता रहता है। जो सूची तुमने शुरू की, वह अंत तक वैसी ही रहती है।

पैरामीटर

नामप्रकारमतलब
tabक्वेरी मेंstringवैकल्पिककौन-सी फ़ीड: for-you, following, latest या bookmarks। पहले से latest।for-youfollowinglatestbookmarks
tagक्वेरी मेंstringवैकल्पिकसिर्फ़ इस टैग की पोस्ट: इसके साथ लिखी गई या सर्वर ने इसमें पहचानी। इसके बिना, कोई फ़िल्टर नहीं।
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/feed?tab=following&limit=20"

जवाब

Post के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "text": "The bees are back in the garden 🐝 #garden",
      "kind": "poll",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "verified": true,
        "accountKind": "person"
      },
      "community": {
        "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
        "name": "Urban Gardening"
      },
      "media": [
        {
          "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
          "kind": "image",
          "poster": null
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": 1758710400000,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

संभावित स्टेटस: 200400401429

सूचनाएँ

तुम्हारे खाते के आसपास क्या हुआ, पेज दर पेज।

GET/api/v2/notifications

तुम्हारी सूचनाएँ, सबसे नई पहले।

  • अधिकार read
  • पेज होने योग्य
  • ETag के साथ
  • v2.0 से

पढ़ने से कुछ भी पढ़ा हुआ चिह्नित नहीं होता; POST /notifications/read करता है। एक ही पोस्ट पर एक ही प्रकार की घटनाएँ एक पंक्ति साझा करती हैं; more बताता है कितनी।

पैरामीटर

नामप्रकारमतलब
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/notifications?limit=20"

जवाब

Notification के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "id": "3f2e1d0c-9b8a-4765-8432-10fedcba9876",
      "kind": "like",
      "text": null,
      "actor": {
        "handle": "jon",
        "name": "Jon"
      },
      "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "read": false,
      "more": 2,
      "createdAt": 1758624300000,
      "updatedAt": 1758624900000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

संभावित स्टेटस: 200304401429

POST/api/v2/notifications/read

अपनी सूचनाओं को पढ़ा हुआ चिह्नित करो।

  • अधिकार write
  • v2.0 से

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/notifications/read"

जवाब

एक Ok से जवाब देता है।

उदाहरण
{
  "ok": true
}

संभावित स्टेटस: 200401403429

संदेश

तुम्हारा इनबॉक्स और बातचीत। बातचीत का नाम दूसरे खाते पर होता है।

GET/api/v2/conversations

तुम्हारा इनबॉक्स: हर बातचीत की एक पंक्ति, सबसे नई पहले।

  • अधिकार read
  • पेज होने योग्य
  • ETag के साथ
  • v2.0 से

पैरामीटर

नामप्रकारमतलब
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/conversations?limit=20"

जवाब

Conversation के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "with": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
      "handle": "jon",
      "name": "Jon",
      "excerpt": "See you on Saturday at the market!",
      "truncated": false,
      "fromMe": true,
      "lastMessageId": "7c6b5a49-3827-4165-9f0e-d1c2b3a49586",
      "unread": 0,
      "updatedAt": 1758624060000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

संभावित स्टेटस: 200304401429

GET/api/v2/conversations/{with}/messages

एक बातचीत के संदेश, सबसे नए पहले।

  • अधिकार read
  • पेज होने योग्य
  • ETag के साथ
  • v2.0 से

पढ़ने से कुछ भी पढ़ा हुआ चिह्नित नहीं होता; POST /conversations/{with}/read करता है।

पैरामीटर

नामप्रकारमतलब
withपाथ मेंstringज़रूरीदूसरे खाते का id। बातचीत का अपना कोई id नहीं होता।
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/messages?limit=20"

जवाब

Message के एक पेज से जवाब देता है, `items` और `next` के रूप में।

उदाहरण
{
  "items": [
    {
      "id": "7c6b5a49-3827-4165-9f0e-d1c2b3a49586",
      "text": "See you on Saturday at the market!",
      "from": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "to": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
      "read": true,
      "media": [],
      "replyTo": null,
      "createdAt": 1758624060000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

संभावित स्टेटस: 200304400401404429

POST/api/v2/conversations/{with}/messages

बातचीत में संदेश भेजो।

  • अधिकार write
  • v2.0 से

ऐप के नियम लागू होते हैं: जिसने तुम्हें ब्लॉक किया उस तक नहीं पहुँचा जा सकता, और दूसरे व्यक्ति की सेटिंग्स मायने रखती हैं।

API से अभी तस्वीरें नहीं जोड़ी जा सकतीं, सिर्फ़ ऐप में।

पैरामीटर

नामप्रकारमतलब
withपाथ मेंstringज़रूरीदूसरे खाते का id। बातचीत का अपना कोई id नहीं होता।
textबॉडी मेंstringज़रूरीपोस्ट, जवाब या संदेश का टेक्स्ट।
replyToबॉडी मेंstringवैकल्पिकइस बातचीत के किसी पिछले संदेश का id जिसका यह जवाब है। 2.2 से।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"See you on Saturday at the market!"}' \
  "https://tellmelo.com/api/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/messages"

जवाब

एक Ok से जवाब देता है।

उदाहरण
{
  "ok": true
}

संभावित स्टेटस: 200400401403404429

POST/api/v2/conversations/{with}/read

किसी बातचीत के सभी संदेशों को पढ़ा हुआ चिह्नित करो।

  • अधिकार write
  • v2.1 से

पैरामीटर

नामप्रकारमतलब
withपाथ मेंstringज़रूरीदूसरे खाते का id। बातचीत का अपना कोई id नहीं होता।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://tellmelo.com/api/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/read"

जवाब

एक Ok से जवाब देता है।

उदाहरण
{
  "ok": true
}

संभावित स्टेटस: 200400401403404429

संबंध

पसंद, सहेजना, रीपोस्ट, फ़ॉलो, जुड़ना, ब्लॉक: एक पाथ, active से सेट और हटाया जाता है।

POST/api/v2/relations

पसंद, सहेजना, रीपोस्ट, फ़ॉलो, जुड़ना, ब्लॉक, म्यूट, kind के हिसाब से।

  • अधिकार write
  • v2.0 से

like, save और repost के लिए target पोस्ट है, join के लिए समूह, follow, block और mute के लिए खाता। active: false संबंध हटाता है।

पैरामीटर

नामप्रकारमतलब
kindबॉडी मेंstringज़रूरीकौन-सा संबंध: like, save, repost, follow, join, block या mute (2.2 से)।likesaverepostfollowjoinblockmute
targetबॉडी मेंstringज़रूरीपोस्ट, प्रोफ़ाइल या समूह का id, kind के हिसाब से।
activeबॉडी मेंbooleanवैकल्पिकtrue संबंध बनाता है, false हटाता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"kind":"like","target":"5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1","active":true}' \
  "https://tellmelo.com/api/v2/relations"

जवाब

एक Ok से जवाब देता है।

उदाहरण
{
  "ok": true
}

संभावित स्टेटस: 200400401403429

ऑब्जेक्ट

सभी ऑब्जेक्ट, फ़ील्ड दर फ़ील्ड। [] का मतलब सूची।

Service

रूट का जवाब: कौन जवाब दे रहा है, और यह कुंजी क्या कर सकती है।

फ़ील्डप्रकारमतलब
namestringहमेशा tellmelo।
versionstringAPI का संस्करण, जैसे 2.1।
scopestringयह कुंजी क्या कर सकती है: read या read write।
rateLimitRateLimitइस कुंजी का बजट।
docsstringयह दस्तावेज़ कहाँ है, इस सर्वर पर पाथ के रूप में।
specstringमशीन से पढ़ा जा सकने वाला विवरण कहाँ है।
उदाहरण
{
  "name": "tellmelo",
  "version": "2.10",
  "scope": "read write",
  "rateLimit": {
    "limit": 120,
    "remaining": 117
  },
  "docs": "/legal/api",
  "spec": "/api/v2/openapi.json"
}

RateLimit

मौजूदा मिनट में इस कुंजी का बजट।

फ़ील्डप्रकारमतलब
limitintegerहर मिनट अनुरोध।
remainingintegerइस मिनट में कितने बचे हैं।
उदाहरण
{
  "limit": 120,
  "remaining": 117
}

Post

एक पोस्ट, हर जगह एक ही रूप में।

फ़ील्डप्रकारमतलब
idstringपोस्ट का id।
textstringया nullलिखा हुआ टेक्स्ट (सिर्फ़ पोल या सिर्फ़ तस्वीरों वाली पोस्ट के लिए null)।
kindstringपोस्ट क्या है।
  • post — टेक्स्ट, तस्वीरों या उद्धरण वाली पोस्ट।
  • poll — पोल वाली पोस्ट।
authorProfileBriefकिसने लिखी।
communityCommunityBriefया nullजिस समूह में लिखी गई (हर समूह के बाहर null)।
mediaMedia[]इसकी तस्वीरें, क्रम में; न हों तो खाली।
pollPollया nullपोल (न हो तो null)।
quotesstringया nullजिस पोस्ट को यह उद्धृत करती है उसका id।
continuesstringया nullजिस पोस्ट को यह जोड़ के रूप में आगे बढ़ाती है उसका id।
countsCountsजवाब, पसंद और रीपोस्ट।
pinnedbooleanक्या यह लेखक की प्रोफ़ाइल के सबसे ऊपर पिन है।
createdAtintegerकब लिखी गई।
उदाहरण
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "text": "The bees are back in the garden 🐝 #garden",
  "kind": "poll",
  "author": {
    "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
    "handle": "mara",
    "name": "Mara 🌻",
    "verified": true,
    "accountKind": "person"
  },
  "community": {
    "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
    "name": "Urban Gardening"
  },
  "media": [
    {
      "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
      "kind": "image",
      "poster": null
    }
  ],
  "poll": {
    "options": [
      {
        "text": "Lavender",
        "votes": 12
      },
      {
        "text": "Sunflowers",
        "votes": 7
      },
      {
        "text": "Clover",
        "votes": 3
      }
    ],
    "total": 22,
    "multiple": false,
    "endsAt": 1758710400000,
    "running": true,
    "resultsVisible": true,
    "myVotes": [
      0
    ]
  },
  "quotes": null,
  "continues": null,
  "counts": {
    "replies": 4,
    "likes": 31,
    "reposts": 2
  },
  "pinned": false,
  "createdAt": 1758624000000
}

Reply

पोस्ट के नीचे एक जवाब: दो और फ़ील्ड वाली एक पोस्ट।

Post के सभी फ़ील्ड, और इसके अलावा:

फ़ील्डप्रकारमतलब
postIdstringवह पोस्ट जिस पर पूरी बातचीत टिकी है।
parentIdstringया nullवह जवाब जिसका यह जवाब है (सीधे पोस्ट का जवाब हो तो null)।
उदाहरण
{
  "id": "9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a",
  "text": "Same here, the lavender is full of them.",
  "kind": "post",
  "author": {
    "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
    "handle": "jon",
    "name": "Jon",
    "verified": false,
    "accountKind": "person"
  },
  "community": null,
  "media": [],
  "poll": null,
  "quotes": null,
  "continues": null,
  "counts": {
    "replies": 0,
    "likes": 3,
    "reposts": 0
  },
  "pinned": false,
  "createdAt": 1758624600000,
  "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "parentId": null
}

Counts

किसी पोस्ट पर कितने जवाब, पसंद और रीपोस्ट हैं।

फ़ील्डप्रकारमतलब
repliesintegerजवाब, सभी स्तर मिलाकर।
likesintegerपसंद।
repostsintegerरीपोस्ट।
उदाहरण
{
  "replies": 4,
  "likes": 31,
  "reposts": 2
}

Media

किसी पोस्ट या संदेश की एक तस्वीर।

फ़ील्डप्रकारमतलब
urlstringतस्वीर या वीडियो का पता, इस सर्वर के सापेक्ष। हेडर में कुंजी के साथ लोड करो।
kindstringimage, video या gif (2.10 से)। वीडियो और GIF, MP4 फ़ाइलें हैं।
  • image — एक तस्वीर (WebP या JPEG)।
  • video — आवाज़ के साथ MP4 वीडियो।
  • gif — GIF, बिना आवाज़ के दोहराते MP4 के रूप में।
posterstringया nullवीडियो और GIF के लिए प्रीव्यू तस्वीर का पता, वरना null (2.10 से)।
उदाहरण
{
  "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
  "kind": "image",
  "poster": null
}

Poll

किसी पोस्ट का पोल।

फ़ील्डप्रकारमतलब
optionsPollOption[]जवाब, क्रम में। वोट में option 0 से गिना जाता है।
totalintegerसभी वोट मिलाकर, हमेशा मौजूद।
multiplebooleanक्या एक से ज़्यादा जवाब चुने जा सकते हैं।
endsAtintegerया nullपोल कब खत्म होगा (बिना अंत के चले तो null)।
runningbooleanक्या अभी वोट दिए जा सकते हैं।
resultsVisiblebooleanक्या हर जवाब के वोट दिखाए जाते हैं (votes देखो)।
myVotesinteger[]तुम्हारे चुने जवाब, 0 से गिनकर।
उदाहरण
{
  "options": [
    {
      "text": "Lavender",
      "votes": 12
    },
    {
      "text": "Sunflowers",
      "votes": 7
    },
    {
      "text": "Clover",
      "votes": 3
    }
  ],
  "total": 22,
  "multiple": false,
  "endsAt": 1758710400000,
  "running": true,
  "resultsVisible": true,
  "myVotes": [
    0
  ]
}

PollOption

पोल का एक जवाब।

फ़ील्डप्रकारमतलब
textstringजवाब।
votesintegerया nullइसके वोट (जब तक नतीजे रोके गए हैं, null)।
उदाहरण
{
  "text": "Lavender",
  "votes": 12
}

ProfileBrief

दूसरे ऑब्जेक्ट के भीतर दिखने वाली प्रोफ़ाइल: लेखक के रूप में, खोज में।

फ़ील्डप्रकारमतलब
idstringखाते का id: जिसकी /relations और /conversations/{with} अपेक्षा करते हैं।
handlestringछोटा नाम, @ के बिना।
namestringदिखने वाला नाम। इसमें इमोजी हो सकते हैं, :name: भी।
verifiedbooleanक्या खाता सत्यापित है।
accountKindstringखाता किस प्रकार का है।
  • person — एक व्यक्ति।
  • business — एक कारोबार।
  • association — एक क्लब या संस्था।
  • automated — एक स्वचालित खाता, जैसे बॉट।
उदाहरण
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "verified": true,
  "accountKind": "person"
}

Profile

एक स्वतंत्र प्रोफ़ाइल, विवरण और फ़ॉलोअर के साथ।

ProfileBrief के सभी फ़ील्ड, और इसके अलावा:

फ़ील्डप्रकारमतलब
aboutstringया nullविवरण (न हो तो null)।
websitestringया nullप्रोफ़ाइल की वेबसाइट (न हो तो null)। 2.3 से।
websiteVerifiedbooleanक्या वेबसाइट rel=me के साथ इस प्रोफ़ाइल से वापस लिंक करती है, हर हफ़्ते जाँचा जाता है। 2.3 से।
followersintegerकितने खाते इसे फ़ॉलो करते हैं।
createdAtintegerया nullखाता कब बना (जब तक सदस्य जुड़ने की तारीख छिपाता है, null; 2.9 से)।
उदाहरण
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "verified": true,
  "accountKind": "person",
  "about": "Beekeeper, allotment, too many seeds. :tellmelo:",
  "website": "https://mara-imkerei.example/",
  "websiteVerified": true,
  "followers": 148,
  "createdAt": 1750848000000
}

CommunityBrief

वह समूह जिसमें पोस्ट लिखी गई।

फ़ील्डप्रकारमतलब
idstringसमूह का id।
namestringया nullउसका नाम।
उदाहरण
{
  "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "name": "Urban Gardening"
}

Community

इस सर्वर का एक समूह।

फ़ील्डप्रकारमतलब
idstringसमूह का id।
namestringउसका नाम।
descriptionstringया nullविवरण (न हो तो null)।
tagsstring[]जिन विषयों के बारे में है।
membersintegerइसमें कितने सदस्य हैं।
joinPolicystringअंदर कैसे आते हैं।
  • open — कोई भी जुड़ सकता है।
  • application — जुड़ने के लिए आवेदन चाहिए जिसे समूह स्वीकार करता है।
  • invite — सिर्फ़ न्योते से।
visibilitystringकुंजी से हमेशा open।
  • open — सबको दिखता है।
उदाहरण
{
  "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "name": "Urban Gardening",
  "description": "Balconies, allotments, rooftops: whatever grows.",
  "tags": [
    "garden",
    "bees"
  ],
  "members": 312,
  "joinPolicy": "open",
  "visibility": "open"
}

Tag

एक टैग और कितनी पोस्ट में वह है।

फ़ील्डप्रकारमतलब
tagstringटैग, # के बिना।
postsintegerकितनी हाल की पोस्ट में यह है।
उदाहरण
{
  "tag": "garden",
  "posts": 58
}

SearchResult

तीन सूचियाँ, शायद खाली।

फ़ील्डप्रकारमतलब
postsPost[]मेल खाती पोस्ट, सबसे नई पहले।
profilesProfileBrief[]मेल खाती प्रोफ़ाइल, छोटे नाम से।
tagsTag[]मेल खाते टैग, सबसे ज़्यादा इस्तेमाल वाले पहले।
उदाहरण
{
  "posts": [
    {
      "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "text": "The bees are back in the garden 🐝 #garden",
      "kind": "poll",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "verified": true,
        "accountKind": "person"
      },
      "community": {
        "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
        "name": "Urban Gardening"
      },
      "media": [
        {
          "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
          "kind": "image",
          "poster": null
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": 1758710400000,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "createdAt": 1758624000000
    }
  ],
  "profiles": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "tags": [
    {
      "tag": "garden",
      "posts": 58
    }
  ]
}

Emoji

इस सर्वर का एक इमोजी।

फ़ील्डप्रकारमतलब
namestringनाम, जैसा कोलन के बीच होता है।
urlstringतस्वीर का पता, इस सर्वर के सापेक्ष।
उदाहरण
{
  "name": "tellmelo",
  "url": "/api/media?id=e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"
}

Notification

एक सूचना। एक पंक्ति एक ही प्रकार की कई घटनाएँ इकट्ठा कर सकती है।

फ़ील्डप्रकारमतलब
idstringसूचना का id।
kindstringक्या हुआ।
  • reply — किसी ने तुम्हें जवाब दिया।
  • like — किसी को तुम्हारी पोस्ट पसंद आई।
  • reply_like — किसी को तुम्हारा जवाब पसंद आया।
  • repost — किसी ने तुम्हारी पोस्ट रीपोस्ट की।
  • follow — कोई तुम्हें फ़ॉलो करता है।
  • mention — किसी ने तुम्हारा ज़िक्र किया।
  • group_mention — किसी ने तुम्हारे चलाए समूह का ज़िक्र किया; text उसका नाम है।
  • message — किसी ने तुम्हें संदेश लिखा।
  • scheduled — तुम्हारी एक निर्धारित पोस्ट प्रकाशित हो गई।
  • reminder — सहेजी गई पोस्ट का रिमाइंडर आ गया है।
  • report — तुम्हारी भेजी रिपोर्ट का क्या हुआ।
  • moderation — तुम्हारे खाते पर एक फ़ैसला: चेतावनी, पाबंदी, आपत्ति।
  • team — टीम के लिए नया काम (सिर्फ़ मालिक, एडमिन और मॉडरेटर)।
  • reward — आमंत्रण का इनाम ख़त्म होने वाला है या ख़त्म हो गया।
  • gift — टीम की ओर से तोहफ़ा: एक प्लान, या तुम्हारे या तुम्हारे चलाए समूह के लिए चिंगारियाँ।
  • present — किसी सदस्य से तोहफ़ा: चिंगारियाँ या प्लान का समय; सदस्य actor है।
  • spark — चिंगारियाँ जल्द ख़त्म होंगी, या तुम्हारे चलाए समूह ने कोई स्तर पाया या उसे कुछ ही समय तक रखेगा।
  • loyalty — वफ़ादारी की लय के बारे में: सक्रिय हफ़्ता गिना गया या एक दिन कम है, इनाम नया है या मिटने वाला है।
  • impact — बारह घंटों की तुम्हारी पोस्ट एक दिन बाद कैसी रहीं, एक सूचना में।
  • discovery — “खोजे गए” कार्यक्रम का आमंत्रण, या यह कि वहाँ जगह शुरू या ख़त्म हो रही है।
  • group_post — किसी ऐसे समूह में नई पोस्ट जिसकी घंटी इसके लिए बजती है।
  • group_moderation — किसी समूह के नेतृत्व ने तुम्हारी कोई पोस्ट या तुम्हें समूह से हटाया।
textstringया nullसिर्फ़ रिपोर्ट और मॉडरेशन के लिए: संबंधित टेक्स्ट, वरना null।
actorActorकिसने किया।
postIdstringया nullजिस पोस्ट की बात है (किसी की नहीं तो null)।
readbooleanक्या इसे पढ़ा हुआ चिह्नित किया गया है।
moreintegerनाम वाली के अलावा यह पंक्ति कितनी और घटनाओं का प्रतिनिधित्व करती है।
createdAtintegerपहली बार कब हुआ।
updatedAtintegerआख़िरी बार कब इसमें कोई और घटना जुड़ी। सूची इसी से क्रमबद्ध है।
उदाहरण
{
  "id": "3f2e1d0c-9b8a-4765-8432-10fedcba9876",
  "kind": "like",
  "text": null,
  "actor": {
    "handle": "jon",
    "name": "Jon"
  },
  "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "read": false,
  "more": 2,
  "createdAt": 1758624300000,
  "updatedAt": 1758624900000
}

Actor

किसने सूचना शुरू की।

फ़ील्डप्रकारमतलब
handlestringछोटा नाम।
namestringदिखने वाला नाम।
उदाहरण
{
  "handle": "jon",
  "name": "Jon"
}

Conversation

तुम्हारे इनबॉक्स की एक पंक्ति।

फ़ील्डप्रकारमतलब
withstringदूसरे खाते का id: जिसकी /conversations/{with}/messages अपेक्षा करता है।
handlestringउनका छोटा नाम।
namestringउनका दिखने वाला नाम।
excerptstringया nullआख़िरी संदेश की शुरुआत (टेक्स्ट न हो तो null)।
truncatedbooleanक्या अंश छोटा किया गया।
fromMebooleanक्या आख़िरी संदेश तुम्हारा है।
lastMessageIdstringआख़िरी संदेश का id।
unreadintegerउनके कितने संदेश तुमने अभी नहीं पढ़े।
updatedAtintegerआख़िरी संदेश कब लिखा गया।
उदाहरण
{
  "with": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
  "handle": "jon",
  "name": "Jon",
  "excerpt": "See you on Saturday at the market!",
  "truncated": false,
  "fromMe": true,
  "lastMessageId": "7c6b5a49-3827-4165-9f0e-d1c2b3a49586",
  "unread": 0,
  "updatedAt": 1758624060000
}

Message

बातचीत में एक संदेश।

फ़ील्डप्रकारमतलब
idstringसंदेश का id।
textstringया nullटेक्स्ट (सिर्फ़ तस्वीरों वाले संदेश के लिए null)।
fromstringजिस खाते ने लिखा उसका id।
tostringजिस खाते को लिखा गया उसका id।
readbooleanक्या पाने वाले ने पढ़ लिया।
mediaMedia[]इसकी तस्वीरें; न हों तो खाली।
replyTostringया nullजिस संदेश का यह जवाब है उसका id (किसी का जवाब न हो तो null)। 2.2 से।
createdAtintegerकब भेजा गया।
उदाहरण
{
  "id": "7c6b5a49-3827-4165-9f0e-d1c2b3a49586",
  "text": "See you on Saturday at the market!",
  "from": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "to": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
  "read": true,
  "media": [],
  "replyTo": null,
  "createdAt": 1758624060000
}

Created

उस लिखने वाले अनुरोध का जवाब जिसने कुछ बनाया।

फ़ील्डप्रकारमतलब
idstringजो बनाया गया उसका id।
scheduledForintegerया nullकब दिखेगा, अगर प्रकाशन निर्धारित है (वरना null)।
deleteAtintegerया nullकब ख़ुद-ब-ख़ुद मिटेगा, अगर यह सेट है (वरना null)।
उदाहरण
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "scheduledFor": null,
  "deleteAt": null
}

Ok

उस लिखने वाले अनुरोध का जवाब जिसके पास लौटाने को कुछ नहीं।

फ़ील्डप्रकारमतलब
okbooleanहमेशा true।
उदाहरण
{
  "ok": true
}

मशीन से पढ़ा जा सकने वाला विवरण

इस पेज के पीछे की तालिका OpenAPI के रूप में /api/v2/openapi.json पर उपलब्ध है।

https://tellmelo.com/api/v2/openapi.json

हम क्या उम्मीद करते हैं

वही नियम लागू हैं जो हर जगह हैं: न उत्पीड़न, न स्पैम, न ऐसी सामग्री जिस पर तुम्हारा अधिकार नहीं। तुम्हारी कुंजी जो पोस्ट करती है, उसकी ज़िम्मेदारी तुम्हारी है।

tellmelo पर वापस