सामग्री अवलोकन v2 तुम्हारे अपने प्रोग्राम को tellmelo से बात करने देता है: हर अनुरोध पर एक कुंजी, जवाब में JSON, हर सूची एक ही तरह से पेज होती है। ऐप वाले ही नियम लागू होते हैं।
हर पाथ इस सर्वर के पते पर /api/v2 से शुरू होता है। अनुरोध और जवाब UTF-8 में JSON हैं। फ़ील्ड के नाम, कोड और मान अंग्रेज़ी में हैं और अंग्रेज़ी में ही रहते हैं। कुंजी तुम्हारे खाते की तरह काम करती है: जो तुम ऐप में नहीं देख सकते, वह भी नहीं पढ़ सकती। https://tellmelo.com/api/v2जल्दी शुरुआत “सेटिंग्स → ऐप और डेटा → API” में कुंजी बनाओ और कॉपी करो। यह सिर्फ़ एक बार दिखाई जाती है। इससे रूट को कॉल करो। जवाब संस्करण, कुंजी के अधिकार और इस मिनट में बचे अनुरोध दिखाता है। हर पाथ एक ही तरह काम करता है: हेडर में कुंजी, जवाब में 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 से पढ़ता है।
काम 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 read API संस्करण और इस सर्वर का नाम।
curl JavaScript Python
कॉपी करो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/v2URL में नहीं: वह लॉग और ब्राउज़र इतिहास में पहुँच जाएगा।
वही कुंजी तस्वीरें लोड करती है: हर url /api/media की ओर इशारा करता है; वहाँ भी हेडर में कुंजी भेजो।
curl -H "Authorization: Bearer tm_key_…" \
-o picture.webp "https://tellmelo.com/api/media?id=…"कुंजी क्या कर सकती है कुंजी के पास दो में से एक अधिकार होता है, और नीचे हर पाथ बताता है कि उसे कौन-सा चाहिए:
read : पढ़ना। सार्वजनिक पोस्ट, प्रोफ़ाइल, समूह और टैग, साथ ही तुम्हारी फ़ीड, सूचनाएँ और संदेश।write : करना। पोस्ट करना, जवाब देना, वोट देना, संदेश भेजना, फ़ॉलो करना, जुड़ना, ब्लॉक करना, सूचनाओं को पढ़ा हुआ चिह्नित करना।जो कोई कुंजी नहीं कर सकती कोई कुंजी पासवर्ड, ईमेल पता, खाते का प्रकार, जगह, भूमिका, मिटाना, सत्र, पुश डिवाइस या दूसरी कुंजियों तक नहीं पहुँचती, न ही प्रशासन या समूह नेतृत्व तक। जिसकी रक्षा पासवर्ड करता है, वह कोई कुंजी नहीं कर सकती।
पेज हर सूची 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 देता है।
जब कुछ काम न करे त्रुटियाँ 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/v2API संस्करण और इस सर्वर का नाम।
अधिकार 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पोस्ट प्रकाशित करो।
पोस्ट में टेक्स्ट या पोल चाहिए। लंबाई, पोल के विकल्प और रफ़्तार सर्वर तय करता है; उससे आगे तुम्हें 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}अपनी कोई पोस्ट हटाओ।
पैरामीटर नाम प्रकार मतलब 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किसी पोस्ट का जवाब दो।
धीमे मोड में हर व्यक्ति हर 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पोल में हिस्सा लो।
हर विकल्प के वोट तब तक 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अपनी सूचनाओं को पढ़ा हुआ चिह्नित करो।
अनुरोध का उदाहरण 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बातचीत में संदेश भेजो।
ऐप के नियम लागू होते हैं: जिसने तुम्हें ब्लॉक किया उस तक नहीं पहुँचा जा सकता, और दूसरे व्यक्ति की सेटिंग्स मायने रखती हैं।
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किसी बातचीत के सभी संदेशों को पढ़ा हुआ चिह्नित करो।
पैरामीटर नाम प्रकार मतलब 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 के हिसाब से।
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
}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
}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हम क्या उम्मीद करते हैं वही नियम लागू हैं जो हर जगह हैं: न उत्पीड़न, न स्पैम, न ऐसी सामग्री जिस पर तुम्हारा अधिकार नहीं। तुम्हारी कुंजी जो पोस्ट करती है, उसकी ज़िम्मेदारी तुम्हारी है।