tellmelo.डेवलपरtellmelo पर जाओ
सहायता केंद्रसपोर्टकानूनीडेवलपर

API

शुरुआत

  • मैं चाहता/चाहती हूँ …
  • अवलोकन
  • जल्दी शुरुआत
  • आज़माओ
  • तुम्हारी कुंजी
  • कुंजी क्या कर सकती है
  • बॉट

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

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

एंडपॉइंट

  • एंडपॉइंट
  • प्रवेश
    • GET /
  • पोस्ट
    • GET /posts
    • GET /posts/{id}
    • POST /posts
    • DELETE /posts/{id}
    • GET /me/scheduled
    • POST /posts/{id}/schedule
    • POST /posts/{id}/edit
    • GET /posts/{id}/reply-settings
    • PUT /posts/{id}/reply-settings
    • POST /posts/{id}/coauthor
    • DELETE /posts/{id}/coauthor
    • POST /posts/{id}/pin
  • जवाब
    • GET /posts/{id}/replies
    • POST /posts/{id}/replies
    • POST /replies/{id}/edit
    • DELETE /replies/{id}
    • POST /replies/{id}/like
    • POST /replies/{id}/vote
    • POST /replies/{id}/pick
    • GET /posts/{id}/replies/waiting
    • POST /replies/{id}/decide
    • GET /posts/{id}/replies/planned
    • PUT /me/planned-replies/{id}
    • POST /me/planned-replies/{id}/send
    • DELETE /me/planned-replies/{id}
  • पोल
    • POST /posts/{id}/vote
  • प्रोफ़ाइल
    • GET /profiles/{handle}
    • GET /profiles/{handle}/posts
    • GET /profiles/{handle}/events
    • POST /me/events
    • PUT /me/events/{id}
    • DELETE /me/events/{id}
    • GET /me/events/{id}/signups
    • POST /events/{id}/signup
  • समूह
    • GET /communities
    • GET /communities/{id}
    • GET /communities/{id}/posts
    • GET /communities/{id}/members
    • GET /communities/{id}/roles
    • GET /communities/{id}/bell
    • GET /invites/{code}
    • PUT /roles/{id}/self
    • GET /communities/{id}/emojis
    • PUT /communities/{id}/bell
    • POST /invites/{code}/join
    • GET /communities/{id}/bots
  • चैनल
    • GET /communities/{id}/channels
    • GET /channels/{id}/messages
    • POST /channels/{id}/messages
    • POST /channels/{id}/read
    • DELETE /channel-messages/{id}
    • GET /communities/{id}/voice
  • समूह चलाना
    • POST /communities/{id}/emojis
    • DELETE /communities/{id}/emojis/{name}
    • POST /communities/{id}/roles
    • PUT /roles/{id}
    • DELETE /roles/{id}
    • PUT /communities/{id}/roles/order
    • PUT /roles/{id}/members/{member}
    • POST /communities/{id}/channels
    • PUT /channels/{id}
    • DELETE /channels/{id}
    • PUT /communities/{id}/channels/order
    • PUT /communities/{id}/channels/shape
    • GET /channels/{id}/overrides
    • PUT /channels/{id}/overrides/{role}
    • POST /communities/{id}/categories
    • PUT /categories/{id}
    • DELETE /categories/{id}
    • PUT /communities/{id}/feed
    • GET /communities/{id}/invites
    • POST /communities/{id}/invites
    • DELETE /invites/{code}
    • POST /channel-messages/{id}/remove
    • POST /communities/{id}/posts/{post}/remove
    • DELETE /communities/{id}/members/{member}
    • PUT /communities/{id}/members/{member}/timeout
    • DELETE /communities/{id}/members/{member}/timeout
    • GET /communities/{id}/bans
    • PUT /communities/{id}/bans/{member}
    • DELETE /communities/{id}/bans/{member}
    • GET /communities/{id}/log
    • POST /communities
    • PUT /communities/{id}
  • बॉट
    • GET /events
    • GET /events/stream
    • GET /me/commands
    • PUT /me/commands
    • POST /interactions/{id}/reply
    • POST /channels/{id}/voice
  • खोजो
    • GET /tags
    • GET /search
    • GET /emojis
  • GIF और वीडियो
    • GET /media
    • GET /media/mine
    • GET /media/{id}
    • POST /media/uploads
    • PUT /media/uploads/{upload}
    • POST /media/{id}
    • DELETE /media/{id}
  • तुम्हारा खाता
    • GET /me
    • GET /feed
    • POST /me/pictures
    • PUT /me/profile
    • GET /me/emojis
    • POST /me/emojis/pictures
    • POST /me/emojis
    • DELETE /me/emojis/{name}
    • PUT /me/emojis/sharing
    • GET /me/webhooks
    • POST /me/webhooks
    • DELETE /me/webhooks/{id}
    • POST /me/webhooks/{id}/test
  • सूचनाएँ
    • GET /notifications
    • POST /notifications/read
  • संदेश
    • GET /conversations
    • GET /conversations/{with}/messages
    • POST /conversations/{with}/messages
    • POST /conversations/{with}/read
    • DELETE /conversations/{with}/messages/{id}
    • POST /conversations/{with}/planned
    • GET /me/planned-messages
    • POST /me/planned-messages/{id}/send
    • DELETE /me/planned-messages/{id}
  • संबंध
    • POST /relations
    • GET /profiles/{handle}/followers
    • GET /profiles/{handle}/following
    • GET /me/relations
  • संग्रह
    • GET /me/collections
    • POST /me/collections
    • PUT /me/collections/{id}
    • DELETE /me/collections/{id}
    • GET /me/collections/{id}/posts
    • POST /me/collections/{id}/posts
  • तोहफ़े
    • GET /partner/quota
    • GET /partner/gifts
    • POST /partner/gifts
    • GET /gift-drops
    • POST /gift-drops

ऑब्जेक्ट

  • ऑब्जेक्ट
  • Service
  • RateLimit
  • Post
  • Reply
  • ReplyVote
  • PlannedReply
  • ReplySettings
  • Counts
  • Media
  • Poll
  • PollOption
  • ProfileBrief
  • Profile
  • CommunityBrief
  • Community
  • Membership
  • Person
  • Channel
  • ChannelCategory
  • ChannelSymbol
  • ChannelMessage
  • Role
  • GroupMember
  • ChannelOverride
  • Bell
  • InviteLink
  • InvitePreview
  • InviteGroup
  • Joined
  • LogEntry
  • Ban
  • Until
  • Tag
  • SearchResult
  • Emoji
  • Notification
  • Actor
  • Conversation
  • Message
  • PlannedMessage
  • ScheduledPost
  • Collection
  • Event
  • EventSignups
  • EventSignup
  • Picture
  • EmojiPicture
  • OwnEmoji
  • GroupEmoji
  • BotEvent
  • BotCommand
  • VoiceSeat
  • Webhook
  • WebhookCreated
  • GroupBot
  • VoiceRoom
  • VoicePerson
  • GiftDrop
  • OwnGiftDrop
  • Quota
  • QuotaLook
  • QuotaGift
  • MediaItem
  • Embed
  • UploadStarted
  • UploadPiece
  • Created
  • DropCreated
  • Made
  • Ok

और

  • मशीन से पढ़ा जा सकने वाला विवरण
  • दूसरी वेबसाइटों पर GIF और वीडियो
  • tellmelo से साइन इन
  • हम क्या उम्मीद करते हैं
सामग्री

शुरुआत

  • मैं चाहता/चाहती हूँ …
  • अवलोकन
  • जल्दी शुरुआत
  • आज़माओ
  • तुम्हारी कुंजी
  • कुंजी क्या कर सकती है
  • बॉट

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

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

एंडपॉइंट

  • एंडपॉइंट
  • प्रवेश
    • GET /
  • पोस्ट
    • GET /posts
    • GET /posts/{id}
    • POST /posts
    • DELETE /posts/{id}
    • GET /me/scheduled
    • POST /posts/{id}/schedule
    • POST /posts/{id}/edit
    • GET /posts/{id}/reply-settings
    • PUT /posts/{id}/reply-settings
    • POST /posts/{id}/coauthor
    • DELETE /posts/{id}/coauthor
    • POST /posts/{id}/pin
  • जवाब
    • GET /posts/{id}/replies
    • POST /posts/{id}/replies
    • POST /replies/{id}/edit
    • DELETE /replies/{id}
    • POST /replies/{id}/like
    • POST /replies/{id}/vote
    • POST /replies/{id}/pick
    • GET /posts/{id}/replies/waiting
    • POST /replies/{id}/decide
    • GET /posts/{id}/replies/planned
    • PUT /me/planned-replies/{id}
    • POST /me/planned-replies/{id}/send
    • DELETE /me/planned-replies/{id}
  • पोल
    • POST /posts/{id}/vote
  • प्रोफ़ाइल
    • GET /profiles/{handle}
    • GET /profiles/{handle}/posts
    • GET /profiles/{handle}/events
    • POST /me/events
    • PUT /me/events/{id}
    • DELETE /me/events/{id}
    • GET /me/events/{id}/signups
    • POST /events/{id}/signup
  • समूह
    • GET /communities
    • GET /communities/{id}
    • GET /communities/{id}/posts
    • GET /communities/{id}/members
    • GET /communities/{id}/roles
    • GET /communities/{id}/bell
    • GET /invites/{code}
    • PUT /roles/{id}/self
    • GET /communities/{id}/emojis
    • PUT /communities/{id}/bell
    • POST /invites/{code}/join
    • GET /communities/{id}/bots
  • चैनल
    • GET /communities/{id}/channels
    • GET /channels/{id}/messages
    • POST /channels/{id}/messages
    • POST /channels/{id}/read
    • DELETE /channel-messages/{id}
    • GET /communities/{id}/voice
  • समूह चलाना
    • POST /communities/{id}/emojis
    • DELETE /communities/{id}/emojis/{name}
    • POST /communities/{id}/roles
    • PUT /roles/{id}
    • DELETE /roles/{id}
    • PUT /communities/{id}/roles/order
    • PUT /roles/{id}/members/{member}
    • POST /communities/{id}/channels
    • PUT /channels/{id}
    • DELETE /channels/{id}
    • PUT /communities/{id}/channels/order
    • PUT /communities/{id}/channels/shape
    • GET /channels/{id}/overrides
    • PUT /channels/{id}/overrides/{role}
    • POST /communities/{id}/categories
    • PUT /categories/{id}
    • DELETE /categories/{id}
    • PUT /communities/{id}/feed
    • GET /communities/{id}/invites
    • POST /communities/{id}/invites
    • DELETE /invites/{code}
    • POST /channel-messages/{id}/remove
    • POST /communities/{id}/posts/{post}/remove
    • DELETE /communities/{id}/members/{member}
    • PUT /communities/{id}/members/{member}/timeout
    • DELETE /communities/{id}/members/{member}/timeout
    • GET /communities/{id}/bans
    • PUT /communities/{id}/bans/{member}
    • DELETE /communities/{id}/bans/{member}
    • GET /communities/{id}/log
    • POST /communities
    • PUT /communities/{id}
  • बॉट
    • GET /events
    • GET /events/stream
    • GET /me/commands
    • PUT /me/commands
    • POST /interactions/{id}/reply
    • POST /channels/{id}/voice
  • खोजो
    • GET /tags
    • GET /search
    • GET /emojis
  • GIF और वीडियो
    • GET /media
    • GET /media/mine
    • GET /media/{id}
    • POST /media/uploads
    • PUT /media/uploads/{upload}
    • POST /media/{id}
    • DELETE /media/{id}
  • तुम्हारा खाता
    • GET /me
    • GET /feed
    • POST /me/pictures
    • PUT /me/profile
    • GET /me/emojis
    • POST /me/emojis/pictures
    • POST /me/emojis
    • DELETE /me/emojis/{name}
    • PUT /me/emojis/sharing
    • GET /me/webhooks
    • POST /me/webhooks
    • DELETE /me/webhooks/{id}
    • POST /me/webhooks/{id}/test
  • सूचनाएँ
    • GET /notifications
    • POST /notifications/read
  • संदेश
    • GET /conversations
    • GET /conversations/{with}/messages
    • POST /conversations/{with}/messages
    • POST /conversations/{with}/read
    • DELETE /conversations/{with}/messages/{id}
    • POST /conversations/{with}/planned
    • GET /me/planned-messages
    • POST /me/planned-messages/{id}/send
    • DELETE /me/planned-messages/{id}
  • संबंध
    • POST /relations
    • GET /profiles/{handle}/followers
    • GET /profiles/{handle}/following
    • GET /me/relations
  • संग्रह
    • GET /me/collections
    • POST /me/collections
    • PUT /me/collections/{id}
    • DELETE /me/collections/{id}
    • GET /me/collections/{id}/posts
    • POST /me/collections/{id}/posts
  • तोहफ़े
    • GET /partner/quota
    • GET /partner/gifts
    • POST /partner/gifts
    • GET /gift-drops
    • POST /gift-drops

ऑब्जेक्ट

  • ऑब्जेक्ट
  • Service
  • RateLimit
  • Post
  • Reply
  • ReplyVote
  • PlannedReply
  • ReplySettings
  • Counts
  • Media
  • Poll
  • PollOption
  • ProfileBrief
  • Profile
  • CommunityBrief
  • Community
  • Membership
  • Person
  • Channel
  • ChannelCategory
  • ChannelSymbol
  • ChannelMessage
  • Role
  • GroupMember
  • ChannelOverride
  • Bell
  • InviteLink
  • InvitePreview
  • InviteGroup
  • Joined
  • LogEntry
  • Ban
  • Until
  • Tag
  • SearchResult
  • Emoji
  • Notification
  • Actor
  • Conversation
  • Message
  • PlannedMessage
  • ScheduledPost
  • Collection
  • Event
  • EventSignups
  • EventSignup
  • Picture
  • EmojiPicture
  • OwnEmoji
  • GroupEmoji
  • BotEvent
  • BotCommand
  • VoiceSeat
  • Webhook
  • WebhookCreated
  • GroupBot
  • VoiceRoom
  • VoicePerson
  • GiftDrop
  • OwnGiftDrop
  • Quota
  • QuotaLook
  • QuotaGift
  • MediaItem
  • Embed
  • UploadStarted
  • UploadPiece
  • Created
  • DropCreated
  • Made
  • Ok

और

  • मशीन से पढ़ा जा सकने वाला विवरण
  • दूसरी वेबसाइटों पर GIF और वीडियो
  • tellmelo से साइन इन
  • हम क्या उम्मीद करते हैं

मैं चाहता/चाहती हूँ …

चुनें कि आप क्या करना चाहते हैं; नीचे केवल उसके चरण हैं। पूरा संदर्भ आगे नीचे है।

  1. बॉट अपने किसी ग्रुप में, ग्रुप मेन्यू के “बॉट → मेरे बॉट” में तस्वीर, नाम और @नाम के साथ बनाएँ। उसका टोकन आप केवल एक बार देखेंगे।
  2. उसका “बॉट जोड़ें” लिंक साझा करें या उसे बॉट निर्देशिका के लिए जमा करें, जहाँ वह टीम की जाँच के बाद दिखता है; ग्रुप में भूमिकाएँ प्रबंधित करने वाला व्यक्ति उसे उन अनुमतियों के साथ जोड़ता है जिन पर वह सहमत होता है।
  3. उसके समूहों की घटनाएँ स्ट्रीम (GET /v2/events/stream) या अपने पते पर पाएँ, और POST /v2/channels/{id}/messages से लिखें। और बॉट में।
  4. कमांड दर्ज करें (PUT /v2/me/commands) और कार्ड व बटन से जवाब दें; वॉइस चैनल में जगह लेकर बॉट संगीत बजाता है (POST /v2/channels/{id}/voice)।

अवलोकन

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

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

जल्दी शुरुआत

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

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

आज़माओ

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

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

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

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

हर खाते में अधिकतम 10 कुंजियाँ, हर एक का नाम, अपनी अनुमतियाँ और चाहो तो समाप्ति तिथि। कुंजी tm_key_ से शुरू होती है और केवल एक बार दिखती है। खो गई? उसे नवीनीकृत करो; पुराना मान काम करना बंद कर देगा।

इसे “डेवलपर क्षेत्र → API” में बनाते हो। यह अनुरोध के हेडर में जाती है:

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

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

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

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

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

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

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

एक कुंजी हमेशा पढ़ सकती है, और तुम अनुमति दो तो लिख, उपहार दे, मीडिया अपलोड कर और समूह भी चला सकती है। नीचे हर पथ बताता है कि उसे क्या चाहिए:

  • read: पढ़ना। सार्वजनिक पोस्ट, प्रोफ़ाइल, समूह और टैग, साथ में तुम्हारी फ़ीड, सूचनाएँ, संदेश और तुम्हारे समूहों के चैनल।
  • write: कार्य करना। पोस्ट करना, जवाब देना, वोट देना, संदेश भेजना, किसी समूह की चैट में लिखना, फ़ॉलो करना, जुड़ना, ब्लॉक करना, सूचनाओं को पढ़ा हुआ बताना।
  • gifts: तोहफ़े देना। साझेदार के कोटे से किसी सदस्य को, और नई पोस्ट के नीचे तोहफ़े। यह अलग अधिकार है, ताकि पोस्ट करने वाली कुंजी कभी कुछ न बाँट सके।
  • media: अपनी मीडिया लाइब्रेरी। GIF और वीडियो अपलोड करना, बदलना, शेयर करना और हटाना। यह अलग अनुमति है, क्योंकि अपलोड में अकाउंट के वीडियो पॉइंट्स लगते हैं। शेयर किए गए GIF और वीडियो ढूँढने के लिए सिर्फ़ read चाहिए।
  • groups: समूह सँभालना। भूमिकाएँ, चैनल, श्रेणियाँ, निमंत्रण लिंक, फ़ीड चैनल, हटाना, म्यूट करना, निकालना और प्रतिबंध, जितना तुम्हारा खाता समूह में कर सकता है। एक अलग अधिकार, ताकि पोस्ट करने की कुंजी कभी यह न बदले कि समूह में कौन क्या कर सकता है।

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

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

बॉट

बॉट ग्रुप के लिए bot प्रकार का अपना अलग खाता है: बिना पासवर्ड और ईमेल के, जिसे आपका प्रोग्राम उसकी अपनी कुंजी से चलाता है। यह हर खाते जैसा ही API इस्तेमाल करता है और ग्रुप में वह सब कर सकता है जो उसका रोल वहाँ अनुमति देता है।

  1. अपने किसी ग्रुप में ग्रुप मेन्यू खोलें और “बॉट → मेरे बॉट” में तस्वीर, कवर, नाम, यूज़रनेम और विवरण के साथ एक बॉट बनाएँ। टोकन केवल एक बार दिखाया जाता है; इसके पास read, write, media और groups अनुमतियाँ हैं।
  2. बॉट का लिंक आगे भेजें या उसे बॉट निर्देशिका के लिए जमा करें; टीम के जाँचते ही वह वहाँ दिखता है। ग्रुप में भूमिकाएँ प्रबंधित करने वाला व्यक्ति अनुमतियाँ चुनता है; बॉट जुड़ता है और उसे अपनी भूमिका मिलती है।
  3. आपका प्रोग्राम टोकन को Authorization: Bearer … के रूप में भेजता है, अपने समूहों की घटनाएँ स्ट्रीम के रूप में पढ़ता है और बॉट, चैनल और समूह के रूट से काम करता है।

एक छोटा बॉट जो घटनाएँ स्ट्रीम के रूप में पढ़ता है और /ping कमांड पर केवल पूछने वाले को pong कहता है:

// Node 18 or newer: reads the events of the bot's groups as they happen and answers /ping.
const BASE = 'https://api.tellmelo.com/v2';
const KEY = process.env.TELLMELO_BOT_TOKEN;
const call = (method, path, body) =>
  fetch(BASE + path, {
    method,
    headers: { Authorization: 'Bearer ' + KEY, 'Content-Type': 'application/json' },
    body: body && JSON.stringify(body),
  }).then((r) => r.json());

await call('PUT', '/me/commands', { commands: [{ name: 'ping', description: 'Answers pong' }] });

let last = '';
for (;;) {
  // The stream closes after ten minutes; Last-Event-ID goes on where it stopped.
  const res = await fetch(BASE + '/events/stream', {
    headers: { Authorization: 'Bearer ' + KEY, ...(last && { 'Last-Event-ID': last }) },
  });
  const reader = res.body.pipeThrough(new TextDecoderStream()).getReader();
  let buffer = '';
  for (;;) {
    const { value, done } = await reader.read();
    if (done) break;
    buffer += value;
    let end;
    while ((end = buffer.indexOf('

')) >= 0) {
      const data = buffer.slice(0, end).split('
').find((l) => l.startsWith('data: '));
      buffer = buffer.slice(end + 2);
      if (!data) continue;
      const event = JSON.parse(data.slice(6));
      last = event.id;
      if (event.type === 'command' && event.data.command === 'ping')
        await call('POST', '/interactions/' + event.data.interaction + '/reply', { text: 'pong', private: true });
    }
  }
}

वही बॉट Python में, घटनाएँ पेज दर पेज लेते हुए:

# Python 3 with requests: the same bot, reading the events page by page.
import os, time, requests

BASE = 'https://api.tellmelo.com/v2'
H = {'Authorization': 'Bearer ' + os.environ['TELLMELO_BOT_TOKEN']}
requests.put(BASE + '/me/commands', headers=H,
             json={'commands': [{'name': 'ping', 'description': 'Answers pong'}]})

since = '0'
while True:
    page = requests.get(BASE + '/events', headers=H, params={'since': since}).json()
    for event in page['items']:
        if event['type'] == 'command' and event['data']['command'] == 'ping':
            requests.post(f"{BASE}/interactions/{event['data']['interaction']}/reply",
                          headers=H, json={'text': 'pong'})
    since = page['next'] or since
    time.sleep(2)
  • ग्रुप में बॉट क्या कर सकता है, यह वहाँ उसकी भूमिका तय करती है, टोकन नहीं। भूमिका पर उसका नाम होता है; ग्रुप उसकी अनुमतियाँ ग्रुप सेटिंग्स की भूमिकाओं में बदलता है और बॉट को ग्रुप मेन्यू में “बॉट → इस समूह में” से हटाता है।
  • हर खाते पर 5 बॉट तक; हर समूह में उतने जितने उसके लाभ अनुमति दें। बॉट हर समूह में मिनट में अधिकतम 30 संदेश लिखता है, खोज में नहीं मिलता और केवल उन्हीं को लिखता है जिन्होंने पहले उसे लिखा हो। सीमाएँ लागू हैं।
  • घटनाएँ आपके अपने HTTPS पते पर भी आती हैं (वेबहुक की तरह हस्ताक्षरित, दोबारा प्रयास के साथ)। साथ ही: कमांड (PUT /v2/me/commands) जिनके जवाब सबके लिए या केवल पूछने वाले के लिए, संदेशों में कार्ड और बटन, और वॉइस चैनल में संगीत (POST /v2/channels/{id}/voice): सब बॉट में।

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

  • हर जगह 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://api.tellmelo.com/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तुम्हारा खाता यह नहीं कर सकता, जैसे वापस लिए गए अधिकार या ब्लॉक के कारण।
403timed_outइस समूह में अभी एक म्यूट तुम्हारे खाते को चुप रखे है।
404unknown_pathऐसा कोई पाथ नहीं, या इस विधि के साथ नहीं।
404not_foundनहीं मिला, या तुम इसे नहीं देख सकते।
409conflictजो पहले से है उससे टकराता है, जैसे कोई लिया जा चुका नाम।
409feed_offइस समूह का फ़ीड चैनल बंद है।
413too_largeइस सर्वर के लिए बहुत बड़ा।
422unprocessableपढ़ा जा सकता है, पर इस रूप में संभव नहीं।
429rate_limitedबहुत ज़्यादा अनुरोध। कुछ नहीं हुआ; रुको और फिर कोशिश करो।
500internal_errorसर्वर पर कुछ गड़बड़ हो गई।

संस्करण

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

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

2.20
PUT /v2/roles/{id}/selfGET /v2/eventsGET /v2/events/streamGET /v2/me/commandsPUT /v2/me/commandsPOST /v2/interactions/{id}/replyGET /v2/communities/{id}/emojisPOST /v2/communities/{id}/emojisDELETE /v2/communities/{id}/emojis/{name}PUT /v2/communities/{id}/channels/shapePOST /v2/channels/{id}/voice
2.19
POST /v2/replies/{id}/votePOST /v2/replies/{id}/pickGET /v2/posts/{id}/replies/waitingPOST /v2/replies/{id}/decideGET /v2/posts/{id}/replies/plannedPUT /v2/me/planned-replies/{id}POST /v2/me/planned-replies/{id}/sendDELETE /v2/me/planned-replies/{id}GET /v2/posts/{id}/reply-settingsPUT /v2/posts/{id}/reply-settingsPOST /v2/posts/{id}/coauthorDELETE /v2/posts/{id}/coauthorPOST /v2/posts/{id}/pinPOST /v2/conversations/{with}/plannedGET /v2/me/planned-messagesPOST /v2/me/planned-messages/{id}/sendDELETE /v2/me/planned-messages/{id}GET /v2/profiles/{handle}/followersGET /v2/profiles/{handle}/followingGET /v2/me/relationsGET /v2/me/collectionsPOST /v2/me/collectionsPUT /v2/me/collections/{id}DELETE /v2/me/collections/{id}GET /v2/me/collections/{id}/postsPOST /v2/me/collections/{id}/postsGET /v2/profiles/{handle}/eventsPOST /v2/me/eventsPUT /v2/me/events/{id}DELETE /v2/me/events/{id}GET /v2/me/events/{id}/signupsPOST /v2/events/{id}/signupPOST /v2/me/picturesPUT /v2/me/profileGET /v2/me/emojisPOST /v2/me/emojis/picturesPOST /v2/me/emojisDELETE /v2/me/emojis/{name}PUT /v2/me/emojis/sharingGET /v2/me/webhooksPOST /v2/me/webhooksDELETE /v2/me/webhooks/{id}POST /v2/me/webhooks/{id}/testPOST /v2/communitiesPUT /v2/communities/{id}GET /v2/communities/{id}/botsGET /v2/communities/{id}/voice
2.16
PUT /v2/communities/{id}/members/{member}/timeoutDELETE /v2/communities/{id}/members/{member}/timeoutGET /v2/communities/{id}/bansPUT /v2/communities/{id}/bans/{member}DELETE /v2/communities/{id}/bans/{member}
2.15
GET /v2/communities/{id}/channelsGET /v2/channels/{id}/messagesGET /v2/communities/{id}/membersGET /v2/communities/{id}/rolesGET /v2/communities/{id}/bellGET /v2/invites/{code}POST /v2/channels/{id}/messagesPOST /v2/channels/{id}/readDELETE /v2/channel-messages/{id}PUT /v2/communities/{id}/bellPOST /v2/invites/{code}/joinPOST /v2/communities/{id}/rolesPUT /v2/roles/{id}DELETE /v2/roles/{id}PUT /v2/communities/{id}/roles/orderPUT /v2/roles/{id}/members/{member}POST /v2/communities/{id}/channelsPUT /v2/channels/{id}DELETE /v2/channels/{id}PUT /v2/communities/{id}/channels/orderGET /v2/channels/{id}/overridesPUT /v2/channels/{id}/overrides/{role}POST /v2/communities/{id}/categoriesPUT /v2/categories/{id}DELETE /v2/categories/{id}PUT /v2/communities/{id}/feedGET /v2/communities/{id}/invitesPOST /v2/communities/{id}/invitesDELETE /v2/invites/{code}POST /v2/channel-messages/{id}/removePOST /v2/communities/{id}/posts/{post}/removeDELETE /v2/communities/{id}/members/{member}GET /v2/communities/{id}/log
2.14
GET /v2/mediaGET /v2/media/mineGET /v2/media/{id}POST /v2/media/uploadsPUT /v2/media/uploads/{upload}POST /v2/media/{id}DELETE /v2/media/{id}
2.12
GET /v2/me/scheduledPOST /v2/posts/{id}/schedulePOST /v2/posts/{id}/editPOST /v2/replies/{id}/editDELETE /v2/replies/{id}POST /v2/replies/{id}/likeDELETE /v2/conversations/{with}/messages/{id}GET /v2/partner/quotaGET /v2/partner/giftsPOST /v2/partner/giftsGET /v2/gift-dropsPOST /v2/gift-drops
2.1
GET /v2/emojisPOST /v2/conversations/{with}/read
2.0
GET /v2GET /v2/postsGET /v2/posts/{id}GET /v2/posts/{id}/repliesGET /v2/profiles/{handle}GET /v2/profiles/{handle}/postsGET /v2/communitiesGET /v2/communities/{id}GET /v2/communities/{id}/postsGET /v2/tagsGET /v2/searchGET /v2/meGET /v2/feedGET /v2/notificationsGET /v2/conversationsGET /v2/conversations/{with}/messagesPOST /v2/postsDELETE /v2/posts/{id}POST /v2/posts/{id}/repliesPOST /v2/posts/{id}/votePOST /v2/relationsPOST /v2/conversations/{with}/messagesPOST /v2/notifications/read

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

एंडपॉइंट

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

पाथअधिकारकिसलिए
प्रवेश
GET/v2readAPI संस्करण और इस सर्वर का नाम।
पोस्ट
GET/v2/postsreadसार्वजनिक पोस्ट, सबसे नई पहले।
GET/v2/posts/{id}readएक पोस्ट, उसके id से।
POST/v2/postswriteपोस्ट प्रकाशित करो।
DELETE/v2/posts/{id}writeअपनी कोई पोस्ट हटाओ।
GET/v2/me/scheduledreadतुम्हारी वे पोस्ट जो अभी नहीं आईं, और वे किसका इंतज़ार कर रही हैं।
POST/v2/posts/{id}/schedulewriteबदलो कि शेड्यूल की गई पोस्ट कब आए, या पोस्ट ख़ुद-ब-ख़ुद कब मिटे।
POST/v2/posts/{id}/editwriteअपनी पोस्ट का टेक्स्ट बदलो।
GET/v2/posts/{id}/reply-settingsreadतुम्हारी पोस्ट पर कौन जवाब दे सकता है, क्या जवाब मंज़ूरी का इंतज़ार करते हैं, और धीमा मोड।
PUT/v2/posts/{id}/reply-settingswriteअपनी पोस्ट की जवाब सेटिंग बदलो। जो नहीं बताओगे, वह वैसा ही रहेगा।
POST/v2/posts/{id}/coauthorwriteसह-लेखक बनने का न्योता मानो या ठुकराओ।
DELETE/v2/posts/{id}/coauthorwriteसह-लेखक से हट जाओ, या लेखक के तौर पर सह-लेखक को पोस्ट से हटाओ।
POST/v2/posts/{id}/pinwriteअपनी पोस्ट को प्रोफ़ाइल में सबसे ऊपर पिन करो, या पिन हटाओ।
जवाब
GET/v2/posts/{id}/repliesreadकिसी पोस्ट के जवाब, ब्लॉक किए खातों के बिना।
POST/v2/posts/{id}/replieswriteकिसी पोस्ट का जवाब दो।
POST/v2/replies/{id}/editwriteअपने जवाब का टेक्स्ट बदलो।
DELETE/v2/replies/{id}writeअपना जवाब हटाओ।
POST/v2/replies/{id}/likewriteकिसी जवाब को अपवोट करो (जवाबों पर वोटिंग के बाद से पसंद एक अपवोट है) या अपवोट वापस लो; डाउनवोट बना रहता है।
POST/v2/replies/{id}/votewriteकिसी जवाब को ऊपर या नीचे वोट करो, या अपना वोट वापस लो। तुम्हारे वोट और उसके बाद के स्कोर के साथ जवाब देता है।
POST/v2/replies/{id}/pickwriteअपनी पोस्ट के नीचे किसी जवाब को सबसे अच्छा बताकर हाइलाइट करो, या हाइलाइट हटाओ।
GET/v2/posts/{id}/replies/waitingreadकिसी पोस्ट के नीचे मंज़ूरी का इंतज़ार कर रहे जवाब: अपनी पोस्ट पर सभी, वरना सिर्फ़ तुम्हारे।
POST/v2/replies/{id}/decidewriteअपनी पोस्ट के नीचे इंतज़ार कर रहे जवाब को मंज़ूर या नामंज़ूर करो। नामंज़ूर जवाब मिट जाता है।
GET/v2/posts/{id}/replies/plannedreadकिसी पोस्ट के नीचे बाद के लिए तय किए गए तुम्हारे जवाब।
PUT/v2/me/planned-replies/{id}writeतय किए गए जवाब का टेक्स्ट या समय बदलो। नाकाम जवाब फिर से इंतज़ार करता है।
POST/v2/me/planned-replies/{id}/sendwriteतय किया गया जवाब अभी भेजो।
DELETE/v2/me/planned-replies/{id}writeतय किया गया जवाब मिटाओ।
पोल
POST/v2/posts/{id}/votewriteपोल में हिस्सा लो।
प्रोफ़ाइल
GET/v2/profiles/{handle}readएक प्रोफ़ाइल, उसके छोटे नाम से।
GET/v2/profiles/{handle}/postsreadएक प्रोफ़ाइल की सार्वजनिक पोस्ट, सबसे नई पहले।
GET/v2/profiles/{handle}/eventsreadकिसी प्रोफ़ाइल के आने वाले कार्यक्रम, सबसे नज़दीकी पहले।
POST/v2/me/eventswriteकार्यक्रम बनाओ। उसकी id लौटाता है।
PUT/v2/me/events/{id}writeअपना कोई कार्यक्रम बदलो। सभी फ़ील्ड फिर से सेट होते हैं।
DELETE/v2/me/events/{id}writeअपना कोई कार्यक्रम मिटाओ।
GET/v2/me/events/{id}/signupsreadतुम्हारे किसी कार्यक्रम के लिए किसने नाम लिखवाया।
POST/v2/events/{id}/signupwriteकिसी कार्यक्रम के लिए नाम लिखवाओ या हटाओ।
समूह
GET/v2/communitiesreadइस इंस्टेंस के खुले समूह; mine=true के साथ तुम्हारे खाते के समूह।
GET/v2/communities/{id}readएक समूह, उसके id से।
GET/v2/communities/{id}/postsreadकिसी समूह के फ़ीड चैनल की पोस्ट, नई पहले।
GET/v2/communities/{id}/membersreadकिसी समूह के सदस्य उनकी भूमिकाओं के साथ।
GET/v2/communities/{id}/rolesreadकिसी समूह की भूमिकाएँ, सबसे ऊँची पहले, @everyone आख़िर में।
GET/v2/communities/{id}/bellreadकोई समूह तुम्हें कौन-सी सूचनाएँ भेजता है।
GET/v2/invites/{code}readजुड़ने से पहले, निमंत्रण लिंक के पीछे का समूह।
PUT/v2/roles/{id}/selfwriteस्वयं चुनी जाने वाली भूमिका लें या छोड़ें।
GET/v2/communities/{id}/emojisreadकिसी समूह के अपने इमोजी।
PUT/v2/communities/{id}/bellwriteतय करना कि कोई समूह तुम्हें कौन-सी सूचनाएँ भेजे।
POST/v2/invites/{code}/joinwriteनिमंत्रण लिंक से समूह में जुड़ना।
GET/v2/communities/{id}/botsreadकिसी समूह के बॉट और उनकी भूमिका क्या करने देती है।
चैनल
GET/v2/communities/{id}/channelsreadकिसी समूह के वे चैनल जो तुम देखते हो, उनके क्रम में।
GET/v2/channels/{id}/messagesreadकिसी चैट चैनल के संदेश, नए पहले।
POST/v2/channels/{id}/messageswriteकिसी चैट चैनल में संदेश लिखना।
POST/v2/channels/{id}/readwriteकिसी चैट चैनल को एक समय तक पढ़ा हुआ बताना।
DELETE/v2/channel-messages/{id}writeचैट चैनल में अपना कोई संदेश मिटाना।
GET/v2/communities/{id}/voicereadकिसी समूह के वॉइस चैनलों में अभी कौन है, चैनल के हिसाब से।
समूह चलाना
POST/v2/communities/{id}/emojisgroupsसमूह को एक इमोजी दें।
DELETE/v2/communities/{id}/emojis/{name}groupsसमूह से एक इमोजी हटाएँ।
POST/v2/communities/{id}/rolesgroupsभूमिका बनाना।
PUT/v2/roles/{id}groupsकिसी भूमिका का नाम, रंग और अधिकार बदलना।
DELETE/v2/roles/{id}groupsभूमिका मिटाना।
PUT/v2/communities/{id}/roles/ordergroupsभूमिकाओं का क्रम तय करना।
PUT/v2/roles/{id}/members/{member}groupsकिसी सदस्य को भूमिका देना या उससे लेना।
POST/v2/communities/{id}/channelsgroupsचैट चैनल बनाना।
PUT/v2/channels/{id}groupsकिसी चैनल का नाम, विषय और श्रेणी बदलना।
DELETE/v2/channels/{id}groupsचैट चैनल को उसके संदेशों समेत मिटाना।
PUT/v2/communities/{id}/channels/ordergroupsश्रेणियों और चैट चैनलों का क्रम तय करना।
PUT/v2/communities/{id}/channels/shapegroupsग्रुप के सभी चैनल चिह्नों का आकार तय करना।
GET/v2/channels/{id}/overridesgroupsभूमिकाएँ किसी चैनल में समूह से अलग क्या कर सकती हैं।
PUT/v2/channels/{id}/overrides/{role}groupsतय करना कि कोई भूमिका किसी चैनल में अलग क्या कर सकती है।
POST/v2/communities/{id}/categoriesgroupsचैनलों के लिए श्रेणी बनाना।
PUT/v2/categories/{id}groupsश्रेणी का नाम बदलना।
DELETE/v2/categories/{id}groupsश्रेणी मिटाना।
PUT/v2/communities/{id}/feedgroupsकिसी समूह का फ़ीड चैनल चालू या बंद करना।
GET/v2/communities/{id}/invitesgroupsकिसी समूह के निमंत्रण लिंक जो अब भी चलते हैं।
POST/v2/communities/{id}/invitesgroupsनिमंत्रण लिंक बनाना।
DELETE/v2/invites/{code}groupsनिमंत्रण लिंक वापस लेना।
POST/v2/channel-messages/{id}/removegroupsकिसी दूसरे सदस्य का संदेश चैनल से हटाना।
POST/v2/communities/{id}/posts/{post}/removegroupsकिसी समूह से पोस्ट हटाना।
DELETE/v2/communities/{id}/members/{member}groupsकिसी सदस्य को समूह से निकालें।
PUT/v2/communities/{id}/members/{member}/timeoutgroupsकिसी सदस्य को म्यूट करें।
DELETE/v2/communities/{id}/members/{member}/timeoutgroupsम्यूट हटाएँ।
GET/v2/communities/{id}/bansgroupsकिसी समूह के चल रहे प्रतिबंध।
PUT/v2/communities/{id}/bans/{member}groupsकिसी सदस्य पर प्रतिबंध लगाएँ।
DELETE/v2/communities/{id}/bans/{member}groupsप्रतिबंध हटाएँ।
GET/v2/communities/{id}/loggroupsनेतृत्व का लॉग: किसने क्या और क्यों हटाया।
POST/v2/communitiesgroupsसमूह बनाओ। उसकी id लौटाता है; तुम उसके संस्थापक हो।
PUT/v2/communities/{id}groupsजिस समूह को तुम चलाते हो, उसे बदलो। जो नहीं बताओगे, वह वैसा ही रहेगा।
बॉट
GET/v2/eventsreadबॉट के समूहों की घटनाएँ किसी घटना के बाद से, पेज दर पेज।
GET/v2/events/streamreadबॉट के समूहों की घटनाएँ, होते ही (server-sent events)।
GET/v2/me/commandsreadबॉट के कमांड।
PUT/v2/me/commandswriteबॉट के सभी कमांड एक साथ तय करें।
POST/v2/interactions/{id}/replywriteकिसी कमांड या बटन का जवाब दें।
POST/v2/channels/{id}/voicewriteसंगीत या ध्वनि बजाने के लिए वॉइस चैनल में जगह लें।
खोजो
GET/v2/tagsreadअभी चल रहे टैग।
GET/v2/searchreadपोस्ट, नाम, छोटे नाम और टैग में खोज।
GET/v2/emojisreadसर्वर के अपने इमोजी, उनकी तस्वीरों के पते के साथ।
GIF और वीडियो
GET/v2/mediareadशेयर किए गए GIF या वीडियो, सबसे ज़्यादा इस्तेमाल वाले पहले।
GET/v2/media/minemediaतुम्हारी अपनी मीडिया लाइब्रेरी, सबसे नया पहले।
GET/v2/media/{id}readएक GIF या वीडियो, तुम्हारा या शेयर किया हुआ।
POST/v2/media/uploadsmediaअपलोड शुरू करो।
PUT/v2/media/uploads/{upload}mediaफ़ाइल का एक टुकड़ा भेजो।
POST/v2/media/{id}mediaअपने किसी GIF या वीडियो को बदलो।
DELETE/v2/media/{id}mediaअपने किसी GIF या वीडियो को हटाओ।
तुम्हारा खाता
GET/v2/mereadतुम्हारी अपनी प्रोफ़ाइल, उस id के साथ जिसकी बाकी पाथ अपेक्षा करते हैं।
GET/v2/feedreadतुम्हारी अपनी फ़ीड, जैसे ऐप उसे बनाता है।
POST/v2/me/pictureswriteकोई तस्वीर उसके बाइट्स के रूप में अपलोड करो। id और url लौटाता है; फिर id को प्रोफ़ाइल तस्वीर, कवर या पोस्ट में इस्तेमाल करो।
PUT/v2/me/profileprofileअपनी प्रोफ़ाइल बदलो: नाम, परिचय, प्रोफ़ाइल तस्वीर, कवर और प्रोफ़ाइल रंग। जो नहीं बताओगे, वह वैसा ही रहेगा।
GET/v2/me/emojisreadतुम्हारे अपने इमोजी।
POST/v2/me/emojis/picturesprofileअपने इमोजी की तस्वीर उसके बाइट्स के रूप में अपलोड करो।
POST/v2/me/emojisprofileअपना इमोजी बनाओ। तुम्हारे सारे इमोजी लौटाता है।
DELETE/v2/me/emojis/{name}profileअपना इमोजी हटाओ। बाकी लौटाता है।
PUT/v2/me/emojis/sharingprofileतय करो कि तुम्हारे फ़ॉलोअर अपने लेखन में तुम्हारे इमोजी इस्तेमाल कर सकते हैं या नहीं।
GET/v2/me/webhookswebhooksतुम्हारे वेबहुक और उनकी स्थिति।
POST/v2/me/webhookswebhooksवेबहुक बनाओ। id और सिग्नेचर का सीक्रेट लौटाता है, सिर्फ़ इसी बार।
DELETE/v2/me/webhooks/{id}webhooksवेबहुक मिटाओ।
POST/v2/me/webhooks/{id}/testwebhooksवेबहुक पर एक जाँच भेजो।
सूचनाएँ
GET/v2/notificationsreadतुम्हारी सूचनाएँ, सबसे नई पहले।
POST/v2/notifications/readwriteअपनी सूचनाओं को पढ़ा हुआ चिह्नित करो।
संदेश
GET/v2/conversationsreadतुम्हारा इनबॉक्स: हर बातचीत की एक पंक्ति, सबसे नई पहले।
GET/v2/conversations/{with}/messagesreadएक बातचीत के संदेश, सबसे नए पहले।
POST/v2/conversations/{with}/messageswriteबातचीत में संदेश भेजो।
POST/v2/conversations/{with}/readwriteकिसी बातचीत के सभी संदेशों को पढ़ा हुआ चिह्नित करो।
DELETE/v2/conversations/{with}/messages/{id}writeअपना संदेश मिटाओ।
POST/v2/conversations/{with}/plannedwriteकोई संदेश बाद के लिए तय करो। तय संदेश की id लौटाता है।
GET/v2/me/planned-messagesreadतुम्हारे वे संदेश जो अभी भेजे जाने हैं, समय के क्रम में।
POST/v2/me/planned-messages/{id}/sendwriteरोका गया या नाकाम तय संदेश अभी भेजो।
DELETE/v2/me/planned-messages/{id}writeतय संदेश भेजे जाने से पहले मिटाओ।
संबंध
POST/v2/relationswriteपसंद, सहेजना, रीपोस्ट, फ़ॉलो, जुड़ना, ब्लॉक, म्यूट, kind के हिसाब से।
GET/v2/profiles/{handle}/followersreadकिसी प्रोफ़ाइल को कौन फ़ॉलो करता है, नए पहले।
GET/v2/profiles/{handle}/followingreadकोई प्रोफ़ाइल किसे फ़ॉलो करती है, नए पहले।
GET/v2/me/relationsreadतुमने किसे ब्लॉक, म्यूट या सिर्फ़ संदेशों के लिए ब्लॉक किया, नए पहले।
संग्रह
GET/v2/me/collectionsreadतुम्हारे संग्रह और उनमें पोस्ट की गिनती।
POST/v2/me/collectionswriteसंग्रह बनाओ। उसकी id लौटाता है।
PUT/v2/me/collections/{id}writeसंग्रह का नाम बदलो।
DELETE/v2/me/collections/{id}writeसंग्रह मिटाओ।
GET/v2/me/collections/{id}/postsreadकिसी संग्रह की पोस्ट, जैसे सहेजे गए टैब में।
POST/v2/me/collections/{id}/postswriteपोस्ट को संग्रह में डालो या निकालो।
तोहफ़े
GET/v2/partner/quotareadतुम्हारे कोटे में देने के लिए कितना बचा है।
GET/v2/partner/giftsreadतुमने कोटे से क्या, किसे और कब दिया – सबसे नया पहले।
POST/v2/partner/giftsgiftsअपने कोटे से किसी सदस्य को प्लान के महीने या चिंगारियाँ दो।
GET/v2/gift-dropsreadपोस्ट के नीचे तुम्हारे तोहफ़े: कितनी जगहें अभी ख़ाली हैं और भुगतान कैसे हुआ।
POST/v2/gift-dropsgiftsऐसी पोस्ट डालो जिसके नीचे दूसरों के लिए तोहफ़े हों।

प्रवेश

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

GET/v2

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

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

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

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

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

जवाब

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

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

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

पोस्ट

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

GET/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://api.tellmelo.com/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,
          "ai": "without"
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": null,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "giftDrop": {
        "item": "plan",
        "quantity": 3,
        "places": 10,
        "left": 4,
        "audience": "followers",
        "newAccounts": false,
        "status": "open",
        "claimed": true
      },
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

GET/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://api.tellmelo.com/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,
      "ai": "without"
    }
  ],
  "poll": {
    "options": [
      {
        "text": "Lavender",
        "votes": 12
      },
      {
        "text": "Sunflowers",
        "votes": 7
      },
      {
        "text": "Clover",
        "votes": 3
      }
    ],
    "total": 22,
    "multiple": false,
    "endsAt": null,
    "running": true,
    "resultsVisible": true,
    "myVotes": [
      0
    ]
  },
  "quotes": null,
  "continues": null,
  "counts": {
    "replies": 4,
    "likes": 31,
    "reposts": 2
  },
  "pinned": false,
  "giftDrop": {
    "item": "plan",
    "quantity": 3,
    "places": 10,
    "left": 4,
    "audience": "followers",
    "newAccounts": false,
    "status": "open",
    "claimed": true
  },
  "createdAt": 1758624000000
}

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

POST/v2/posts

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

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

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

media से तस्वीरें, एक GIF या एक वीडियो जोड़ो। GIF या वीडियो अकेला रहता है। tellmelo पर तुम दूसरों के शेयर किए GIF और वीडियो इस्तेमाल कर सकते हो।

करीबी दोस्तों के लिए या सह-लेखक वाली पोस्ट तुरंत छपती है, ग्रुप में नहीं और तय समय पर नहीं। दोनों एक साथ नहीं हो सकते।

पैरामीटर

नामप्रकारमतलब
textबॉडी मेंstringवैकल्पिकपोस्ट, जवाब या संदेश का टेक्स्ट।
communityबॉडी मेंstringवैकल्पिकउस समूह की id जिसके फ़ीड चैनल में पोस्ट जाती है; वह चालू होना चाहिए और तुम्हारे पास उसका अधिकार होना चाहिए। इसके बिना पोस्ट किसी समूह में नहीं होती।
quotesबॉडी मेंstringवैकल्पिकउस पोस्ट का id जिसे यह उद्धृत करती है।
pollबॉडी मेंstring[]वैकल्पिकजवाब के विकल्प, टेक्स्ट की सूची के रूप में।
mediaबॉडी मेंstring[]वैकल्पिकऐप में अपलोड की गई तस्वीरों की ID, या मीडिया लाइब्रेरी के किसी GIF या वीडियो की ID (2.14 से)।
audienceबॉडी मेंstringवैकल्पिकपोस्ट कौन देखे: everyone जो भी देख सकते हैं, close सिर्फ़ तुम्हारे करीबी दोस्त।everyoneclose
coauthorबॉडी मेंstringवैकल्पिकउस खाते की id जिसे तुम सह-लेखक बनने बुलाते हो। तुम दोनों को एक-दूसरे को फ़ॉलो करना होगा।

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

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

जवाब

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

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

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

DELETE/v2/posts/{id}

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

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

पैरामीटर

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

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

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

जवाब

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

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

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

GET/v2/me/scheduled

तुम्हारी वे पोस्ट जो अभी नहीं आईं, और वे किसका इंतज़ार कर रही हैं।

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "text": "Market day tomorrow – see you at the bee stand! #garden",
      "communityId": null,
      "publishAt": 1758710400000,
      "deleteAt": null,
      "waitingFor": "time",
      "createdAt": 1758624000000
    }
  ],
  "next": null
}

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

POST/v2/posts/{id}/schedule

बदलो कि शेड्यूल की गई पोस्ट कब आए, या पोस्ट ख़ुद-ब-ख़ुद कब मिटे।

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

सिर्फ़ अपनी पोस्ट। जब तक किसी पोस्ट के तोहफ़ों का भुगतान नहीं होता, उसे शेड्यूल नहीं किया जा सकता।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
publishAtबॉडी मेंintegerवैकल्पिकशेड्यूल की गई पोस्ट कब आएगी, 1970 से मिलीसेकंड में।
deleteAtबॉडी मेंintegerवैकल्पिकपोस्ट ख़ुद-ब-ख़ुद कब मिटेगी, 1970 से मिलीसेकंड में।

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

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

जवाब

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

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

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

POST/v2/posts/{id}/edit

अपनी पोस्ट का टेक्स्ट बदलो।

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

सिर्फ़ उस समय के भीतर जो तुम्हारा प्लान बदलाव के लिए देता है। शेड्यूल की गई पोस्ट नहीं बदली जा सकतीं।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
textबॉडी में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://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/edit"

जवाब

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

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

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

GET/v2/posts/{id}/reply-settings

तुम्हारी पोस्ट पर कौन जवाब दे सकता है, क्या जवाब मंज़ूरी का इंतज़ार करते हैं, और धीमा मोड।

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

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "audience": "following",
  "approval": false,
  "slow": "auto"
}

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

PUT/v2/posts/{id}/reply-settings

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

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

सिर्फ़ अपनी पोस्ट।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
audienceबॉडी मेंstringवैकल्पिककौन जवाब दे सकता है: सभी, जिन खातों को तुम फ़ॉलो करते हो, ज़िक्र किए गए लोग, या कोई नहीं।allfollowingmentionednobody
approvalबॉडी मेंbooleanवैकल्पिकक्या जवाब तुम्हारी मंज़ूरी के बाद ही दिखते हैं।
slowबॉडी मेंstringवैकल्पिकधीमा मोड: auto बहुत जवाब आने पर अपने आप चालू होता है, on हमेशा, off कभी नहीं।autoonoff

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"audience":"following","approval":false,"slow":"auto"}' \
  "https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/reply-settings"

जवाब

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

उदाहरण
{
  "audience": "following",
  "approval": false,
  "slow": "auto"
}

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

POST/v2/posts/{id}/coauthor

सह-लेखक बनने का न्योता मानो या ठुकराओ।

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

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
acceptबॉडी मेंbooleanज़रूरीtrue न्योता मानता है, false ठुकराता है।

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

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

जवाब

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

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

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

DELETE/v2/posts/{id}/coauthor

सह-लेखक से हट जाओ, या लेखक के तौर पर सह-लेखक को पोस्ट से हटाओ।

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

सह-लेखक और पोस्ट के लेखक के लिए।

पैरामीटर

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

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

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

जवाब

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

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

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

POST/v2/posts/{id}/pin

अपनी पोस्ट को प्रोफ़ाइल में सबसे ऊपर पिन करो, या पिन हटाओ।

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

सिर्फ़ अपनी दिखने वाली पोस्ट। कितनी पिन हो सकती हैं, यह प्लान पर निर्भर है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
activeबॉडी मेंbooleanज़रूरीtrue पोस्ट पिन करता है, false पिन हटाता है।

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

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

जवाब

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

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

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

जवाब

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

GET/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://api.tellmelo.com/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,
      "giftDrop": null,
      "createdAt": 1758624600000,
      "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "parentId": null
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

POST/v2/posts/{id}/replies

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

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

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

media के साथ ज़्यादा से ज़्यादा एक तस्वीर, GIF या वीडियो।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी पोस्ट का id।
textबॉडी मेंstringज़रूरीपोस्ट, जवाब या संदेश का टेक्स्ट।
parentIdबॉडी मेंstringवैकल्पिकउस जवाब का id जिसका यह जवाब है। इसके बिना, सीधे पोस्ट पर।
mediaबॉडी मेंstring[]वैकल्पिकऐप में अपलोड की गई तस्वीरों की ID, या मीडिया लाइब्रेरी के किसी GIF या वीडियो की ID (2.14 से)।
publishAtबॉडी मेंintegerवैकल्पिकजवाब कब छपे, 1970 से मिलीसेकंड में। इसके बिना तुरंत जाता है।

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

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

जवाब

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

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

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

POST/v2/replies/{id}/edit

अपने जवाब का टेक्स्ट बदलो।

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

पैरामीटर

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

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Same here, the lavender and the clover are full of them."}' \
  "https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/edit"

जवाब

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

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

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

DELETE/v2/replies/{id}

अपना जवाब हटाओ।

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

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a"

जवाब

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

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

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

POST/v2/replies/{id}/like

किसी जवाब को अपवोट करो (जवाबों पर वोटिंग के बाद से पसंद एक अपवोट है) या अपवोट वापस लो; डाउनवोट बना रहता है।

  • अधिकार write
  • v2.12 से
  • पुराना

2.19 से पुराना: POST /replies/{id}/vote इस्तेमाल करो। यह रूट अभी बना रहेगा।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीजवाब का id।
activeबॉडी मेंbooleanज़रूरीtrue संबंध बनाता है, false हटाता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"active":true}' \
  "https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/like"

जवाब

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

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

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

POST/v2/replies/{id}/vote

किसी जवाब को ऊपर या नीचे वोट करो, या अपना वोट वापस लो। तुम्हारे वोट और उसके बाद के स्कोर के साथ जवाब देता है।

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

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीजवाब का id।
voteबॉडी मेंstringज़रूरीup ऊपर वोट, down नीचे वोट, none तुम्हारा वोट वापस लेता है।updownnone

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"vote":"up"}' \
  "https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/vote"

जवाब

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

उदाहरण
{
  "vote": "up",
  "score": 12
}

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

POST/v2/replies/{id}/pick

अपनी पोस्ट के नीचे किसी जवाब को सबसे अच्छा बताकर हाइलाइट करो, या हाइलाइट हटाओ।

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

सिर्फ़ अपनी पोस्ट के नीचे और सिर्फ़ पोस्ट के सीधे जवाब। नया हाइलाइट पुराने की जगह लेता है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीजवाब का id।
activeबॉडी मेंbooleanज़रूरीtrue जवाब को हाइलाइट करता है, false हाइलाइट हटाता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"active":true}' \
  "https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/pick"

जवाब

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

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

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

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

किसी पोस्ट के नीचे मंज़ूरी का इंतज़ार कर रहे जवाब: अपनी पोस्ट पर सभी, वरना सिर्फ़ तुम्हारे।

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

जवाब इंतज़ार करें या नहीं, यह लेखक जवाब सेटिंग में तय करता है।

पैरामीटर

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

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

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

जवाब

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,
      "giftDrop": null,
      "createdAt": 1758624600000,
      "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "parentId": null
    }
  ],
  "next": null
}

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

POST/v2/replies/{id}/decide

अपनी पोस्ट के नीचे इंतज़ार कर रहे जवाब को मंज़ूर या नामंज़ूर करो। नामंज़ूर जवाब मिट जाता है।

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

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीजवाब का id।
approveबॉडी मेंbooleanज़रूरीtrue जवाब मंज़ूर करता है, false नामंज़ूर।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"approve":true}' \
  "https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/decide"

जवाब

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

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

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

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

किसी पोस्ट के नीचे बाद के लिए तय किए गए तुम्हारे जवाब।

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

जवाब देते समय publishAt से तय होता है। एक साथ ज़्यादा से ज़्यादा 20 तय जवाब।

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
      "parentId": null,
      "text": "Count me in for Saturday!",
      "publishAt": 1758710400000,
      "state": "waiting"
    }
  ],
  "next": null
}

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

PUT/v2/me/planned-replies/{id}

तय किए गए जवाब का टेक्स्ट या समय बदलो। नाकाम जवाब फिर से इंतज़ार करता है।

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

पैरामीटर

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

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"See you there!","publishAt":1758700000000}' \
  "https://api.tellmelo.com/v2/me/planned-replies/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9"

जवाब

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

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

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

POST/v2/me/planned-replies/{id}/send

तय किया गया जवाब अभी भेजो।

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

पैरामीटर

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

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/planned-replies/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9/send"

जवाब

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

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

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

DELETE/v2/me/planned-replies/{id}

तय किया गया जवाब मिटाओ।

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

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/planned-replies/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9"

जवाब

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

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

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

पोल

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

POST/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://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/vote"

जवाब

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

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

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

प्रोफ़ाइल

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

GET/v2/profiles/{handle}

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

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

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/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/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://api.tellmelo.com/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,
          "ai": "without"
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": null,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "giftDrop": {
        "item": "plan",
        "quantity": 3,
        "places": 10,
        "left": 4,
        "audience": "followers",
        "newAccounts": false,
        "status": "open",
        "claimed": true
      },
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

GET/v2/profiles/{handle}/events

किसी प्रोफ़ाइल के आने वाले कार्यक्रम, सबसे नज़दीकी पहले।

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

सिर्फ़ तब तक जब तक प्रोफ़ाइल के प्लान में कार्यक्रम हैं। एक-दूसरे को ब्लॉक करने वाले खातों के बीच कुछ नहीं।

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b",
      "title": "Seed swap",
      "startsAt": 1758883200000,
      "endsAt": 1758890400000,
      "place": "Community garden",
      "description": "Bring seeds, take seeds.",
      "signups": {
        "count": 14,
        "going": true
      }
    }
  ],
  "next": null
}

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

POST/v2/me/events

कार्यक्रम बनाओ। उसकी id लौटाता है।

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

कार्यक्रमों वाला प्लान चाहिए, वरना 403। कितने आने वाले हो सकते हैं, यह प्लान पर निर्भर है।

पैरामीटर

नामप्रकारमतलब
titleबॉडी मेंstringज़रूरीशीर्षक।
startsAtबॉडी मेंintegerज़रूरीशुरुआत, 1970 से मिलीसेकंड में।
endsAtबॉडी मेंintegerवैकल्पिकअंत, 1970 से मिलीसेकंड में। वैकल्पिक।
placeबॉडी मेंstringवैकल्पिककहाँ होगा।
descriptionबॉडी मेंstringवैकल्पिकविवरण।
signupsबॉडी मेंbooleanवैकल्पिकक्या लोग नाम लिखवा सकते हैं। नाम लिखवाने वाला प्लान चाहिए।
capacityबॉडी मेंintegerवैकल्पिकज़्यादा से ज़्यादा कितने लोग नाम लिखवा सकते हैं। न बताओ तो कोई सीमा नहीं।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"title":"Seed swap","startsAt":1758700000000,"place":"Community garden","signups":true,"capacity":30}' \
  "https://api.tellmelo.com/v2/me/events"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

PUT/v2/me/events/{id}

अपना कोई कार्यक्रम बदलो। सभी फ़ील्ड फिर से सेट होते हैं।

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

शुरू हो चुका कार्यक्रम अपनी शुरुआत रखता है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकार्यक्रम की id।
titleबॉडी मेंstringज़रूरीशीर्षक।
startsAtबॉडी मेंintegerज़रूरीशुरुआत, 1970 से मिलीसेकंड में।
endsAtबॉडी मेंintegerवैकल्पिकअंत, 1970 से मिलीसेकंड में। वैकल्पिक।
placeबॉडी मेंstringवैकल्पिककहाँ होगा।
descriptionबॉडी मेंstringवैकल्पिकविवरण।
signupsबॉडी मेंbooleanवैकल्पिकक्या लोग नाम लिखवा सकते हैं। नाम लिखवाने वाला प्लान चाहिए।
capacityबॉडी मेंintegerवैकल्पिकज़्यादा से ज़्यादा कितने लोग नाम लिखवा सकते हैं। न बताओ तो कोई सीमा नहीं।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"title":"Seed swap","startsAt":1758700000000,"place":"Community garden","signups":true,"capacity":30}' \
  "https://api.tellmelo.com/v2/me/events/2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

DELETE/v2/me/events/{id}

अपना कोई कार्यक्रम मिटाओ।

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

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/events/2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b"

जवाब

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

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

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

GET/v2/me/events/{id}/signups

तुम्हारे किसी कार्यक्रम के लिए किसने नाम लिखवाया।

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

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/events/2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b/signups"

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "at": 1758624000000
    }
  ],
  "next": null
}

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

POST/v2/events/{id}/signup

किसी कार्यक्रम के लिए नाम लिखवाओ या हटाओ।

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

सिर्फ़ नाम लिखवाने वाले कार्यक्रमों में, अपने में नहीं। भर जाए तो 409।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकार्यक्रम की id।
goingबॉडी मेंbooleanज़रूरीtrue तुम्हारा नाम लिखवाता है, false हटाता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"going":true}' \
  "https://api.tellmelo.com/v2/events/2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b/signup"

जवाब

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

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

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

समूह

खुले समूह और तुम्हारे अपने समूह, उनकी पोस्ट, सदस्य, भूमिकाएँ और निमंत्रण लिंक।

GET/v2/communities

इस इंस्टेंस के खुले समूह; mine=true के साथ तुम्हारे खाते के समूह।

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

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

पैरामीटर

नामप्रकारमतलब
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
mineक्वेरी मेंbooleanवैकल्पिकतुम्हारे खाते के समूहों के लिए true, आंतरिक और छिपे भी, नाम के क्रम में।

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
      "name": "Urban Gardening",
      "handle": "urbangardening",
      "description": "Balconies, allotments, rooftops: whatever grows.",
      "tags": [
        "garden",
        "bees"
      ],
      "members": 312,
      "joinPolicy": "open",
      "visibility": "open",
      "feedChannel": true,
      "sparks": 24,
      "perks": [
        "tint",
        "welcome"
      ],
      "membership": {
        "leader": null,
        "roles": [
          "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
        ],
        "permissions": [
          "attach",
          "invite",
          "send",
          "view"
        ],
        "mutedUntil": null
      }
    }
  ],
  "next": null
}

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

GET/v2/communities/{id}

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

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

आंतरिक और छिपे समूह तभी, जब तुम्हारा खाता सदस्य हो।

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "name": "Urban Gardening",
  "handle": "urbangardening",
  "description": "Balconies, allotments, rooftops: whatever grows.",
  "tags": [
    "garden",
    "bees"
  ],
  "members": 312,
  "joinPolicy": "open",
  "visibility": "open",
  "feedChannel": true,
  "sparks": 24,
  "perks": [
    "tint",
    "welcome"
  ],
  "membership": {
    "leader": null,
    "roles": [
      "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
    ],
    "permissions": [
      "attach",
      "invite",
      "send",
      "view"
    ],
    "mutedUntil": null
  }
}

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

GET/v2/communities/{id}/posts

किसी समूह के फ़ीड चैनल की पोस्ट, नई पहले।

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

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

फ़ीड चैनल बंद हो तो पथ 409 और feed_off से जवाब देता है।

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/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,
          "ai": "without"
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": null,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "giftDrop": {
        "item": "plan",
        "quantity": 3,
        "places": 10,
        "left": 4,
        "audience": "followers",
        "newAccounts": false,
        "status": "open",
        "claimed": true
      },
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

GET/v2/communities/{id}/members

किसी समूह के सदस्य उनकी भूमिकाओं के साथ।

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

पहले नेतृत्व, फिर सबसे ऊँची भूमिका के क्रम में; ज़्यादा से ज़्यादा 300।

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
      "handle": "jon",
      "name": "Jon",
      "bot": false,
      "leader": null,
      "roles": [
        "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
      ],
      "mutedUntil": null
    }
  ],
  "next": null
}

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

GET/v2/communities/{id}/roles

किसी समूह की भूमिकाएँ, सबसे ऊँची पहले, @everyone आख़िर में।

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

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
      "name": "Gardeners",
      "everyone": false,
      "color": "green",
      "permissions": [
        "attach",
        "invite",
        "send",
        "view"
      ],
      "members": 24,
      "editable": true,
      "selfable": false
    }
  ],
  "next": null
}

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

GET/v2/communities/{id}/bell

कोई समूह तुम्हें कौन-सी सूचनाएँ भेजता है।

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

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "level": "important"
}

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

GET/v2/invites/{code}

जुड़ने से पहले, निमंत्रण लिंक के पीछे का समूह।

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

पैरामीटर

नामप्रकारमतलब
codeपाथ मेंstringज़रूरीनिमंत्रण लिंक का कोड, उसके पते का अंत।

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

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

जवाब

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

उदाहरण
{
  "community": {
    "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
    "name": "Urban Gardening",
    "members": 312,
    "rules": [
      "Be kind.",
      "No advertising."
    ]
  },
  "member": false
}

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

PUT/v2/roles/{id}/self

स्वयं चुनी जाने वाली भूमिका लें या छोड़ें।

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

सिर्फ़ वे भूमिकाएँ जिन्हें नेतृत्व स्वयं चुनने के लिए देता है (selfable), और सिर्फ़ आपके अपने खाते के लिए।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी भूमिका की id।
activeबॉडी मेंbooleanवैकल्पिकfalse भूमिका ले लेता है; वरना भूमिका दी जाती है।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"active":true}' \
  "https://api.tellmelo.com/v2/roles/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8/self"

जवाब

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

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

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

GET/v2/communities/{id}/emojis

किसी समूह के अपने इमोजी।

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

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "name": "seedling",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false
    }
  ],
  "next": null
}

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

PUT/v2/communities/{id}/bell

तय करना कि कोई समूह तुम्हें कौन-सी सूचनाएँ भेजे।

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

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
levelबॉडी मेंstringज़रूरीकौन-सी सूचनाएँ आती हैं।allimportantoff

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"level":"important"}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bell"

जवाब

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

उदाहरण
{
  "level": "important"
}

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

POST/v2/invites/{code}/join

निमंत्रण लिंक से समूह में जुड़ना।

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

पैरामीटर

नामप्रकारमतलब
codeपाथ मेंstringज़रूरीनिमंत्रण लिंक का कोड, उसके पते का अंत।
rulesबॉडी मेंbooleanवैकल्पिकअगर तुम समूह के नियम मानते हो तो true; नियम हों तो ज़रूरी।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/invites/k7Qm2xPa/join"

जवाब

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

उदाहरण
{
  "community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"
}

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

GET/v2/communities/{id}/bots

किसी समूह के बॉट और उनकी भूमिका क्या करने देती है।

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

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "gardenbot",
      "name": "Garden bot",
      "description": "Reminds the group of watering days.",
      "permissions": [
        "send",
        "view"
      ]
    }
  ],
  "next": null
}

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

चैनल

तुम्हारे समूहों के चैनल और उनकी चैट: पढ़ना, लिखना, पढ़ा हुआ बताना।

GET/v2/communities/{id}/channels

किसी समूह के वे चैनल जो तुम देखते हो, उनके क्रम में।

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

फ़ीड चैनल (kind: feed) यहाँ तभी होता है जब वह चालू हो; उसकी पोस्ट /communities/{id}/posts से आती हैं।

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
      "kind": "chat",
      "name": "harvest",
      "topic": "What came in this week",
      "category": {
        "id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
        "name": "Garden",
        "symbol": {
          "emoji": null,
          "icon": null,
          "image": null,
          "color": null,
          "shape": null
        }
      },
      "unread": 3,
      "permissions": [
        "view",
        "send"
      ],
      "symbol": {
        "emoji": "🌻",
        "icon": null,
        "image": null,
        "color": "amber",
        "shape": "circle"
      }
    }
  ],
  "next": null
}

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

GET/v2/channels/{id}/messages

किसी चैट चैनल के संदेश, नए पहले।

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

हर पेज पर 50 संदेश तक। जिन खातों को तुमने ब्लॉक किया या जिन्होंने तुम्हें ब्लॉक किया, उनके संदेश नहीं होते।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी चैनल की id।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।
threadक्वेरी मेंstringवैकल्पिकवह संदेश जिसका थ्रेड पढ़ा जाता है: चैट की जगह वह और उसके जवाब।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/messages"

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
      "text": "@jon the first tomatoes are ripe 🍅",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "bot": false
      },
      "media": [
        {
          "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
          "kind": "image",
          "poster": null,
          "ai": "without"
        }
      ],
      "replyTo": "72b3c4d5-e6f7-4081-92a3-b4c5d6e7f809",
      "roleColor": "green",
      "threadOf": null,
      "threadCount": 3,
      "card": null,
      "buttons": [],
      "createdAt": 1758631200000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

POST/v2/channels/{id}/messages

किसी चैट चैनल में संदेश लिखना।

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

@नाम किसी सदस्य को सूचना देता है, @everyone अधिकार हो तो सबको, घंटे में ज़्यादा से ज़्यादा छह बार।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी चैनल की id।
textबॉडी मेंstringवैकल्पिकपोस्ट, जवाब या संदेश का टेक्स्ट।
replyToबॉडी मेंstringवैकल्पिकउसी चैनल के उस संदेश की id जिसका तुम जवाब दे रहे हो।
mediaबॉडी मेंstring[]वैकल्पिकऐप में अपलोड की गई तस्वीरों की ID, या मीडिया लाइब्रेरी के किसी GIF या वीडियो की ID (2.14 से)।
threadबॉडी मेंstringवैकल्पिकचैट का वह संदेश जिसके थ्रेड में जवाब दिया जाता है; उसके बिना संदेश चैट में जाता है।
cardबॉडी मेंobjectवैकल्पिकएक कार्ड { title, text, color, fields: [{ name, value }] }, अधिकतम 10 फ़ील्ड।
buttonsबॉडी मेंobject[]वैकल्पिक5 तक बटन, हर एक { id, label, style }, style primary, secondary या danger। दबाना interaction घटना के रूप में आता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Who has seeds to swap?"}' \
  "https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/messages"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

POST/v2/channels/{id}/read

किसी चैट चैनल को एक समय तक पढ़ा हुआ बताना।

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

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी चैनल की id।
atबॉडी मेंintegerज़रूरीकब तक पढ़ा गया, मिलीसेकंड में, आम तौर पर सबसे नए संदेश का createdAt।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/read"

जवाब

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

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

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

DELETE/v2/channel-messages/{id}

चैट चैनल में अपना कोई संदेश मिटाना।

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

सिर्फ़ अपने संदेश; दूसरों के संदेश नेतृत्व groups अनुमति से हटाता है।

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/channel-messages/61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8"

जवाब

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

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

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

GET/v2/communities/{id}/voice

किसी समूह के वॉइस चैनलों में अभी कौन है, चैनल के हिसाब से।

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

सिर्फ़ वे चैनल जिन्हें तुम देख सकते हो। मीडिया सर्वर न हो तो सूची ख़ाली रहती है।

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
      "people": [
        {
          "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
          "handle": "mara",
          "name": "Mara 🌻",
          "muted": false,
          "deaf": false,
          "camera": false,
          "screen": true
        }
      ]
    }
  ],
  "next": null
}

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

समूह चलाना

ऐप में समूह की सेटिंग्स जो कर सकती हैं, groups अनुमति के साथ। तुम्हारा खाता क्या कर सकता है, यह समूह ऐप की तरह तय करता है: नेतृत्व, भूमिकाएँ और उनका क्रम।

POST/v2/communities/{id}/emojis

समूह को एक इमोजी दें।

  • अधिकार groups
  • v2.20 से

केवल वही जो समूह के चैनल प्रबंधित कर सकता है। तस्वीर अपने इमोजी की तरह अपलोड होती है (POST /me/emojis/pictures); एक नाम सभी इमोजी में केवल एक बार दिया जाता है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
nameबॉडी मेंstringज़रूरीवह नाम जिससे तुम इमोजी लिखते हो, जैसे :नाम:।
pictureबॉडी मेंstringज़रूरीPOST /me/emojis/pictures से मिली id।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"seedling","picture":"8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/emojis"

जवाब

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

उदाहरण
{
  "items": [
    {
      "name": "seedling",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false
    }
  ],
  "next": null
}

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

DELETE/v2/communities/{id}/emojis/{name}

समूह से एक इमोजी हटाएँ।

  • अधिकार groups
  • v2.20 से

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "name": "seedling",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false
    }
  ],
  "next": null
}

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

POST/v2/communities/{id}/roles

भूमिका बनाना।

  • अधिकार groups
  • v2.15 से

सिर्फ़ तुम्हारी सबसे ऊँची भूमिका से नीचे की भूमिकाएँ और सिर्फ़ वे अधिकार जो तुम्हारे पास हैं; नेतृत्व सबसे ऊपर है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
nameबॉडी मेंstringवैकल्पिकभूमिका का नाम; @everyone अपना नाम रखता है।
colorबॉडी मेंstringवैकल्पिकरंग; किसी नहीं के लिए ख़ाली।indigovioletroseambergreenteal
permissionsबॉडी मेंstring[]वैकल्पिकअधिकार: view, send, attach, post_feed, invite, mention_everyone, moderate, timeout_members, kick_members, ban_members, manage_channels, manage_roles।
selfableबॉडी मेंbooleanवैकल्पिकtrue: सदस्य भूमिका खुद लेते हैं। सिर्फ़ उन भूमिकाओं के लिए जो भाग लेने से ज़्यादा की अनुमति नहीं देतीं (view, send, attach, voice_connect, voice_speak, voice_video)।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Gardeners","permissions":["view","send","invite"],"selfable":false}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/roles"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

PUT/v2/roles/{id}

किसी भूमिका का नाम, रंग और अधिकार बदलना।

  • अधिकार groups
  • v2.15 से

नाम, रंग और अधिकार बदल देता है; जो तुम छोड़ दो वह ख़ाली हो जाता है।

सिर्फ़ तुम्हारी सबसे ऊँची भूमिका से नीचे की भूमिकाएँ और सिर्फ़ वे अधिकार जो तुम्हारे पास हैं; नेतृत्व सबसे ऊपर है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी भूमिका की id।
nameबॉडी मेंstringवैकल्पिकभूमिका का नाम; @everyone अपना नाम रखता है।
colorबॉडी मेंstringवैकल्पिकरंग; किसी नहीं के लिए ख़ाली।indigovioletroseambergreenteal
permissionsबॉडी मेंstring[]वैकल्पिकअधिकार: view, send, attach, post_feed, invite, mention_everyone, moderate, timeout_members, kick_members, ban_members, manage_channels, manage_roles।
selfableबॉडी मेंbooleanवैकल्पिकtrue: सदस्य भूमिका खुद लेते हैं। सिर्फ़ उन भूमिकाओं के लिए जो भाग लेने से ज़्यादा की अनुमति नहीं देतीं (view, send, attach, voice_connect, voice_speak, voice_video)।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Gardeners","permissions":["view","send","invite"],"selfable":false}' \
  "https://api.tellmelo.com/v2/roles/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

DELETE/v2/roles/{id}

भूमिका मिटाना।

  • अधिकार groups
  • v2.15 से

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/roles/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"

जवाब

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

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

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

PUT/v2/communities/{id}/roles/order

भूमिकाओं का क्रम तय करना।

  • अधिकार groups
  • v2.15 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
rolesबॉडी मेंstring[]ज़रूरीतुम्हारी अपनी सबसे ऊँची भूमिका से नीचे की सभी भूमिकाओं के id, सबसे ऊँची पहले; नेतृत्व के लिए @everyone को छोड़कर सभी।

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

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

जवाब

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

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

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

PUT/v2/roles/{id}/members/{member}

किसी सदस्य को भूमिका देना या उससे लेना।

  • अधिकार groups
  • v2.15 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी भूमिका की id।
memberपाथ मेंstringज़रूरीकिसी सदस्य के खाते की id।
activeबॉडी मेंbooleanवैकल्पिकfalse भूमिका ले लेता है; वरना भूमिका दी जाती है।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"active":true}' \
  "https://api.tellmelo.com/v2/roles/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8/members/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d"

जवाब

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

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

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

POST/v2/communities/{id}/channels

चैट चैनल बनाना।

  • अधिकार groups
  • v2.15 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
nameबॉडी मेंstringवैकल्पिकनाम, # के बिना; ख़ाली रखो तो वह नाम जो ऐप हर भाषा में देता है।
topicबॉडी मेंstringवैकल्पिकचैनल के ऊपर दिखने वाला विषय।
categoryबॉडी मेंstringवैकल्पिकउस श्रेणी की id जिसमें चैनल जाता है; किसी में नहीं के लिए ख़ाली।
emojiबॉडी मेंstringवैकल्पिकचिह्न के रूप में एक इमोजी।
iconबॉडी मेंstringवैकल्पिकऐप के सेट का कोई चिह्न, उसके नाम से।homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile
imageबॉडी मेंstringवैकल्पिक/media/emoji से अपलोड की गई तस्वीर की id।
colorबॉडी मेंstringवैकल्पिकटाइल का रंग।brandindigovioletroseambergreentealred
shapeबॉडी मेंstringवैकल्पिकटाइल का आकार; बिना इसके वृत्त।circlesquaretrianglediamondhexagonoctagonshieldstar

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"harvest","emoji":"🌻","color":"amber"}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/channels"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

PUT/v2/channels/{id}

किसी चैनल का नाम, विषय और श्रेणी बदलना।

  • अधिकार groups
  • v2.15 से

नाम, विषय और श्रेणी बदल देता है; जो तुम छोड़ दो वह ख़ाली हो जाता है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी चैनल की id।
nameबॉडी मेंstringवैकल्पिकनाम, # के बिना; ख़ाली रखो तो वह नाम जो ऐप हर भाषा में देता है।
topicबॉडी मेंstringवैकल्पिकचैनल के ऊपर दिखने वाला विषय।
categoryबॉडी मेंstringवैकल्पिकउस श्रेणी की id जिसमें चैनल जाता है; किसी में नहीं के लिए ख़ाली।
emojiबॉडी मेंstringवैकल्पिकचिह्न के रूप में एक इमोजी।
iconबॉडी मेंstringवैकल्पिकऐप के सेट का कोई चिह्न, उसके नाम से।homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile
imageबॉडी मेंstringवैकल्पिक/media/emoji से अपलोड की गई तस्वीर की id।
colorबॉडी मेंstringवैकल्पिकटाइल का रंग।brandindigovioletroseambergreentealred
shapeबॉडी मेंstringवैकल्पिकटाइल का आकार; बिना इसके वृत्त।circlesquaretrianglediamondhexagonoctagonshieldstar

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"harvest","emoji":"🌻","color":"amber"}' \
  "https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

DELETE/v2/channels/{id}

चैट चैनल को उसके संदेशों समेत मिटाना।

  • अधिकार groups
  • v2.15 से

फ़ीड चैनल मिटाया नहीं जा सकता, सिर्फ़ बंद किया जा सकता है।

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"

जवाब

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

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

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

PUT/v2/communities/{id}/channels/order

श्रेणियों और चैट चैनलों का क्रम तय करना।

  • अधिकार groups
  • v2.15 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
categoriesबॉडी मेंstring[]ज़रूरीसमूह की सभी श्रेणियों की id नए क्रम में।
channelsबॉडी मेंstring[]ज़रूरीसमूह के सभी चैट चैनलों की id नए क्रम में।

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

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

जवाब

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

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

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

PUT/v2/communities/{id}/channels/shape

ग्रुप के सभी चैनल चिह्नों का आकार तय करना।

  • अधिकार groups
  • v2.20 से

केवल ग्रुप का नेतृत्व।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
shapeबॉडी मेंstringवैकल्पिकग्रुप के सभी चिह्नों का आकार; छोड़ने पर हर चैनल का अपना।circlesquaretrianglediamondhexagonoctagonshieldstar

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

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

जवाब

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

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

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

GET/v2/channels/{id}/overrides

भूमिकाएँ किसी चैनल में समूह से अलग क्या कर सकती हैं।

  • अधिकार groups
  • ETag के साथ
  • v2.15 से

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/overrides"

जवाब

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

उदाहरण
{
  "items": [
    {
      "role": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
      "allow": [
        "send"
      ],
      "deny": []
    }
  ],
  "next": null
}

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

PUT/v2/channels/{id}/overrides/{role}

तय करना कि कोई भूमिका किसी चैनल में अलग क्या कर सकती है।

  • अधिकार groups
  • v2.15 से

तुम्हारी सबसे ऊँची भूमिका के बराबर या ऊपर की भूमिकाओं के लिए नहीं।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी चैनल की id।
roleपाथ मेंstringज़रूरीकिसी भूमिका की id।
allowबॉडी मेंstring[]वैकल्पिकभूमिका यहाँ और क्या कर सकती है: चैट में view, send, attach, mention_everyone, moderate, फ़ीड चैनल में view और post_feed।
denyबॉडी मेंstring[]वैकल्पिकभूमिका यहाँ क्या नहीं कर सकती, उन्हीं अधिकारों में से। दोनों सूचियाँ ख़ाली हों तो अंतर हट जाता है।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"allow":["view"],"deny":["send"]}' \
  "https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/overrides/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"

जवाब

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

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

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

POST/v2/communities/{id}/categories

चैनलों के लिए श्रेणी बनाना।

  • अधिकार groups
  • v2.15 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
nameबॉडी मेंstringज़रूरीश्रेणी का नाम।
emojiबॉडी मेंstringवैकल्पिकचिह्न के रूप में एक इमोजी।
iconबॉडी मेंstringवैकल्पिकऐप के सेट का कोई चिह्न, उसके नाम से।homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile
imageबॉडी मेंstringवैकल्पिक/media/emoji से अपलोड की गई तस्वीर की id।
colorबॉडी मेंstringवैकल्पिकटाइल का रंग।brandindigovioletroseambergreentealred

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Garden","emoji":"🌻","color":"amber"}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/categories"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

PUT/v2/categories/{id}

श्रेणी का नाम बदलना।

  • अधिकार groups
  • v2.15 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी श्रेणी की id।
nameबॉडी मेंstringज़रूरीश्रेणी का नाम।
emojiबॉडी मेंstringवैकल्पिकचिह्न के रूप में एक इमोजी।
iconबॉडी मेंstringवैकल्पिकऐप के सेट का कोई चिह्न, उसके नाम से।homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile
imageबॉडी मेंstringवैकल्पिक/media/emoji से अपलोड की गई तस्वीर की id।
colorबॉडी मेंstringवैकल्पिकटाइल का रंग।brandindigovioletroseambergreentealred

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Garden","emoji":"🌻","color":"amber"}' \
  "https://api.tellmelo.com/v2/categories/9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

DELETE/v2/categories/{id}

श्रेणी मिटाना।

  • अधिकार groups
  • v2.15 से

उसके चैनल रहते हैं, बिना श्रेणी के।

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/categories/9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"

जवाब

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

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

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

PUT/v2/communities/{id}/feed

किसी समूह का फ़ीड चैनल चालू या बंद करना।

  • अधिकार groups
  • v2.15 से

बंद होने पर पोस्ट सहेजी रहती हैं, पर सिर्फ़ उनके लेखक देख सकते हैं।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
onबॉडी मेंbooleanज़रूरीtrue फ़ीड चैनल चालू करता है, false बंद।

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

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

जवाब

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

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

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

GET/v2/communities/{id}/invites

किसी समूह के निमंत्रण लिंक जो अब भी चलते हैं।

  • अधिकार groups
  • ETag के साथ
  • v2.15 से

नेतृत्व सब देखता है, बाक़ी सिर्फ़ अपने।

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "code": "k7Qm2xPa",
      "url": "https://tellmelo.com/groups?join=k7Qm2xPa",
      "createdBy": {
        "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
        "handle": "jon",
        "name": "Jon",
        "bot": false
      },
      "createdAt": 1758624000000,
      "expiresAt": 1759228800000,
      "uses": 3,
      "maxUses": 10
    }
  ],
  "next": null
}

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

POST/v2/communities/{id}/invites

निमंत्रण लिंक बनाना।

  • अधिकार groups
  • v2.15 से

लिंक तभी तक चलता है जब तक तुम आमंत्रित कर सकते हो, और तुम्हारे छोड़ने पर हट जाता है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
daysबॉडी मेंintegerवैकल्पिकलिंक कितने दिन चलता है; इसके बिना, वापस लिए जाने तक।1730
usesबॉडी मेंintegerवैकल्पिकलिंक कितनी बार इस्तेमाल हो सकता है; इसके बिना, असीमित।151025100

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"days":7,"uses":10}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/invites"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

DELETE/v2/invites/{code}

निमंत्रण लिंक वापस लेना।

  • अधिकार groups
  • v2.15 से

पैरामीटर

नामप्रकारमतलब
codeपाथ मेंstringज़रूरीनिमंत्रण लिंक का कोड, उसके पते का अंत।

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

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

जवाब

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

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

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

POST/v2/channel-messages/{id}/remove

किसी दूसरे सदस्य का संदेश चैनल से हटाना।

  • अधिकार groups
  • v2.15 से

ऐप की तरह समूह के लॉग में दर्ज होता है, और घंटे में ज़्यादा से ज़्यादा 60।

पैरामीटर

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

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/channel-messages/61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8/remove"

जवाब

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

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

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

POST/v2/communities/{id}/posts/{post}/remove

किसी समूह से पोस्ट हटाना।

  • अधिकार groups
  • v2.15 से

ऐप की तरह समूह के लॉग में दर्ज होता है, और घंटे में ज़्यादा से ज़्यादा 60।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
postपाथ मेंstringज़रूरीकिसी पोस्ट का id।
reasonबॉडी मेंstringज़रूरीवह कारण जो सदस्य पढ़ता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"reason":"Advertising for another site, despite rule 2."}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/posts/post/remove"

जवाब

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

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

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

DELETE/v2/communities/{id}/members/{member}

किसी सदस्य को समूह से निकालें।

  • अधिकार groups
  • v2.15 से

2.16 से यह निकालना है: सदस्य वापस आ सकता है। जिसे बाहर रहना चाहिए, उस पर प्रतिबंध लगाया जाता है।

सिर्फ़ उससे जुड़े अधिकार के साथ और सिर्फ़ तुम्हारी सबसे ऊँची भूमिका से नीचे के सदस्यों के लिए; सह-नेतृत्व पर सिर्फ़ संस्थापक।

ऐप की तरह समूह के लॉग में दर्ज होता है, और घंटे में ज़्यादा से ज़्यादा 60।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
memberपाथ मेंstringज़रूरीकिसी सदस्य के खाते की id।
reasonबॉडी मेंstringज़रूरीवह कारण जो सदस्य पढ़ता है।

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"reason":"Advertising for another site, despite rule 2."}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/members/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d"

जवाब

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

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

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

PUT/v2/communities/{id}/members/{member}/timeout

किसी सदस्य को म्यूट करें।

  • अधिकार groups
  • v2.16 से

नया म्यूट चल रहे म्यूट की जगह ले लेता है। छोड़कर फिर से शामिल होने से यह खत्म नहीं होता।

सिर्फ़ उससे जुड़े अधिकार के साथ और सिर्फ़ तुम्हारी सबसे ऊँची भूमिका से नीचे के सदस्यों के लिए; सह-नेतृत्व पर सिर्फ़ संस्थापक।

ऐप की तरह समूह के लॉग में दर्ज होता है, और घंटे में ज़्यादा से ज़्यादा 60।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
memberपाथ मेंstringज़रूरीकिसी सदस्य के खाते की id।
secondsबॉडी मेंintegerज़रूरीकितनी देर, सेकंड में।60300600360086400604800
reasonबॉडी मेंstringवैकल्पिकएक कारण जो सदस्य पढ़ता है; वैकल्पिक।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"seconds":600}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/members/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d/timeout"

जवाब

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

उदाहरण
{
  "until": 1758624600000
}

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

DELETE/v2/communities/{id}/members/{member}/timeout

म्यूट हटाएँ।

  • अधिकार groups
  • v2.16 से

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/members/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d/timeout"

जवाब

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

उदाहरण
{
  "until": 1758624600000
}

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

GET/v2/communities/{id}/bans

किसी समूह के चल रहे प्रतिबंध।

  • अधिकार groups
  • ETag के साथ
  • v2.16 से

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "member": {
        "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
        "handle": "jon",
        "name": "Jon",
        "bot": false
      },
      "until": 1759228800000,
      "createdAt": 1758624000000,
      "by": "Mara 🌻"
    }
  ],
  "next": null
}

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

PUT/v2/communities/{id}/bans/{member}

किसी सदस्य पर प्रतिबंध लगाएँ।

  • अधिकार groups
  • v2.16 से

days के बिना प्रतिबंध तब तक रहता है जब तक हटाया न जाए।

सिर्फ़ उससे जुड़े अधिकार के साथ और सिर्फ़ तुम्हारी सबसे ऊँची भूमिका से नीचे के सदस्यों के लिए; सह-नेतृत्व पर सिर्फ़ संस्थापक।

ऐप की तरह समूह के लॉग में दर्ज होता है, और घंटे में ज़्यादा से ज़्यादा 60।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
memberपाथ मेंstringज़रूरीकिसी सदस्य के खाते की id।
daysबॉडी मेंintegerवैकल्पिककितनी देर, दिनों में; बिना अंत के प्रतिबंध के लिए छोड़ दें।1730
reasonबॉडी मेंstringज़रूरीवह कारण जो सदस्य पढ़ता है।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"days":7,"reason":"Advertising for another site, despite rule 2."}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bans/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d"

जवाब

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

उदाहरण
{
  "until": 1758624600000
}

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

DELETE/v2/communities/{id}/bans/{member}

प्रतिबंध हटाएँ।

  • अधिकार groups
  • v2.16 से

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bans/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d"

जवाब

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

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

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

GET/v2/communities/{id}/log

नेतृत्व का लॉग: किसने क्या और क्यों हटाया।

  • अधिकार groups
  • ETag के साथ
  • v2.15 से

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "8f7e6d5c-4b3a-4291-8f7e-6d5c4b3a2918",
      "action": "message_removed",
      "member": {
        "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
        "handle": "jon",
        "name": "Jon",
        "bot": false
      },
      "reason": "",
      "by": "Mara 🌻",
      "createdAt": 1758710400000
    }
  ],
  "next": null
}

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

POST/v2/communities

समूह बनाओ। उसकी id लौटाता है; तुम उसके संस्थापक हो।

  • अधिकार groups
  • v2.19 से

groups अनुमति चाहिए। न बताओ तो समूह internal और खुलकर जुड़ने वाला होता है; छिपा समूह सिर्फ़ न्योते से। सदस्य समूह बना सकते हैं या नहीं, यह संचालक तय करता है।

पैरामीटर

नामप्रकारमतलब
nameबॉडी मेंstringज़रूरीनाम, ज़्यादा से ज़्यादा 60 अक्षर।
descriptionबॉडी मेंstringवैकल्पिकविवरण, ज़्यादा से ज़्यादा 240 अक्षर।
handleबॉडी मेंstringवैकल्पिक@# ज़िक्र और लिंक के लिए छोटा नाम: 3 से 30 छोटे अक्षर, अंक या _।
tagsबॉडी मेंstring[]वैकल्पिकसमूह के विषय के बारे में 5 तक #टैग।
joinPolicyबॉडी मेंstringवैकल्पिककैसे जुड़ें: open खुलकर, application आवेदन से, invite सिर्फ़ न्योते से।openapplicationinvite
visibilityबॉडी मेंstringवैकल्पिकसमूह कौन देखता है: open सब, internal सामग्री सिर्फ़ सदस्य, hidden पूरी तरह सिर्फ़ सदस्य।openinternalhidden

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Seed swap","handle":"seedswap","tags":["garden","seeds"],"joinPolicy":"open","visibility":"open"}' \
  "https://api.tellmelo.com/v2/communities"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

PUT/v2/communities/{id}

जिस समूह को तुम चलाते हो, उसे बदलो। जो नहीं बताओगे, वह वैसा ही रहेगा।

  • अधिकार groups
  • v2.19 से

groups अनुमति और समूह की अगुवाई चाहिए। अगुवाई, समूह भंग करना और चिंगारी फ़ायदे ऐप में ही रहते हैं।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीकिसी समूह का id।
nameबॉडी मेंstringवैकल्पिकनाम, ज़्यादा से ज़्यादा 60 अक्षर।
descriptionबॉडी मेंstringवैकल्पिकविवरण, ज़्यादा से ज़्यादा 240 अक्षर।
handleबॉडी मेंstringवैकल्पिक@# ज़िक्र और लिंक के लिए छोटा नाम: 3 से 30 छोटे अक्षर, अंक या _।
tagsबॉडी मेंstring[]वैकल्पिकसमूह के विषय के बारे में 5 तक #टैग।
joinPolicyबॉडी मेंstringवैकल्पिककैसे जुड़ें: open खुलकर, application आवेदन से, invite सिर्फ़ न्योते से।openapplicationinvite
visibilityबॉडी मेंstringवैकल्पिकसमूह कौन देखता है: open सब, internal सामग्री सिर्फ़ सदस्य, hidden पूरी तरह सिर्फ़ सदस्य।openinternalhidden
imageबॉडी मेंstringवैकल्पिकसमूह की तस्वीर के लिए अपलोड की गई तस्वीर की id (POST /me/pictures)। ख़ाली छोड़ो तो हट जाती है।
bannerबॉडी मेंstringवैकल्पिकसमूह के कवर के लिए अपलोड की गई तस्वीर की id। ख़ाली छोड़ो तो हट जाता है।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Seed swap","handle":"seedswap","tags":["garden","seeds"],"joinPolicy":"open","visibility":"open"}' \
  "https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"

जवाब

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

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

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

बॉट

किसी बॉट के समूहों में क्या होता है, तुरंत: स्ट्रीम के रूप में, पेज दर पेज या किसी पते पर पहुँचाकर।

GET/v2/events

बॉट के समूहों की घटनाएँ किसी घटना के बाद से, पेज दर पेज।

  • अधिकार read
  • v2.20 से

केवल किसी बॉट के टोकन से। किसी चैनल की घटनाएँ तभी जब बॉट उसे देख सकता हो।

घटनाएँ एक दिन रखी जाती हैं। next आख़िरी की संख्या है, अगले पेज के लिए since के रूप में।

पैरामीटर

नामप्रकारमतलब
sinceक्वेरी मेंstringवैकल्पिकबॉट के पास पहले से मौजूद आख़िरी घटना की संख्या। इसके बिना स्ट्रीम अभी से और सूची सबसे पुरानी से शुरू होती है।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/events?since=0"

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "4711",
      "type": "message.created",
      "community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
      "channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
      "createdAt": 1758634800000,
      "data": {
        "message": {
          "id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
          "text": "/dice 6",
          "author": {
            "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
            "handle": "mara",
            "name": "Mara 🌻",
            "bot": false
          },
          "media": 0,
          "replyTo": null,
          "threadOf": null,
          "createdAt": 1758634800000
        }
      }
    }
  ],
  "next": null
}

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

GET/v2/events/stream

बॉट के समूहों की घटनाएँ, होते ही (server-sent events)।

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

कनेक्शन खुला रहता है और दस मिनट बाद बंद होता है; क्लाइंट फिर जुड़ता है और Last-Event-ID भेजता है।

केवल किसी बॉट के टोकन से। किसी चैनल की घटनाएँ तभी जब बॉट उसे देख सकता हो।

पैरामीटर

नामप्रकारमतलब
sinceक्वेरी मेंstringवैकल्पिकबॉट के पास पहले से मौजूद आख़िरी घटना की संख्या। इसके बिना स्ट्रीम अभी से और सूची सबसे पुरानी से शुरू होती है।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/events/stream?since=0"

जवाब

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

उदाहरण
{
  "id": "4711",
  "type": "message.created",
  "community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
  "createdAt": 1758634800000,
  "data": {
    "message": {
      "id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
      "text": "/dice 6",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "bot": false
      },
      "media": 0,
      "replyTo": null,
      "threadOf": null,
      "createdAt": 1758634800000
    }
  }
}

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

GET/v2/me/commands

बॉट के कमांड।

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

केवल किसी बॉट के टोकन से। किसी चैनल की घटनाएँ तभी जब बॉट उसे देख सकता हो।

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "name": "dice",
      "description": "Rolls a die"
    }
  ],
  "next": null
}

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

PUT/v2/me/commands

बॉट के सभी कमांड एक साथ तय करें।

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

सभी कमांड बदल देता है; खाली सूची उन्हें हटा देती है। जिन चैट को बॉट देख सकता है, उनमें इनपुट फ़ील्ड “/” के बाद इन्हें सुझाता है।

पैरामीटर

नामप्रकारमतलब
commandsबॉडी मेंobject[]ज़रूरी25 तक कमांड, हर एक { name, description }।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"commands":[{"name":"dice","description":"Rolls a die"}]}' \
  "https://api.tellmelo.com/v2/me/commands"

जवाब

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

उदाहरण
{
  "items": [
    {
      "name": "dice",
      "description": "Rolls a die"
    }
  ],
  "next": null
}

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

POST/v2/interactions/{id}/reply

किसी कमांड या बटन का जवाब दें।

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

command या interaction घटना के 15 मिनट के भीतर; private के साथ जवाब केवल वही देखता है जिसने कमांड या बटन इस्तेमाल किया।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीघटना से मिली पहचान (data.interaction)।
textबॉडी मेंstringवैकल्पिकपोस्ट, जवाब या संदेश का टेक्स्ट।
privateबॉडी मेंbooleanवैकल्पिकtrue: जवाब एक दिन तक केवल वही देखता है जिसने कमांड या बटन इस्तेमाल किया।
cardबॉडी मेंobjectवैकल्पिकएक कार्ड { title, text, color, fields: [{ name, value }] }, अधिकतम 10 फ़ील्ड।
buttonsबॉडी मेंobject[]वैकल्पिक5 तक बटन, हर एक { id, label, style }, style primary, secondary या danger। दबाना interaction घटना के रूप में आता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"You rolled a 4.","private":true}' \
  "https://api.tellmelo.com/v2/interactions/9b8c7d6e-5f4a-4b3c-8d2e-1f0a9b8c7d6e/reply"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

POST/v2/channels/{id}/voice

संगीत या ध्वनि बजाने के लिए वॉइस चैनल में जगह लें।

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

केवल किसी बॉट के टोकन से, जितना चैनल में उसकी भूमिका अनुमति दे। प्रोग्राम LiveKit SDK से जुड़ता है और अपनी ध्वनि माइक्रोफ़ोन की तरह भेजता है; हर कोई उसकी आवाज़ खुद तय करता है।

पैरामीटर

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

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/voice"

जवाब

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

उदाहरण
{
  "url": "wss://voice.example.org",
  "token": "eyJhbGciOiJIUzI1NiJ9…",
  "iceServers": [
    {
      "urls": [
        "stun:turn.example.org:3478"
      ]
    }
  ],
  "speak": true,
  "video": false
}

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

खोजो

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

GET/v2/tags

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

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

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

पैरामीटर

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

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

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

जवाब

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

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

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

GET/v2/search

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

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

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

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/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,
          "ai": "without"
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": null,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "giftDrop": {
        "item": "plan",
        "quantity": 3,
        "places": 10,
        "left": 4,
        "audience": "followers",
        "newAccounts": false,
        "status": "open",
        "claimed": true
      },
      "createdAt": 1758624000000
    }
  ],
  "profiles": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "tags": [
    {
      "tag": "garden",
      "posts": 58
    }
  ]
}

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

GET/v2/emojis

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

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

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

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

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

जवाब

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

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

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

GIF और वीडियो

मीडिया लाइब्रेरी: शेयर किए गए GIF और वीडियो ढूँढो, अपने अपलोड और मैनेज करो, और उन्हें दूसरी वेबसाइटों पर एम्बेड करो।

GET/v2/media

शेयर किए गए GIF या वीडियो, सबसे ज़्यादा इस्तेमाल वाले पहले।

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

उन अकाउंट्स के बिना जिन्हें तुमने ब्लॉक किया है या जिन्होंने तुम्हें ब्लॉक किया है। tellmelo पर पोस्ट के लिए url और poster को हेडर में कुंजी के साथ लोड करो।

दूसरी वेबसाइटों के लिए सिर्फ़ वह जिसके पास embed है: उसके पते बिना कुंजी के, किसी भी ब्राउज़र में काम करते हैं।

पैरामीटर

नामप्रकारमतलब
kindक्वेरी मेंstringवैकल्पिकgif या video; न बताने पर gif।gifvideo
qक्वेरी मेंstringवैकल्पिकनाम या कीवर्ड में आने वाले शब्द।
anywhereक्वेरी मेंbooleanवैकल्पिकtrue: सिर्फ़ वह, जो दूसरी वेबसाइटों पर भी दिख सकता है।
limitक्वेरी मेंintegerवैकल्पिकहर पेज पर प्रविष्टियाँ: पहले से 20, ज़्यादा से ज़्यादा 50।
cursorक्वेरी मेंstringवैकल्पिकपिछले जवाब का next। इसके बिना शुरुआत से।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/media?kind=gif&q=bees&anywhere=true&limit=20"

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
      "kind": "gif",
      "name": "Happy bees",
      "keywords": "bees garden happy",
      "width": 480,
      "height": 270,
      "seconds": 0,
      "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
      "poster": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918&poster=1",
      "uploader": {
        "handle": "mara",
        "name": "Mara 🌻"
      },
      "mine": false,
      "shared": true,
      "anywhere": true,
      "embed": {
        "page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
        "file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
        "poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
        "code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
      }
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

GET/v2/media/mine

तुम्हारी अपनी मीडिया लाइब्रेरी, सबसे नया पहले।

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

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/media/mine?kind=gif&q=bees&limit=20"

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
      "kind": "gif",
      "name": "Happy bees",
      "keywords": "bees garden happy",
      "width": 480,
      "height": 270,
      "seconds": 0,
      "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
      "poster": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918&poster=1",
      "uploader": {
        "handle": "mara",
        "name": "Mara 🌻"
      },
      "mine": false,
      "shared": true,
      "anywhere": true,
      "embed": {
        "page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
        "file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
        "poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
        "code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
      }
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

GET/v2/media/{id}

एक GIF या वीडियो, तुम्हारा या शेयर किया हुआ।

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

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीGIF या वीडियो की ID।

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/media/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918"

जवाब

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

उदाहरण
{
  "id": "b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
  "kind": "gif",
  "name": "Happy bees",
  "keywords": "bees garden happy",
  "width": 480,
  "height": 270,
  "seconds": 0,
  "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
  "poster": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918&poster=1",
  "uploader": {
    "handle": "mara",
    "name": "Mara 🌻"
  },
  "mine": false,
  "shared": true,
  "anywhere": true,
  "embed": {
    "page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
    "file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
    "poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
    "code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
  }
}

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

POST/v2/media/uploads

अपलोड शुरू करो।

  • अधिकार media
  • v2.14 से

इसके बाद फ़ाइल को ज़्यादा से ज़्यादा piece बाइट्स के टुकड़ों में /media/uploads/{upload} पर भेजो। नया टुकड़ा न आने पर अपलोड 15 मिनट बाद ख़त्म हो जाता है।

ऐप की सीमाएँ लागू होती हैं: GIF 15 MB तक, वीडियो प्लान के हिसाब से साइज़ और लंबाई में, हर दिन के GIF, प्राइवेट GIF, हर हफ़्ते के वीडियो पॉइंट्स। वरना 409, 413 या 429 मिलता है।

पैरामीटर

नामप्रकारमतलब
kindबॉडी मेंstringज़रूरीgif या video; न बताने पर gif।gifvideo
sizeबॉडी मेंintegerज़रूरीपूरी फ़ाइल का साइज़ बाइट्स में।
nameबॉडी मेंstringज़रूरीवह नाम जिससे इसे ढूँढा जाता है: 2 से 40 अक्षर।
keywordsबॉडी मेंstringवैकल्पिकखोज के लिए कीवर्ड, स्पेस से अलग किए हुए।
sharedबॉडी मेंbooleanवैकल्पिकtrue: tellmelo पर सबके साथ शेयर किया गया।
anywhereबॉडी मेंbooleanवैकल्पिकtrue: शेयर किया गया और दूसरी वेबसाइटों पर भी अनुमति। सिर्फ़ shared के साथ।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"kind":"gif","size":2400000,"name":"Happy bees","keywords":"bees garden","shared":true,"anywhere":false}' \
  "https://api.tellmelo.com/v2/media/uploads"

जवाब

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

उदाहरण
{
  "upload": "e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b",
  "piece": 4194304
}

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

PUT/v2/media/uploads/{upload}

फ़ाइल का एक टुकड़ा भेजो।

  • अधिकार media
  • v2.14 से

बॉडी ख़ुद टुकड़ा है (application/octet-stream), JSON नहीं। अगर यह आगे नहीं जुड़ता, तो 409 के साथ received मिलता है: वहीं से आगे भेजो। आख़िरी टुकड़े के बाद फ़ाइल कन्वर्ट होती है; तब जवाब में item होता है।

पैरामीटर

नामप्रकारमतलब
uploadपाथ मेंstringज़रूरीशुरुआत में मिला upload।
offsetक्वेरी मेंintegerज़रूरीफ़ाइल में टुकड़ा कहाँ से शुरू होता है, बाइट्स में; पहले के लिए 0।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @piece \
  "https://api.tellmelo.com/v2/media/uploads/e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b?offset=0"

जवाब

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

उदाहरण
{
  "received": 4194304,
  "item": null
}

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

POST/v2/media/{id}

अपने किसी GIF या वीडियो को बदलो।

  • अधिकार media
  • v2.14 से

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीGIF या वीडियो की ID।
nameबॉडी मेंstringवैकल्पिकवह नाम जिससे इसे ढूँढा जाता है: 2 से 40 अक्षर।
keywordsबॉडी मेंstringवैकल्पिकखोज के लिए कीवर्ड, स्पेस से अलग किए हुए।
sharedबॉडी मेंbooleanवैकल्पिकtrue: tellmelo पर सबके साथ शेयर किया गया।
anywhereबॉडी मेंbooleanवैकल्पिकtrue: शेयर किया गया और दूसरी वेबसाइटों पर भी अनुमति। सिर्फ़ shared के साथ।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Happy bees","anywhere":true}' \
  "https://api.tellmelo.com/v2/media/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918"

जवाब

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

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

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

DELETE/v2/media/{id}

अपने किसी GIF या वीडियो को हटाओ।

  • अधिकार media
  • v2.14 से

जो पोस्ट इसे पहले से दिखा रही हैं, वे इसे रखती हैं। दूसरी वेबसाइटों पर यह कुछ ही मिनटों में हट जाता है।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीGIF या वीडियो की ID।

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/media/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918"

जवाब

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

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

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

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

तुम्हारी प्रोफ़ाइल, तुम्हारी फ़ीड, तुम्हारे अपने इमोजी और तुम्हारे वेबहुक।

GET/v2/me

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

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/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/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://api.tellmelo.com/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,
          "ai": "without"
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": null,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "giftDrop": {
        "item": "plan",
        "quantity": 3,
        "places": 10,
        "left": 4,
        "audience": "followers",
        "newAccounts": false,
        "status": "open",
        "claimed": true
      },
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

POST/v2/me/pictures

कोई तस्वीर उसके बाइट्स के रूप में अपलोड करो। id और url लौटाता है; फिर id को प्रोफ़ाइल तस्वीर, कवर या पोस्ट में इस्तेमाल करो।

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

PNG, JPEG, WebP या GIF, पहले बाइट्स से पहचाना जाता है; मेटाडेटा के बिना फिर से सहेजा जाता है। जो तस्वीर कहीं इस्तेमाल न हो, बाद में मिटा दी जाती है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @picture.png \
  "https://api.tellmelo.com/v2/me/pictures"

जवाब

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

उदाहरण
{
  "id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"
}

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

PUT/v2/me/profile

अपनी प्रोफ़ाइल बदलो: नाम, परिचय, प्रोफ़ाइल तस्वीर, कवर और प्रोफ़ाइल रंग। जो नहीं बताओगे, वह वैसा ही रहेगा।

  • अधिकार profile
  • v2.19 से

profile अनुमति चाहिए। तुम्हारा @नाम ऐप में ही रहता है: वही तुम्हारा लॉगिन नाम भी है।

पैरामीटर

नामप्रकारमतलब
nameबॉडी मेंstringवैकल्पिकदिखने वाला नाम, ज़्यादा से ज़्यादा 60 अक्षर।
aboutबॉडी मेंstringवैकल्पिक“परिचय” वाला टेक्स्ट।
avatarबॉडी मेंstringवैकल्पिकप्रोफ़ाइल तस्वीर के लिए अपलोड की गई तस्वीर की id। ख़ाली छोड़ो तो हट जाती है।
bannerबॉडी मेंstringवैकल्पिककवर के लिए अपलोड की गई तस्वीर की id। ख़ाली छोड़ो तो हट जाता है।
colorबॉडी मेंstringवैकल्पिकप्रोफ़ाइल रंग, प्लान के साथ। null उसे हटाता है।indigovioletrosecoralamberlimegreentealskyslatesandnight

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Mara 🌻","about":"Gardening in the city.","avatar":"8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"}' \
  "https://api.tellmelo.com/v2/me/profile"

जवाब

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

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

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

GET/v2/me/emojis

तुम्हारे अपने इमोजी।

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "name": "sunflower",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false,
      "resting": false
    }
  ],
  "next": null
}

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

POST/v2/me/emojis/pictures

अपने इमोजी की तस्वीर उसके बाइट्स के रूप में अपलोड करो।

  • अधिकार profile
  • v2.19 से

चलते इमोजी के लिए प्लान चाहिए। बदलने के बाद बहुत बड़ी हो तो तस्वीर ठुकरा दी जाती है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @picture.png \
  "https://api.tellmelo.com/v2/me/emojis/pictures"

जवाब

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

उदाहरण
{
  "id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "animated": false
}

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

POST/v2/me/emojis

अपना इमोजी बनाओ। तुम्हारे सारे इमोजी लौटाता है।

  • अधिकार profile
  • v2.19 से

कितने इमोजी बना सकते हो, यह प्लान पर निर्भर है।

पैरामीटर

नामप्रकारमतलब
nameबॉडी मेंstringज़रूरीवह नाम जिससे तुम इमोजी लिखते हो, जैसे :नाम:।
pictureबॉडी मेंstringज़रूरीPOST /me/emojis/pictures से मिली id।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"sunflower","picture":"8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"}' \
  "https://api.tellmelo.com/v2/me/emojis"

जवाब

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

उदाहरण
{
  "items": [
    {
      "name": "sunflower",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false,
      "resting": false
    }
  ],
  "next": null
}

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

DELETE/v2/me/emojis/{name}

अपना इमोजी हटाओ। बाकी लौटाता है।

  • अधिकार profile
  • v2.19 से

पैरामीटर

नामप्रकारमतलब
nameपाथ मेंstringज़रूरीइमोजी का नाम, कोलन के बिना।

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "name": "sunflower",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false,
      "resting": false
    }
  ],
  "next": null
}

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

PUT/v2/me/emojis/sharing

तय करो कि तुम्हारे फ़ॉलोअर अपने लेखन में तुम्हारे इमोजी इस्तेमाल कर सकते हैं या नहीं।

  • अधिकार profile
  • v2.19 से

पैरामीटर

नामप्रकारमतलब
sharedबॉडी मेंbooleanज़रूरीtrue तुम्हारे इमोजी फ़ॉलोअर के साथ साझा करता है, false नहीं।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"shared":true}' \
  "https://api.tellmelo.com/v2/me/emojis/sharing"

जवाब

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

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

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

GET/v2/me/webhooks

तुम्हारे वेबहुक और उनकी स्थिति।

  • अधिकार webhooks
  • ETag के साथ
  • v2.19 से

webhooks अनुमति चाहिए। वेबहुक संगठन प्लान के साथ या पार्टनर के तौर पर मिलते हैं।

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
      "url": "https://example.org/tellmelo-hook",
      "kinds": [
        "reply",
        "mention"
      ],
      "active": true,
      "lastStatus": 200,
      "lastAt": 1758624000000,
      "failures": 0
    }
  ],
  "next": null
}

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

POST/v2/me/webhooks

वेबहुक बनाओ। id और सिग्नेचर का सीक्रेट लौटाता है, सिर्फ़ इसी बार।

  • अधिकार webhooks
  • v2.19 से

हर डिलीवरी सीक्रेट से साइन होती है (X-Tellmelo-Signature)। इसे सँभालकर रखो; यह दोबारा नहीं दिखेगा।

पैरामीटर

नामप्रकारमतलब
urlबॉडी मेंstringज़रूरीलोकल नेटवर्क से बाहर का HTTPS पता, बिना लॉगिन जानकारी के।
kindsबॉडी मेंstring[]ज़रूरीवेबहुक को किन बातों की सूचना मिले। कौन-से प्रकार तुम्हारे लिए खुले हैं, यह प्लान और पार्टनरशिप पर निर्भर है।replymentiongroup_mentionfollowlikerepostmessagequota_changedquota_giftdrop_claimeddrop_empty

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.org/tellmelo-hook","kinds":["reply","mention"]}' \
  "https://api.tellmelo.com/v2/me/webhooks"

जवाब

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

उदाहरण
{
  "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
  "secret": "whsec_3f9a…"
}

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

DELETE/v2/me/webhooks/{id}

वेबहुक मिटाओ।

  • अधिकार webhooks
  • v2.19 से

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/webhooks/1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b"

जवाब

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

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

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

POST/v2/me/webhooks/{id}/test

वेबहुक पर एक जाँच भेजो।

  • अधिकार webhooks
  • v2.19 से

पैरामीटर

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

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/webhooks/1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b/test"

जवाब

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

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

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

सूचनाएँ

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

GET/v2/notifications

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

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

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

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/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/v2/notifications/read

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

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

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

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

जवाब

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

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

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

संदेश

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

GET/v2/conversations

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

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

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/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/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://api.tellmelo.com/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/v2/conversations/{with}/messages

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

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

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

संदेशों में चित्र, GIF और वीडियो 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://api.tellmelo.com/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/messages"

जवाब

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

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

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

POST/v2/conversations/{with}/read

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

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

पैरामीटर

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

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

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

जवाब

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

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

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

DELETE/v2/conversations/{with}/messages/{id}

अपना संदेश मिटाओ।

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

सिर्फ़ अपने संदेश, और सिर्फ़ भेजने के 24 घंटे के भीतर।

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/messages/7c6b5a49-3827-4165-9f0e-d1c2b3a49586"

जवाब

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

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

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

POST/v2/conversations/{with}/planned

कोई संदेश बाद के लिए तय करो। तय संदेश की id लौटाता है।

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

तय संदेशों वाला प्लान चाहिए, वरना 403। दोनों तरफ़ एंड-टू-एंड एन्क्रिप्शन हो तो सिर्फ़ ऐप में चलता है।

पैरामीटर

नामप्रकारमतलब
withपाथ मेंstringज़रूरीदूसरे खाते का id। बातचीत का अपना कोई id नहीं होता।
textबॉडी मेंstringज़रूरीपोस्ट, जवाब या संदेश का टेक्स्ट।
sendAtबॉडी मेंintegerज़रूरीसंदेश कब भेजा जाए, 1970 से मिलीसेकंड में।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Happy birthday! 🎂","sendAt":1758700000000}' \
  "https://api.tellmelo.com/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/planned"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

GET/v2/me/planned-messages

तुम्हारे वे संदेश जो अभी भेजे जाने हैं, समय के क्रम में।

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

पैरामीटर

नामप्रकारमतलब
withक्वेरी मेंstringवैकल्पिकसिर्फ़ इस खाते को भेजे संदेश (उसकी id)।

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
      "to": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "text": "Happy birthday! 🎂",
      "sendAt": 1758710400000,
      "state": "waiting"
    }
  ],
  "next": null
}

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

POST/v2/me/planned-messages/{id}/send

रोका गया या नाकाम तय संदेश अभी भेजो।

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

पैरामीटर

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

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/planned-messages/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9/send"

जवाब

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

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

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

DELETE/v2/me/planned-messages/{id}

तय संदेश भेजे जाने से पहले मिटाओ।

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

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/planned-messages/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9"

जवाब

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

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

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

संबंध

पसंद, सहेजना, रीपोस्ट, फ़ॉलो, जुड़ना, ब्लॉक: एक पाथ, active से सेट और हटाया जाता है। 2.19 से सूचियाँ भी: फ़ॉलोअर, फ़ॉलो किए गए, और तुम्हारे अपने ब्लॉक और म्यूट।

POST/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://api.tellmelo.com/v2/relations"

जवाब

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

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

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

GET/v2/profiles/{handle}/followers

किसी प्रोफ़ाइल को कौन फ़ॉलो करता है, नए पहले।

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

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

GET/v2/profiles/{handle}/following

कोई प्रोफ़ाइल किसे फ़ॉलो करती है, नए पहले।

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

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

GET/v2/me/relations

तुमने किसे ब्लॉक, म्यूट या सिर्फ़ संदेशों के लिए ब्लॉक किया, नए पहले।

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

सिर्फ़ तुम्हारी अपनी सूचियाँ। सेट करना और हटाना POST /relations से।

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/relations?kind=mute&limit=20"

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

संग्रह

सहेजी गई पोस्ट को अपने संग्रहों में बाँटो। एक पोस्ट कई संग्रहों में हो सकती है; संग्रह से निकालने पर भी सहेजी रहती है।

GET/v2/me/collections

तुम्हारे संग्रह और उनमें पोस्ट की गिनती।

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "id": "6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718",
      "name": "Recipes",
      "count": 12
    }
  ],
  "next": null
}

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

POST/v2/me/collections

संग्रह बनाओ। उसकी id लौटाता है।

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

कितने संग्रह बना सकते हो, यह प्लान पर निर्भर है।

पैरामीटर

नामप्रकारमतलब
nameबॉडी मेंstringज़रूरीनाम, ज़्यादा से ज़्यादा 40 अक्षर। हर खाते में अनोखा, बड़े-छोटे अक्षर का फ़र्क़ नहीं।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Recipes"}' \
  "https://api.tellmelo.com/v2/me/collections"

जवाब

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

उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

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

PUT/v2/me/collections/{id}

संग्रह का नाम बदलो।

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

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीसंग्रह की id।
nameबॉडी मेंstringज़रूरीनाम, ज़्यादा से ज़्यादा 40 अक्षर। हर खाते में अनोखा, बड़े-छोटे अक्षर का फ़र्क़ नहीं।

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

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Baking"}' \
  "https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718"

जवाब

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

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

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

DELETE/v2/me/collections/{id}

संग्रह मिटाओ।

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

उसमें की पोस्ट सहेजी रहती हैं।

पैरामीटर

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

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

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718"

जवाब

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

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

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

GET/v2/me/collections/{id}/posts

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

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

पैरामीटर

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

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

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718/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,
          "ai": "without"
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": null,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "giftDrop": {
        "item": "plan",
        "quantity": 3,
        "places": 10,
        "left": 4,
        "audience": "followers",
        "newAccounts": false,
        "status": "open",
        "claimed": true
      },
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

POST/v2/me/collections/{id}/posts

पोस्ट को संग्रह में डालो या निकालो।

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

पोस्ट डालने से वह सहेजी भी जाती है। सिर्फ़ दिखने वाली पोस्ट।

पैरामीटर

नामप्रकारमतलब
idपाथ मेंstringज़रूरीसंग्रह की id।
postबॉडी मेंstringज़रूरीपोस्ट की id।
insideबॉडी मेंbooleanवैकल्पिकtrue पोस्ट डालता है (डिफ़ॉल्ट), false निकालता है।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"post":"5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1","inside":true}' \
  "https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718/posts"

जवाब

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

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

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

तोहफ़े

साझेदार का कोटा देखना और उससे तोहफ़े देना, पोस्ट के नीचे तोहफ़े रखना और उन पर नज़र रखना। तोहफ़े लेना ऐप में लोगों का ही काम है।

GET/v2/partner/quota

तुम्हारे कोटे में देने के लिए कितना बचा है।

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

सिर्फ़ कोटे वाले साझेदारों के लिए; बाक़ी सबको 403 मिलता है।

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

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

जवाब

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

उदाहरण
{
  "months": 120,
  "sparks": 500,
  "looks": [
    {
      "id": "frame-gold",
      "name": "Goldring",
      "kind": "frame",
      "quantity": 25
    }
  ]
}

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

GET/v2/partner/gifts

तुमने कोटे से क्या, किसे और कब दिया – सबसे नया पहले।

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

सिर्फ़ कोटे वाले साझेदारों के लिए; बाक़ी सबको 403 मिलता है।

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "item": "plan",
      "quantity": 3,
      "itemId": null,
      "recipient": {
        "handle": "jon",
        "name": "Jon"
      },
      "createdAt": 1758627600000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

POST/v2/partner/gifts

अपने कोटे से किसी सदस्य को प्लान के महीने या चिंगारियाँ दो।

  • अधिकार gifts
  • v2.12 से

सिर्फ़ कोटे वाले साझेदारों के लिए; बाक़ी सबको 403 मिलता है।

ऐप की तरह सदस्य को दिखता है कि तोहफ़ा किसका है। एक घंटे में ज़्यादा से ज़्यादा 60 तोहफ़े।

पैरामीटर

नामप्रकारमतलब
handleबॉडी मेंstringज़रूरीजिस सदस्य को तोहफ़ा दे रहे हो उसका @नाम, @ के साथ या बिना।
itemबॉडी मेंstringज़रूरीप्लान के महीनों के लिए plan, चिंगारियों के लिए sparks, तुम्हारे स्टॉक के किसी लुक के लिए shop (2.13 से)।plansparksshop
quantityबॉडी मेंintegerवैकल्पिककितना: हर तोहफ़े में ज़्यादा से ज़्यादा 12 महीने या 35 चिंगारियाँ।
itemIdबॉडी मेंstringवैकल्पिकshop के लिए: लुक की ID, जैसे कोटे में looks उसे बताता है। हर तोहफ़े में एक पीस; तब quantity लागू नहीं होता।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"handle":"jon","item":"plan","quantity":3,"itemId":"frame-gold"}' \
  "https://api.tellmelo.com/v2/partner/gifts"

जवाब

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

उदाहरण
{
  "months": 120,
  "sparks": 500,
  "looks": [
    {
      "id": "frame-gold",
      "name": "Goldring",
      "kind": "frame",
      "quantity": 25
    }
  ]
}

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

GET/v2/gift-drops

पोस्ट के नीचे तुम्हारे तोहफ़े: कितनी जगहें अभी ख़ाली हैं और भुगतान कैसे हुआ।

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

पैरामीटर

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

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

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

जवाब

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

उदाहरण
{
  "items": [
    {
      "item": "plan",
      "quantity": 3,
      "places": 10,
      "left": 4,
      "audience": "followers",
      "newAccounts": false,
      "status": "open",
      "claimed": false,
      "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
      "funding": "quota",
      "createdAt": 1758624000000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

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

POST/v2/gift-drops

ऐसी पोस्ट डालो जिसके नीचे दूसरों के लिए तोहफ़े हों।

  • अधिकार gifts
  • v2.12 से

मालिक और इस अधिकार वाले टीम सदस्यों के लिए मुफ़्त, वरना तुम्हारे कोटे से। जिसका भुगतान करना पड़े, वह 422 के साथ ठुकरा दिया जाता है – भुगतान सिर्फ़ ऐप में होता है।

तोहफ़े सिर्फ़ ऐप में लिए जा सकते हैं, ताकि कोई प्रोग्राम सारी जगहें न समेट ले। कितनी जगहें बची हैं, यह पोस्ट के giftDrop में है।

पैरामीटर

नामप्रकारमतलब
textबॉडी मेंstringवैकल्पिकपोस्ट, जवाब या संदेश का टेक्स्ट।
communityबॉडी मेंstringवैकल्पिकउस समूह की id जिसके फ़ीड चैनल में पोस्ट जाती है; वह चालू होना चाहिए और तुम्हारे पास उसका अधिकार होना चाहिए। इसके बिना पोस्ट किसी समूह में नहीं होती।
itemबॉडी मेंstringज़रूरीप्लान के महीनों के लिए plan, चिंगारियों के लिए sparks।plansparks
quantityबॉडी मेंintegerज़रूरीहर जगह में क्या है: ज़्यादा से ज़्यादा 12 महीने या 35 चिंगारियाँ।
placesबॉडी मेंintegerज़रूरीकितने लोगों के लिए, ज़्यादा से ज़्यादा 10,000।
audienceबॉडी मेंstringवैकल्पिककौन ले सकता है: all सब, followers सिर्फ़ तुम्हारे फ़ॉलोअर, group सिर्फ़ ग्रुप के सदस्य (सिर्फ़ community के साथ)।allfollowersgroup
newAccountsबॉडी मेंbooleanवैकल्पिकtrue से 7 दिन से नए खाते भी ले सकते हैं। न दो तो वे बाहर रहते हैं।

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

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Ten times three months of Supporter – first come, first served! 🎁","item":"plan","quantity":3,"places":10,"audience":"all","newAccounts":false}' \
  "https://api.tellmelo.com/v2/gift-drops"

जवाब

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

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

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

ऑब्जेक्ट

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

Service

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

फ़ील्डप्रकारमतलब
namestringहमेशा tellmelo।
versionstringAPI का संस्करण, जैसे 2.1।
scopestringयह कुंजी क्या कर सकती है: read या read write।
rateLimitRateLimitइस कुंजी का बजट।
docsstringयह दस्तावेज़ कहाँ है, इस सर्वर पर पाथ के रूप में।
specstringमशीन से पढ़ा जा सकने वाला विवरण कहाँ है।
उदाहरण
{
  "name": "tellmelo",
  "version": "2.20",
  "scope": "read write",
  "rateLimit": {
    "limit": 120,
    "remaining": 117
  },
  "docs": "/developers/docs",
  "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क्या यह लेखक की प्रोफ़ाइल के सबसे ऊपर पिन है।
giftDropGiftDropया nullपोस्ट के नीचे लेने के लिए तोहफ़े (न हों तो null)।
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,
      "ai": "without"
    }
  ],
  "poll": {
    "options": [
      {
        "text": "Lavender",
        "votes": 12
      },
      {
        "text": "Sunflowers",
        "votes": 7
      },
      {
        "text": "Clover",
        "votes": 3
      }
    ],
    "total": 22,
    "multiple": false,
    "endsAt": null,
    "running": true,
    "resultsVisible": true,
    "myVotes": [
      0
    ]
  },
  "quotes": null,
  "continues": null,
  "counts": {
    "replies": 4,
    "likes": 31,
    "reposts": 2
  },
  "pinned": false,
  "giftDrop": {
    "item": "plan",
    "quantity": 3,
    "places": 10,
    "left": 4,
    "audience": "followers",
    "newAccounts": false,
    "status": "open",
    "claimed": true
  },
  "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,
  "giftDrop": null,
  "createdAt": 1758624600000,
  "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "parentId": null
}

ReplyVote

किसी जवाब पर तुम्हारा वोट और उसका स्कोर।

फ़ील्डप्रकारमतलब
votestringतुम्हारा वोट।
  • up — ऊपर।
  • down — नीचे।
  • none — कोई वोट नहीं।
scoreintegerऊपर वाले वोट घटा नीचे वाले वोट, शून्य से नीचे भी।
उदाहरण
{
  "vote": "up",
  "score": 12
}

PlannedReply

तुम्हारा एक जवाब जो बाद के लिए तय है।

फ़ील्डप्रकारमतलब
idstringतय जवाब की id।
parentIdstringया nullवह जवाब जिसका यह जवाब देगा (सीधे पोस्ट पर हो तो null)।
textstringटेक्स्ट।
publishAtintegerकब छपेगा।
statestringउसकी स्थिति।
  • waiting — अपने समय का इंतज़ार।
  • failed — भेजा नहीं जा सका, जैसे पोस्ट अब नहीं है।
उदाहरण
{
  "id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
  "parentId": null,
  "text": "Count me in for Saturday!",
  "publishAt": 1758710400000,
  "state": "waiting"
}

ReplySettings

तुम्हारी किसी पोस्ट की जवाब सेटिंग।

फ़ील्डप्रकारमतलब
audiencestringकौन जवाब दे सकता है।
  • all — सभी।
  • following — जिन खातों को तुम फ़ॉलो करते हो।
  • mentioned — पोस्ट में ज़िक्र किए गए लोग।
  • nobody — तुम्हारे सिवा कोई नहीं।
approvalbooleanक्या जवाब तुम्हारी मंज़ूरी का इंतज़ार करते हैं।
slowstringधीमा मोड।
  • auto — बहुत जवाब आने पर अपने आप चालू होता है।
  • on — हमेशा चालू।
  • off — बंद।
उदाहरण
{
  "audience": "following",
  "approval": false,
  "slow": "auto"
}

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 से)।
aistringया nullक्या छवि AI से बनी है, जैसा अपलोड करने वाले ने बताया या टीम ने किसी रिपोर्ट के बाद चिह्नित किया; जानकारी न हो तो null (2.11 से)।
  • with — AI से बनाया गया।
  • without — बिना AI के बनाया गया।
उदाहरण
{
  "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
  "kind": "image",
  "poster": null,
  "ai": "without"
}

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": null,
  "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 — एक स्वचालित खाता, जैसे बॉट।
  • bot — ग्रुप का बॉट, जिसे अपनी कुंजी वाला प्रोग्राम चलाता है (2.18 से)।
उदाहरण
{
  "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उसका नाम।
handlestringया nullसमूह को @# से उल्लेख करने का छोटा नाम। 2.15 से।
descriptionstringया nullविवरण (न हो तो null)।
tagsstring[]जिन विषयों के बारे में है।
membersintegerइसमें कितने सदस्य हैं।
joinPolicystringअंदर कैसे आते हैं।
  • open — कोई भी जुड़ सकता है।
  • application — जुड़ने के लिए आवेदन चाहिए जिसे समूह स्वीकार करता है।
  • invite — सिर्फ़ न्योते से।
visibilitystringकौन इसे देखता है। internal और hidden सिर्फ़ इसके सदस्य (2.15 से)।
  • open — सबको दिखता है।
  • internal — निर्देशिका में नहीं मिलता, पर अपने पते से मिलता है।
  • hidden — सिर्फ़ इसके सदस्यों के लिए।
feedChannelbooleanइसका फ़ीड चैनल चालू है या नहीं। 2.15 से।
sparksintegerसमूह के पास अभी कितनी चिंगारियाँ हैं (2.19 से)।
perksstring[]जिन फ़ायदों का ख़र्च उसकी चिंगारियाँ उठाती हैं (2.19 से)।
membershipMembershipया nullसमूह में तुम्हारा खाता क्या है और क्या कर सकता है; सदस्य न हो तो null। 2.15 से।
उदाहरण
{
  "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "name": "Urban Gardening",
  "handle": "urbangardening",
  "description": "Balconies, allotments, rooftops: whatever grows.",
  "tags": [
    "garden",
    "bees"
  ],
  "members": 312,
  "joinPolicy": "open",
  "visibility": "open",
  "feedChannel": true,
  "sparks": 24,
  "perks": [
    "tint",
    "welcome"
  ],
  "membership": {
    "leader": null,
    "roles": [
      "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
    ],
    "permissions": [
      "attach",
      "invite",
      "send",
      "view"
    ],
    "mutedUntil": null
  }
}

Membership

समूह में तुम्हारा खाता क्या है और क्या कर सकता है।

फ़ील्डप्रकारमतलब
leaderstringया nullक्या तुमने समूह बनाया या उसे मिलकर चलाते हो; वरना null।
  • founder — संस्थापक।
  • manager — सह-नेतृत्व।
rolesstring[]तुम्हारी भूमिकाओं की id, सबसे ऊँची पहले।
permissionsstring[]तुम समूह में क्या कर सकते हो।
mutedUntilintegerया nullम्यूट तुम्हें यहाँ कब तक चुप रखता है; न हो तो null।
उदाहरण
{
  "leader": null,
  "roles": [
    "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
  ],
  "permissions": [
    "attach",
    "invite",
    "send",
    "view"
  ],
  "mutedUntil": null
}

Person

एक सदस्य, संक्षेप में।

फ़ील्डप्रकारमतलब
idstringखाते की id।
handlestringउपयोगकर्ता नाम, @ के बिना।
namestringदिखने वाला नाम।
botbooleanक्या खाता बॉट है (2.18 से)।
उदाहरण
{
  "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
  "handle": "jon",
  "name": "Jon",
  "bot": false
}

Channel

किसी समूह का चैनल।

फ़ील्डप्रकारमतलब
idstringid।
kindstringचैनल का प्रकार।
  • feed — फ़ीड चैनल, जिसकी पोस्ट सार्वजनिक फ़ीड में भी होती हैं।
  • chat — एक चैट।
  • voice — एक वॉइस चैनल; बात सिर्फ़ ऐप में होती है।
  • hub — ग्रुप का हब: उसका परिचय देने वाला पन्ना। हमेशा रहता है, बिना संदेशों के।
namestringया nullनाम, # के बिना; null हो तो वह नाम जो ऐप हर भाषा में देता है।
topicstringविषय; न हो तो ख़ाली।
categoryChannelCategoryया nullश्रेणी; न हो तो null।
unreadintegerदूसरों के कितने संदेश तुमने अभी तक नहीं पढ़े, 100 तक।
permissionsstring[]तुम इस चैनल में क्या कर सकते हो।
symbolChannelSymbolइसका चिह्न; ग्रुप आकार तय करे तो आकार वही।
उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
  "kind": "chat",
  "name": "harvest",
  "topic": "What came in this week",
  "category": {
    "id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
    "name": "Garden",
    "symbol": {
      "emoji": null,
      "icon": null,
      "image": null,
      "color": null,
      "shape": null
    }
  },
  "unread": 3,
  "permissions": [
    "view",
    "send"
  ],
  "symbol": {
    "emoji": "🌻",
    "icon": null,
    "image": null,
    "color": "amber",
    "shape": "circle"
  }
}

ChannelCategory

वह श्रेणी जिसमें चैनल है।

फ़ील्डप्रकारमतलब
idstringid।
namestringनाम।
symbolChannelSymbolइसका चिह्न।
उदाहरण
{
  "id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "name": "Garden",
  "symbol": {
    "emoji": null,
    "icon": null,
    "image": null,
    "color": null,
    "shape": null
  }
}

ChannelSymbol

किसी चैनल या श्रेणी का चिह्न: इमोजी, चिह्न और तस्वीर में से अधिकतम एक, वरना उसके प्रकार का निशान।

फ़ील्डप्रकारमतलब
emojistringया nullइमोजी; न हो तो null।
iconstringया nullऐप सेट के चिह्न का नाम; न हो तो null।
imagestringया nullअपनी तस्वीर का पता; न हो तो null।
colorstringया nullटाइल का रंग; उसके प्रकार के रंग के लिए null।
shapestringया nullटाइल का आकार; वृत्त के लिए null।
उदाहरण
{
  "emoji": "🌻",
  "icon": null,
  "image": null,
  "color": "amber",
  "shape": "circle"
}

ChannelMessage

चैट चैनल में एक संदेश।

फ़ील्डप्रकारमतलब
idstringid।
textstringया nullटेक्स्ट (सिर्फ़ तस्वीरों या आवाज़ वाले संदेश में null)।
authorPersonकिसने लिखा।
mediaMedia[]इसकी तस्वीरें और वॉइस मैसेज; न हों तो ख़ाली।
replyTostringया nullजिस संदेश का यह जवाब है उसकी id; न हो तो null।
roleColorstringया nullलेखक की उस सबसे ऊँची भूमिका का रंग जिसका रंग है; न हो तो null।
threadOfstringया nullवह संदेश जिसके थ्रेड में यह जवाब देता है; चैट में null।
threadCountintegerइस संदेश के थ्रेड में कितने जवाब हैं।
cardobjectया nullबॉट का कार्ड: title, text, color और fields; वरना null।
buttonsobject[]बॉट के बटन: हर एक id, label और style।
createdAtintegerकब लिखा गया।
उदाहरण
{
  "id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
  "text": "@jon the first tomatoes are ripe 🍅",
  "author": {
    "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
    "handle": "mara",
    "name": "Mara 🌻",
    "bot": false
  },
  "media": [
    {
      "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
      "kind": "image",
      "poster": null,
      "ai": "without"
    }
  ],
  "replyTo": "72b3c4d5-e6f7-4081-92a3-b4c5d6e7f809",
  "roleColor": "green",
  "threadOf": null,
  "threadCount": 3,
  "card": null,
  "buttons": [],
  "createdAt": 1758631200000
}

Role

किसी समूह की भूमिका।

फ़ील्डप्रकारमतलब
idstringid।
namestringया nullनाम; @everyone के लिए null।
everyonebooleanक्या यह @everyone है, सभी सदस्यों की भूमिका।
colorstringया nullरंग: indigo, violet, rose, amber, green या teal; न हो तो null।
permissionsstring[]इसके अधिकार।
membersintegerकितनों के पास है; @everyone के लिए सभी सदस्य।
editablebooleanक्या तुम्हारा खाता इसे बदल सकता है।
selfablebooleanक्या सदस्य भूमिका खुद लेते और छोड़ते हैं।
उदाहरण
{
  "id": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
  "name": "Gardeners",
  "everyone": false,
  "color": "green",
  "permissions": [
    "attach",
    "invite",
    "send",
    "view"
  ],
  "members": 24,
  "editable": true,
  "selfable": false
}

GroupMember

समूह का सदस्य उसकी भूमिकाओं के साथ।

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

फ़ील्डप्रकारमतलब
leaderstringया nullक्या सदस्य ने समूह बनाया या उसे मिलकर चलाता है; वरना null।
  • founder — संस्थापक।
  • manager — सह-नेतृत्व।
rolesstring[]उसकी भूमिकाओं की id, सबसे ऊँची पहले।
mutedUntilintegerया nullअगर तुम्हारा खाता म्यूट कर सकता है, तो सदस्य कब तक म्यूट है; वरना null।
उदाहरण
{
  "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
  "handle": "jon",
  "name": "Jon",
  "bot": false,
  "leader": null,
  "roles": [
    "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
  ],
  "mutedUntil": null
}

ChannelOverride

कोई भूमिका किसी चैनल में समूह से अलग क्या कर सकती है।

फ़ील्डप्रकारमतलब
rolestringभूमिका की id।
allowstring[]यह यहाँ अतिरिक्त क्या कर सकती है।
denystring[]यह यहाँ क्या नहीं कर सकती।
उदाहरण
{
  "role": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
  "allow": [
    "send"
  ],
  "deny": []
}

Bell

किसी समूह की घंटी।

फ़ील्डप्रकारमतलब
levelstringकौन-सी सूचनाएँ आती हैं।
  • all — फ़ीड चैनल की हर नई पोस्ट, साथ में @everyone।
  • important — फ़ीड चैनल में नेतृत्व की पोस्ट, साथ में @everyone।
  • off — कुछ नहीं, जब तक @नाम से तुम्हारा ज़िक्र न हो।
उदाहरण
{
  "level": "important"
}

InviteLink

किसी समूह का निमंत्रण लिंक।

फ़ील्डप्रकारमतलब
codestringकोड।
urlstringशेयर करने का पता।
createdByPersonया nullकिसने बनाया; खाता मिट गया हो तो null।
createdAtintegerकब बनाया गया।
expiresAtintegerया nullकब तक चलता है; बिना अंत के null।
usesintegerकितनी बार इस्तेमाल हुआ।
maxUsesintegerया nullकितनी बार इस्तेमाल हो सकता है; असीमित हो तो null।
उदाहरण
{
  "code": "k7Qm2xPa",
  "url": "https://tellmelo.com/groups?join=k7Qm2xPa",
  "createdBy": {
    "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
    "handle": "jon",
    "name": "Jon",
    "bot": false
  },
  "createdAt": 1758624000000,
  "expiresAt": 1759228800000,
  "uses": 3,
  "maxUses": 10
}

InvitePreview

निमंत्रण लिंक कहाँ ले जाता है।

फ़ील्डप्रकारमतलब
communityInviteGroupसमूह।
memberbooleanक्या तुम्हारा खाता पहले से सदस्य है।
उदाहरण
{
  "community": {
    "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
    "name": "Urban Gardening",
    "members": 312,
    "rules": [
      "Be kind.",
      "No advertising."
    ]
  },
  "member": false
}

InviteGroup

निमंत्रण लिंक के पीछे का समूह।

फ़ील्डप्रकारमतलब
idstringid।
namestringनाम।
membersintegerइसके कितने सदस्य हैं।
rulesstring[]इसके नियम, जो जुड़ते समय माने जाते हैं; न हों तो ख़ाली।
उदाहरण
{
  "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "name": "Urban Gardening",
  "members": 312,
  "rules": [
    "Be kind.",
    "No advertising."
  ]
}

Joined

निमंत्रण लिंक से जुड़ना।

फ़ील्डप्रकारमतलब
communitystringसमूह की id।
उदाहरण
{
  "community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"
}

LogEntry

नेतृत्व के लॉग की एक प्रविष्टि।

फ़ील्डप्रकारमतलब
idstringid।
actionstringक्या हुआ।
  • post_removed — एक पोस्ट।
  • member_removed — 2.16 से पहले हटाया गया सदस्य (90 दिन बाहर)।
  • message_removed — चैट चैनल में एक संदेश।
  • member_kicked — निकालना।
  • member_banned — प्रतिबंध।
  • member_unbanned — हटाया गया प्रतिबंध।
  • member_timed_out — म्यूट।
  • timeout_lifted — हटाया गया म्यूट।
  • voice_muted — वॉइस चैनल में म्यूट किया गया।
  • voice_removed — वॉइस चैनल से डिस्कनेक्ट किया गया।
  • bot_added — ग्रुप में एक बॉट जोड़ा गया (2.18 से)।
  • bot_removed — ग्रुप से एक बॉट हटाया गया (2.18 से)।
memberPersonयह किससे जुड़ा था।
reasonstringकारण; संदेशों के लिए और कारण न दिए जाने पर खाली।
bystringया nullकरने वाले का नाम; खाता हटाया गया हो तो null।
createdAtintegerकब।
उदाहरण
{
  "id": "8f7e6d5c-4b3a-4291-8f7e-6d5c4b3a2918",
  "action": "message_removed",
  "member": {
    "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
    "handle": "jon",
    "name": "Jon",
    "bot": false
  },
  "reason": "",
  "by": "Mara 🌻",
  "createdAt": 1758710400000
}

Ban

किसी समूह से प्रतिबंध।

फ़ील्डप्रकारमतलब
memberPersonकिस पर प्रतिबंध है।
untilintegerया nullकब तक; हटाए जाने तक null।
createdAtintegerया nullकब से; 2.16 से पहले के प्रतिबंधों के लिए null।
bystringया nullप्रतिबंध लगाने वाले का नाम; पता न हो तो null।
उदाहरण
{
  "member": {
    "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
    "handle": "jon",
    "name": "Jon",
    "bot": false
  },
  "until": 1759228800000,
  "createdAt": 1758624000000,
  "by": "Mara 🌻"
}

Until

म्यूट या प्रतिबंध कब खत्म होता है।

फ़ील्डप्रकारमतलब
untilintegerया nullसमय; बिना अंत वाले प्रतिबंध या हटाए गए म्यूट के लिए null।
उदाहरण
{
  "until": 1758624600000
}

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,
          "ai": "without"
        }
      ],
      "poll": {
        "options": [
          {
            "text": "Lavender",
            "votes": 12
          },
          {
            "text": "Sunflowers",
            "votes": 7
          },
          {
            "text": "Clover",
            "votes": 3
          }
        ],
        "total": 22,
        "multiple": false,
        "endsAt": null,
        "running": true,
        "resultsVisible": true,
        "myVotes": [
          0
        ]
      },
      "quotes": null,
      "continues": null,
      "counts": {
        "replies": 4,
        "likes": 31,
        "reposts": 2
      },
      "pinned": false,
      "giftDrop": {
        "item": "plan",
        "quantity": 3,
        "places": 10,
        "left": 4,
        "audience": "followers",
        "newAccounts": false,
        "status": "open",
        "claimed": true
      },
      "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 — कोई तुम्हारे जवाब को अपवोट करता है।
  • duel — किसी ने तुम्हें फ़ीड ड्यूल के लिए चैलेंज किया, या तुम्हारा चैलेंज खेला जा चुका है।
  • reply_pick — किसी पोस्ट का लेखक तुम्हारा जवाब हाइलाइट करता है।
  • repost — किसी ने तुम्हारी पोस्ट रीपोस्ट की।
  • follow — कोई तुम्हें फ़ॉलो करता है।
  • mention — किसी ने तुम्हारा ज़िक्र किया।
  • group_mention — किसी ने तुम्हारे चलाए समूह का ज़िक्र किया; text उसका नाम है।
  • channel_mention — किसी ने तुम्हारे किसी समूह के चैट चैनल में तुम्हारा ज़िक्र किया, @everyone समेत; सदस्य actor है, वाक्य में चैनल और समूह का नाम है, संदेश कभी नहीं।
  • message — किसी ने तुम्हें संदेश लिखा।
  • scheduled — तुम्हारी एक निर्धारित पोस्ट प्रकाशित हो गई।
  • video — तुम्हारी एक पोस्ट जो अपने वीडियो का इंतज़ार कर रही थी, प्रकाशित हुई या फिर से ड्राफ़्ट बन गई।
  • reminder — सहेजी गई पोस्ट का रिमाइंडर आ गया है।
  • report — तुम्हारी भेजी रिपोर्ट का क्या हुआ।
  • moderation — तुम्हारे खाते पर एक फ़ैसला: चेतावनी, पाबंदी, आपत्ति।
  • team — टीम के लिए नया काम (सिर्फ़ मालिक, एडमिन और मॉडरेटर)।
  • reward — आमंत्रण का इनाम ख़त्म होने वाला है या ख़त्म हो गया।
  • gift — टीम की ओर से तोहफ़ा: एक प्लान, या तुम्हारे या तुम्हारे चलाए समूह के लिए चिंगारियाँ।
  • present — किसी सदस्य से तोहफ़ा: चिंगारियाँ या प्लान का समय; सदस्य actor है।
  • spark — चिंगारियाँ जल्द ख़त्म होंगी, या तुम्हारे चलाए किसी समूह के पास अपने फ़ायदों के लिए चिंगारियाँ कम हैं।
  • loyalty — वफ़ादारी की लय के बारे में: सक्रिय हफ़्ता गिना गया या एक दिन कम है, इनाम नया है या मिटने वाला है।
  • impact — बारह घंटों की तुम्हारी पोस्ट एक दिन बाद कैसी रहीं, एक सूचना में।
  • discovery — “खोजे गए” कार्यक्रम का आमंत्रण, या यह कि वहाँ जगह शुरू या ख़त्म हो रही है।
  • group_post — किसी ऐसे समूह में नई पोस्ट जिसकी घंटी इसके लिए बजती है।
  • group_moderation — किसी समूह के नेतृत्व ने तुम्हारी कोई पोस्ट या तुम्हें समूह से हटाया।
  • group — किसी सदस्य ने किसी समूह में तुम्हारे साथ जो किया: न्योता दिया, स्वीकार या अस्वीकार किया, सह-प्रशासक बनाया, समूह सौंपा या भंग किया, या तुम्हारे समूह में आवेदन किया; सदस्य actor है, समूह का नाम वाक्य के अंत में आता है।
  • coauthor — किसी ने तुम्हें किसी पोस्ट का सह-लेखक बनने के लिए बुलाया।
  • partner — साझेदार प्रोग्राम से याद दिलाना, या साझेदार बैज का हटना।
  • news — उस इलाक़े में नया लेख जिसे तुम फ़ॉलो करते हो।
  • pick — तुम्हारी कोई पोस्ट हफ़्ते की या साल की पोस्ट के लिए नामांकित है, या जीत गई है।
  • advent — आगमन काल कैलेंडर का नया दरवाज़ा खुला है, कोई दरवाज़ा खोला गया या आज का अभी इंतज़ार में है।
  • team_message — tellmelo टीम का चुने हुए सदस्यों को लिखा संदेश।
  • challenge — हफ़्ते का नया चैलेंज शुरू हुआ।
  • nudge — एक बार: ऐसी पोस्ट जिसका अभी तक किसी ने जवाब नहीं दिया, या चल रहा चैलेंज।
  • signin — कोई कंप्यूटर पूछ रहा है कि क्या तुम अभी वहाँ साइन इन कर रहे हो।
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
}

PlannedMessage

तुम्हारा एक संदेश जो बाद के लिए तय है।

फ़ील्डप्रकारमतलब
idstringतय संदेश की id।
tostringपाने वाले खाते की id।
textstringया nullटेक्स्ट, एंड-टू-एंड एन्क्रिप्शन में null।
sendAtintegerकब भेजा जाएगा।
statestringउसकी स्थिति।
  • waiting — अपने समय का इंतज़ार।
  • held — प्लान ख़त्म होने से रोका गया। तुम ख़ुद भेज सकते हो या मिटा सकते हो।
  • failed — भेजा नहीं जा सका।
उदाहरण
{
  "id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
  "to": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "text": "Happy birthday! 🎂",
  "sendAt": 1758710400000,
  "state": "waiting"
}

ScheduledPost

तुम्हारी एक पोस्ट जो अभी नहीं आई।

फ़ील्डप्रकारमतलब
idstringपोस्ट का id।
textstringया nullटेक्स्ट।
communityIdstringया nullजिस ग्रुप में आएगी (ग्रुप के बाहर null)।
publishAtintegerया nullकब आएगी (जब तक किसी और चीज़ का इंतज़ार है, null)।
deleteAtintegerया nullख़ुद-ब-ख़ुद कब मिटेगी (null: कभी नहीं)।
waitingForstringकिसका इंतज़ार है।
  • time — अपने समय का।
  • review — समीक्षा के लिए लिखे टेक्स्ट की मंज़ूरी का।
  • check — ऑटोमैटिक मॉडरेशन की जाँच का।
  • payment — अपने तोहफ़ों के भुगतान का।
createdAtintegerकब लिखी गई।
उदाहरण
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "text": "Market day tomorrow – see you at the bee stand! #garden",
  "communityId": null,
  "publishAt": 1758710400000,
  "deleteAt": null,
  "waitingFor": "time",
  "createdAt": 1758624000000
}

Collection

सहेजी गई पोस्ट का संग्रह।

फ़ील्डप्रकारमतलब
idstringसंग्रह की id।
namestringउसका नाम।
countintegerउसमें कितनी पोस्ट हैं।
उदाहरण
{
  "id": "6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718",
  "name": "Recipes",
  "count": 12
}

Event

किसी प्रोफ़ाइल का आने वाला कार्यक्रम।

फ़ील्डप्रकारमतलब
idstringकार्यक्रम की id।
titlestringशीर्षक।
startsAtintegerशुरुआत।
endsAtintegerया nullअंत, अंत न हो तो null।
placestringया nullजगह।
descriptionstringया nullविवरण।
signupsEventSignupsया nullनाम लिखवाना, न हो तो null।
उदाहरण
{
  "id": "2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b",
  "title": "Seed swap",
  "startsAt": 1758883200000,
  "endsAt": 1758890400000,
  "place": "Community garden",
  "description": "Bring seeds, take seeds.",
  "signups": {
    "count": 14,
    "going": true
  }
}

EventSignups

कितनों ने नाम लिखवाया।

फ़ील्डप्रकारमतलब
countintegerनाम लिखवाने वालों की गिनती।
goingbooleanक्या तुमने नाम लिखवाया है।
उदाहरण
{
  "count": 14,
  "going": true
}

EventSignup

तुम्हारे किसी कार्यक्रम के लिए नाम लिखवाने वाला।

फ़ील्डप्रकारमतलब
idstringखाते की id।
handlestringयूज़रनेम।
namestringदिखने वाला नाम।
atintegerकब नाम लिखवाया।
उदाहरण
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "at": 1758624000000
}

Picture

अपलोड की गई तस्वीर।

फ़ील्डप्रकारमतलब
idstringतस्वीर की id।
urlstringकहाँ देखी जा सकती है।
उदाहरण
{
  "id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"
}

EmojiPicture

किसी इमोजी की अपलोड की गई तस्वीर।

फ़ील्डप्रकारमतलब
idstringतस्वीर की id।
urlstringकहाँ देखी जा सकती है।
animatedbooleanक्या वह चलती है।
उदाहरण
{
  "id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "animated": false
}

OwnEmoji

तुम्हारा अपना कोई इमोजी।

फ़ील्डप्रकारमतलब
namestringउसका नाम।
urlstringउसकी तस्वीर।
animatedbooleanक्या वह चलता है।
restingbooleanआराम में, क्योंकि अभी प्लान कम इमोजी की इजाज़त देता है: बना रहता है, पर इस्तेमाल नहीं हो सकता।
उदाहरण
{
  "name": "sunflower",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "animated": false,
  "resting": false
}

GroupEmoji

किसी समूह का इमोजी।

फ़ील्डप्रकारमतलब
namestringउसका नाम।
urlstringउसकी तस्वीर।
animatedbooleanक्या वह चलता है।
उदाहरण
{
  "name": "seedling",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "animated": false
}

BotEvent

बॉट के किसी समूह की एक घटना।

फ़ील्डप्रकारमतलब
idstringउसकी संख्या, बढ़ते क्रम में; इसी से आगे बढ़ते हैं (since, Last-Event-ID)।
typestringक्या हुआ।
  • message.created — एक संदेश लिखा गया।
  • message.deleted — एक संदेश हटाया गया।
  • member.joined — कोई जुड़ा।
  • member.left — कोई चला गया या हटाया गया।
  • voice.joined — कोई वॉइस चैनल में आया।
  • command — किसी ने बॉट का कोई कमांड इस्तेमाल किया।
  • interaction — किसी ने बॉट के संदेश में बटन दबाया।
communitystringसमूह।
channelstringया nullचैनल; पूरे समूह के लिए null।
createdAtintegerकब हुआ।
dataobjectइससे जुड़ा, प्रकार के अनुसार: message, member (reason के साथ), command या interaction।
उदाहरण
{
  "id": "4711",
  "type": "message.created",
  "community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
  "createdAt": 1758634800000,
  "data": {
    "message": {
      "id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
      "text": "/dice 6",
      "author": {
        "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
        "handle": "mara",
        "name": "Mara 🌻",
        "bot": false
      },
      "media": 0,
      "replyTo": null,
      "threadOf": null,
      "createdAt": 1758634800000
    }
  }
}

BotCommand

किसी बॉट का कमांड।

फ़ील्डप्रकारमतलब
namestringउसका नाम, “/” के बिना।
descriptionstringवह क्या करता है।
उदाहरण
{
  "name": "dice",
  "description": "Rolls a die"
}

VoiceSeat

वॉइस चैनल में एक जगह।

फ़ील्डप्रकारमतलब
urlstringमीडिया सर्वर का पता (LiveKit)।
tokenstringइस चैनल का टोकन, कुछ मिनट के लिए मान्य।
iceServersobject[]कनेक्शन के लिए STUN और TURN सर्वर।
speakbooleanक्या बॉट वहाँ ध्वनि भेज सकता है।
videobooleanक्या बॉट वहाँ वीडियो भेज सकता है।
उदाहरण
{
  "url": "wss://voice.example.org",
  "token": "eyJhbGciOiJIUzI1NiJ9…",
  "iceServers": [
    {
      "urls": [
        "stun:turn.example.org:3478"
      ]
    }
  ],
  "speak": true,
  "video": false
}

Webhook

तुम्हारा कोई वेबहुक।

फ़ील्डप्रकारमतलब
idstringवेबहुक की id।
urlstringउसका पता।
kindsstring[]उसे किन बातों की सूचना मिलती है।
activebooleanक्या उसे डिलीवरी मिलती है। लगातार कई बार नाकाम होने पर बंद हो जाता है।
lastStatusintegerया nullपिछली डिलीवरी का HTTP स्टेटस।
lastAtintegerया nullपिछली डिलीवरी कब हुई।
failuresintegerलगातार नाकामियाँ।
उदाहरण
{
  "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
  "url": "https://example.org/tellmelo-hook",
  "kinds": [
    "reply",
    "mention"
  ],
  "active": true,
  "lastStatus": 200,
  "lastAt": 1758624000000,
  "failures": 0
}

WebhookCreated

नया वेबहुक और उसका सीक्रेट।

फ़ील्डप्रकारमतलब
idstringवेबहुक की id।
secretstringसिग्नेचर का सीक्रेट, सिर्फ़ इसी बार।
उदाहरण
{
  "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
  "secret": "whsec_3f9a…"
}

GroupBot

किसी समूह का बॉट।

फ़ील्डप्रकारमतलब
idstringबॉट खाते की id।
handlestringउसका छोटा नाम।
namestringउसका नाम।
descriptionstringवह क्या करता है, उसके मालिक के शब्दों में।
permissionsstring[]समूह में उसकी भूमिका क्या करने देती है।
उदाहरण
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "gardenbot",
  "name": "Garden bot",
  "description": "Reminds the group of watering days.",
  "permissions": [
    "send",
    "view"
  ]
}

VoiceRoom

एक वॉइस चैनल और उसमें मौजूद लोग।

फ़ील्डप्रकारमतलब
channelstringचैनल की id।
peopleVoicePerson[]अभी उसमें कौन है।
उदाहरण
{
  "channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
  "people": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "muted": false,
      "deaf": false,
      "camera": false,
      "screen": true
    }
  ]
}

VoicePerson

वॉइस चैनल में कोई।

फ़ील्डप्रकारमतलब
idstringखाते की id।
handlestringछोटा नाम।
namestringदिखने वाला नाम।
mutedbooleanक्या माइक बंद है।
deafbooleanक्या उसे कुछ सुनाई नहीं देता (अपनी मर्ज़ी से)।
camerabooleanक्या कैमरा चालू है।
screenbooleanक्या वह स्क्रीन शेयर कर रहा है।
उदाहरण
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "muted": true,
  "deaf": false,
  "camera": false,
  "screen": false
}

GiftDrop

पोस्ट के नीचे तोहफ़े – लेने वालों के नाम कभी नहीं।

फ़ील्डप्रकारमतलब
itemstringएक जगह में क्या है।
  • plan — प्लान के महीने (समर्थक)।
  • sparks — चिंगारियाँ।
quantityintegerहर जगह में कितना: महीने या चिंगारियाँ।
placesintegerकुल कितनी जगहें हैं।
leftintegerकितनी अभी ख़ाली हैं।
audiencestringकौन ले सकता है।
  • all — सब।
  • followers — सिर्फ़ तोहफ़े देने वाले के फ़ॉलोअर।
  • group — सिर्फ़ पोस्ट के ग्रुप के सदस्य।
newAccountsbooleanक्या 7 दिन से नए खाते भी ले सकते हैं।
statusstringस्थिति।
  • awaiting_payment — भुगतान का इंतज़ार; पोस्ट अभी नहीं आई।
  • open — अभी जगहें बाक़ी हैं।
  • closed — ख़त्म: सब ले लिए गए, भुगतान लौटाया गया या पोस्ट मिटा दी गई।
claimedbooleanक्या तुम्हारे पास पहले से जगह है (सार्वजनिक रास्तों पर हमेशा false)।
उदाहरण
{
  "item": "plan",
  "quantity": 3,
  "places": 10,
  "left": 4,
  "audience": "followers",
  "newAccounts": false,
  "status": "open",
  "claimed": true
}

OwnGiftDrop

पोस्ट के नीचे तुम्हारे तोहफ़े, पोस्ट और भुगतान के साथ।

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

फ़ील्डप्रकारमतलब
postIdstringजिस पोस्ट के नीचे हैं।
fundingstringभुगतान कैसे हुआ।
  • free — मुफ़्त।
  • quota — कोटे से।
  • payment — भुगतान किया हुआ।
createdAtintegerकब बनाए गए।
उदाहरण
{
  "item": "plan",
  "quantity": 3,
  "places": 10,
  "left": 4,
  "audience": "followers",
  "newAccounts": false,
  "status": "open",
  "claimed": false,
  "postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "funding": "quota",
  "createdAt": 1758624000000
}

Quota

कोटे में क्या है।

फ़ील्डप्रकारमतलब
monthsintegerदेने के लिए बचे प्लान के महीने।
sparksintegerदेने के लिए बची चिंगारियाँ।
looksQuotaLook[]स्टॉक में देने के लिए बचे लुक (2.13 से)।
उदाहरण
{
  "months": 120,
  "sparks": 500,
  "looks": [
    {
      "id": "frame-gold",
      "name": "Goldring",
      "kind": "frame",
      "quantity": 25
    }
  ]
}

QuotaLook

किसी साझेदार के स्टॉक में एक लुक, बचे हुए पीस के साथ (2.13 से)।

फ़ील्डप्रकारमतलब
idstringलुक की ID; तोहफ़े में देते समय इसे itemId के रूप में भेजो।
namestringलुक का नाम।
kindstringलुक का प्रकार।
  • frame — प्रोफ़ाइल फ़्रेम।
  • background — कवर इफ़ेक्ट।
  • card — प्रोफ़ाइल कार्ड।
quantityintegerकितने पीस बचे हैं।
उदाहरण
{
  "id": "frame-gold",
  "name": "Goldring",
  "kind": "frame",
  "quantity": 25
}

QuotaGift

कोटे से दिया गया तोहफ़ा।

फ़ील्डप्रकारमतलब
itemstringक्या दिया गया।
  • plan — प्लान के महीने (समर्थक)।
  • sparks — चिंगारियाँ।
  • shop — स्टॉक से एक लुक (2.13 से)।
quantityintegerकितना।
itemIdstringया nullजब item shop हो, तो दिया गया लुक; वरना null।
recipientActorकिसे।
createdAtintegerकब।
उदाहरण
{
  "item": "plan",
  "quantity": 3,
  "itemId": null,
  "recipient": {
    "handle": "jon",
    "name": "Jon"
  },
  "createdAt": 1758627600000
}

MediaItem

मीडिया लाइब्रेरी से एक GIF या वीडियो (2.14 से)।

फ़ील्डप्रकारमतलब
idstringID; पोस्ट करते समय media के लिए।
kindstringGIF या वीडियो।
  • gif — एक GIF, बिना आवाज़ के लूप वाले MP4 के रूप में।
  • video — MP4 के रूप में एक वीडियो, आवाज़ के साथ।
namestringनाम।
keywordsstringकीवर्ड, छोटे अक्षरों में।
widthintegerपिक्सेल में चौड़ाई।
heightintegerपिक्सेल में ऊँचाई।
secondsintegerसेकंड में लंबाई; GIF के लिए 0।
urlstringMP4 फ़ाइल, इस इंस्टेंस के सापेक्ष। इसे हेडर में कुंजी के साथ लोड करो।
posterstringप्रीव्यू इमेज, यह भी कुंजी के साथ।
uploaderActorकिसने अपलोड किया।
minebooleanक्या यह तुम्हारा है।
sharedbooleanक्या यह tellmelo पर सबके साथ शेयर है।
anywherebooleanक्या यह दूसरी वेबसाइटों पर भी दिख सकता है।
embedEmbedया nullदूसरी वेबसाइटों के लिए पते; जब तक वहाँ अनुमति नहीं है, null।
उदाहरण
{
  "id": "b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
  "kind": "gif",
  "name": "Happy bees",
  "keywords": "bees garden happy",
  "width": 480,
  "height": 270,
  "seconds": 0,
  "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
  "poster": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918&poster=1",
  "uploader": {
    "handle": "mara",
    "name": "Mara 🌻"
  },
  "mine": false,
  "shared": true,
  "anywhere": true,
  "embed": {
    "page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
    "file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
    "poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
    "code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
  }
}

Embed

दूसरी वेबसाइटों के लिए पते। ये बिना कुंजी के काम करते हैं।

फ़ील्डप्रकारमतलब
pagestring<iframe> के लिए प्लेयर।
filestringअपने प्लेयर के लिए MP4 फ़ाइल।
posterstringप्रीव्यू इमेज।
codestringएम्बेड करने के लिए तैयार कोड।
उदाहरण
{
  "page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
  "file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
  "poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
  "code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
}

UploadStarted

शुरू हुआ अपलोड।

फ़ील्डप्रकारमतलब
uploadstringइस अपलोड की ID।
pieceintegerएक टुकड़ा ज़्यादा से ज़्यादा कितना बड़ा हो सकता है, बाइट्स में।
उदाहरण
{
  "upload": "e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b",
  "piece": 4194304
}

UploadPiece

पहुँचा हुआ टुकड़ा।

फ़ील्डप्रकारमतलब
receivedintegerकितने बाइट्स पहुँचे हैं।
itemMediaItemया nullआख़िरी टुकड़े के बाद नया GIF या वीडियो, वरना null।
उदाहरण
{
  "received": 4194304,
  "item": null
}

Created

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

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

DropCreated

तोहफ़ों वाली पोस्ट बनने पर मिलने वाला जवाब।

फ़ील्डप्रकारमतलब
idstringनई पोस्ट का id।
fundingstringतोहफ़ों का भुगतान कैसे हुआ।
  • free — मुफ़्त।
  • quota — कोटे से।
उदाहरण
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "funding": "quota"
}

Made

जो अभी बनाया या बदला गया।

फ़ील्डप्रकारमतलब
idstringid; निमंत्रण लिंक के लिए उसका कोड।
उदाहरण
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Ok

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

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

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

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

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

दूसरी वेबसाइटों पर GIF और वीडियो

कोई सदस्य जो शेयर करता है और दूसरी वेबसाइटों पर भी अनुमति देता है, उसे कोई भी वेबसाइट दिखा सकती है: anywhere=true वाली खोज उसे ढूँढती है, और उसके embed में पते होते हैं। अगर सदस्य उसे वापस ले लेता है, तो वह वहाँ से कुछ ही मिनटों में हट जाता है।

टुकड़ों में अपलोड

पहले शुरू करो, फिर फ़ाइल टुकड़ों में भेजो। बड़ी फ़ाइल को piece बाइट्स के टुकड़ों में बाँटो, हर टुकड़े की जगह पर offset के साथ। आख़िरी टुकड़े के बाद तैयार GIF या वीडियो मिलता है।

curl -X POST -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"kind":"gif","size":2400000,"name":"Happy bees","shared":true,"anywhere":true}' \
  "https://api.tellmelo.com/v2/media/uploads"
→ { "upload": "e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b", "piece": 4194304 }

curl -X PUT -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @bees.gif \
  "https://api.tellmelo.com/v2/media/uploads/e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b?offset=0"
→ { "received": 2400000, "item": { "id": "…", "embed": { … } } }

एम्बेड करना

प्लेयर GIF को लूप में या वीडियो को कंट्रोल के साथ दिखाता है, नीचे नाम और किसने शेयर किया। embed.code का कोड पेज में डालो:

<iframe src="https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918" width="480" height="300" title="Happy bees" style="border:0;max-width:100%" loading="lazy" allowfullscreen></iframe>

जो फ़ोरम और प्रोग्राम oEmbed जानते हैं, वे प्लेयर का पता मिलने पर ख़ुद कोड ले लेते हैं:

https://tellmelo.com/api/oembed?url=https%3A%2F%2Ftellmelo.com%2Fmedia-embed%2Fb2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918

कुंजी तुम्हारे सर्वर पर रहनी चाहिए, कभी भी किसी वेब पेज के कोड में नहीं। अपने सर्वर से खोजो और अपलोड करो; embed के पतों को कुंजी की ज़रूरत नहीं।

तुम्हारी वेबसाइट के लिए GIF पिकर

साइट कुंजी (डेवलपर क्षेत्र → तुम्हारी वेबसाइट के लिए GIF पिकर) से तुम्हारी वेबसाइट को तैयार खोज मिल जाती है: पेज में दो लाइनें, और बटन पर एक क्लिक से वह खुल जाती है। कुंजी सार्वजनिक है और सिर्फ़ उन्हीं पतों पर काम करती है जो तुम उसके लिए डालते हो। पिकर में सिर्फ़ वही दिखता है जिसकी सदस्यों ने दूसरी वेबसाइटों के लिए अनुमति दी है।

<script src="https://tellmelo.com/picker.js" data-key="tmsk_…" defer></script>
<button type="button" data-tellmelo-picker>GIF</button>

कुछ चुनने पर बटन tellmelo:pick भेजता है, साथ में चुनी गई चीज़: एम्बेड करने के लिए code, file, poster, name और author। data-target="#field" के साथ वह code सीधे किसी टेक्स्ट फ़ील्ड में डाल देता है, data-kind="video" के साथ वीडियो खोजता है। अगर फ़ाइल तुम ख़ुद एम्बेड करते हो, तो उसे शेयर करने वाले व्यक्ति का नाम दिखाओ।

document.addEventListener('tellmelo:pick', (event) => {
  const { code, file, name, author } = event.detail;
});

tellmelo से साइन इन

दूसरी साइटें सदस्यों को OpenID Connect से उनके tellmelo अकाउंट से साइन इन करने देती हैं (PKCE के साथ ऑथराइज़ेशन कोड)। साइट को सिर्फ़ यूज़रनेम, पुष्टि किया हुआ ईमेल पता और हर सदस्य के लिए अपनी एक पहचान (sub) मिलती है।

ऐप के लिए आवेदन तुम “डेवलपर क्षेत्र → tellmelo से साइन इन” में करते हो। टीम हर ऐप जाँचती है; उसके बाद तुम्हें वहाँ क्लाइंट ID दिखती है और सर्वर वाले ऐप के लिए तुम क्लाइंट सीक्रेट बनाते हो, जो एक बार दिखाया जाता है।

लाइब्रेरी को जो चाहिए, वह सब डिस्कवरी दस्तावेज़ में है:

https://tellmelo.com/.well-known/openid-configuration
  1. सदस्य को /oauth/authorize पर भेजो, साथ में response_type=code, client_id, redirect_uri (बिल्कुल वैसा जैसा दर्ज है), scope=openid profile email, state, nonce और code_challenge_method=S256 के साथ code_challenge।
  2. कोड को एक मिनट के भीतर /oauth/token पर बदलो: grant_type=authorization_code, code, redirect_uri और code_verifier; सर्वर वाले ऐप साथ में सीक्रेट भी भेजते हैं, Basic प्रमाणीकरण से या फ़ॉर्म में।
  3. ID टोकन (RS256, कुंजियाँ /oauth/jwks पर) में sub होता है, profile के साथ preferred_username भी, email के साथ email और email_verified भी। एक्सेस टोकन 10 मिनट चलता है और सिर्फ़ /oauth/userinfo पढ़ता है।
https://tellmelo.com/oauth/authorize?response_type=code&client_id=tm_…
  &redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&scope=openid%20profile%20email
  &state=…&nonce=…&code_challenge=…&code_challenge_method=S256

curl -u "tm_…:tms_…" https://tellmelo.com/oauth/token \
  -d grant_type=authorization_code -d code=… \
  -d redirect_uri=https://example.com/callback -d code_verifier=…
{
  "iss": "https://example.social",
  "sub": "Xq3vR0b8yJm1cW4tZ2kPn6sLd9fHa7gE5uTo0iBeVxY",
  "aud": "tm_5f2c9e1a7b3d4c6e8f0a1b2c",
  "iat": 1760432400,
  "exp": 1760433000,
  "nonce": "n-0S6_WzA2Mj",
  "at_hash": "HK6E_P6Dh8Y93mRNtsDB1Q",
  "preferred_username": "anna",
  "email": "anna@example.com",
  "email_verified": true
}

रीफ़्रेश टोकन नहीं हैं: tellmelo साइन इन कराता है और स्थायी एक्सेस नहीं देता। अगर कोई सदस्य साइट हटाता है या टीम ऐप रोक देती है, तो /oauth/userinfo तुरंत 401 देता है। prompt=none बिना पेज के जाँचता है, prompt=consent फिर से पूछता है।

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

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

दूसरों के GIF और वीडियो अपनी वेबसाइट पर सिर्फ़ तभी दिखाओ जब उनके पास embed हो, इन्हीं पतों से और शेयर करने वाले व्यक्ति के नाम के साथ। अगर कुछ अब उपलब्ध नहीं है, तो उसे दिखाना बंद करो। फ़ाइलें अपने किसी कलेक्शन में कॉपी मत करो।

प्रकाशक जानकारीगोपनीयताउपयोग की शर्तेंस्थितिऐप