tellmelo.Geliştiricilertellmelo’ya git
Yardım MerkeziDestekYasalGeliştiriciler

API

Başlarken

  • Şunu istiyorum …
  • Genel bakış
  • Hızlı başlangıç
  • Dene
  • Senin anahtarın
  • Bir anahtarın yapabildikleri
  • Botlar

Temeller

  • İstekler ve yanıtlar
  • Sayfalar
  • Yalnızca yeni olan
  • Sınırlar
  • Başlıklar
  • Bir şey olmazsa
  • Sürümler

Uç noktalar

  • Uç noktalar
  • Giriş
    • GET /
  • Gönderiler
    • 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
  • Yanıtlar
    • 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}
  • Anketler
    • POST /posts/{id}/vote
  • Profiller
    • 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
  • Gruplar
    • 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
  • Kanallar
    • GET /communities/{id}/channels
    • GET /channels/{id}/messages
    • POST /channels/{id}/messages
    • POST /channels/{id}/read
    • DELETE /channel-messages/{id}
    • GET /communities/{id}/voice
  • Grupları yönetmek
    • 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}
  • Botlar
    • GET /events
    • GET /events/stream
    • GET /me/commands
    • PUT /me/commands
    • POST /interactions/{id}/reply
    • POST /channels/{id}/voice
  • Keşfet
    • GET /tags
    • GET /search
    • GET /emojis
  • GIF’ler ve videolar
    • GET /media
    • GET /media/mine
    • GET /media/{id}
    • POST /media/uploads
    • PUT /media/uploads/{upload}
    • POST /media/{id}
    • DELETE /media/{id}
  • Hesabın
    • 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
  • Bildirimler
    • GET /notifications
    • POST /notifications/read
  • Mesajlar
    • 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}
  • İlişkiler
    • POST /relations
    • GET /profiles/{handle}/followers
    • GET /profiles/{handle}/following
    • GET /me/relations
  • Koleksiyonlar
    • GET /me/collections
    • POST /me/collections
    • PUT /me/collections/{id}
    • DELETE /me/collections/{id}
    • GET /me/collections/{id}/posts
    • POST /me/collections/{id}/posts
  • Hediyeler
    • GET /partner/quota
    • GET /partner/gifts
    • POST /partner/gifts
    • GET /gift-drops
    • POST /gift-drops

Nesneler

  • Nesneler
  • 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

Diğer

  • Makinenin okuyabildiği tanım
  • Diğer web sitelerinde GIF’ler ve videolar
  • tellmelo ile giriş
  • Beklediğimiz
İçindekiler

Başlarken

  • Şunu istiyorum …
  • Genel bakış
  • Hızlı başlangıç
  • Dene
  • Senin anahtarın
  • Bir anahtarın yapabildikleri
  • Botlar

Temeller

  • İstekler ve yanıtlar
  • Sayfalar
  • Yalnızca yeni olan
  • Sınırlar
  • Başlıklar
  • Bir şey olmazsa
  • Sürümler

Uç noktalar

  • Uç noktalar
  • Giriş
    • GET /
  • Gönderiler
    • 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
  • Yanıtlar
    • 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}
  • Anketler
    • POST /posts/{id}/vote
  • Profiller
    • 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
  • Gruplar
    • 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
  • Kanallar
    • GET /communities/{id}/channels
    • GET /channels/{id}/messages
    • POST /channels/{id}/messages
    • POST /channels/{id}/read
    • DELETE /channel-messages/{id}
    • GET /communities/{id}/voice
  • Grupları yönetmek
    • 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}
  • Botlar
    • GET /events
    • GET /events/stream
    • GET /me/commands
    • PUT /me/commands
    • POST /interactions/{id}/reply
    • POST /channels/{id}/voice
  • Keşfet
    • GET /tags
    • GET /search
    • GET /emojis
  • GIF’ler ve videolar
    • GET /media
    • GET /media/mine
    • GET /media/{id}
    • POST /media/uploads
    • PUT /media/uploads/{upload}
    • POST /media/{id}
    • DELETE /media/{id}
  • Hesabın
    • 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
  • Bildirimler
    • GET /notifications
    • POST /notifications/read
  • Mesajlar
    • 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}
  • İlişkiler
    • POST /relations
    • GET /profiles/{handle}/followers
    • GET /profiles/{handle}/following
    • GET /me/relations
  • Koleksiyonlar
    • GET /me/collections
    • POST /me/collections
    • PUT /me/collections/{id}
    • DELETE /me/collections/{id}
    • GET /me/collections/{id}/posts
    • POST /me/collections/{id}/posts
  • Hediyeler
    • GET /partner/quota
    • GET /partner/gifts
    • POST /partner/gifts
    • GET /gift-drops
    • POST /gift-drops

Nesneler

  • Nesneler
  • 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

Diğer

  • Makinenin okuyabildiği tanım
  • Diğer web sitelerinde GIF’ler ve videolar
  • tellmelo ile giriş
  • Beklediğimiz

Şunu istiyorum …

Ne planladığını seç; altında yalnızca bunun adımları var. Tam başvuru aşağıda devam eder.

  1. Botu gruplarından birinde, grup menüsünde “Botlar → Botlarım” altında resim, ad ve @adla oluştur. Tokenını yalnızca bir kez görürsün.
  2. “Bot ekle” bağlantısını paylaş ya da onu bot dizini için gönder; ekip kontrol ettikten sonra orada görünür. Bir grupta rolleri yönetebilen kişi onu onayladığı izinlerle alır.
  3. Gruplarında olanları akış olarak (GET /v2/events/stream) ya da adresine al, POST /v2/channels/{id}/messages ile yaz. Daha fazlası Botlar altında.
  4. Komutları kaydet (PUT /v2/me/commands) ve kartlar ile düğmelerle yanıtla; bot, sesli kanalda bir yerle müzik çalar (POST /v2/channels/{id}/voice).

Genel bakış

v2 ile kendi programların tellmelo ile konuşur: istek başına bir anahtar, yanıt olarak JSON, her liste aynı şekilde sayfalanır. Uygulamadaki kurallar geçerlidir.

  • Her yol https://api.tellmelo.com/v2 ile başlar.
  • İstekler ve yanıtlar UTF-8 kodlu JSON’dur. Alan adları, kodlar ve değerler İngilizcedir ve öyle kalır.
  • Bir anahtar hesabın olarak hareket eder: uygulamada göremediğini o da okuyamaz.
https://api.tellmelo.com/v2

Hızlı başlangıç

  1. “Geliştirici alanı → API” altında bir anahtar oluştur ve kopyala. Yalnızca bir kez gösterilir.
  2. Onunla kökü sorgula. Yanıt sürümü, anahtarın yetkilerini ve bu dakika kalan istekleri gösterir.
  3. Her yol aynı çalışır: anahtar başlıkta, yanıt JSON, listelerde items ve 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"
}

Sonra: profilin için /me, açık gönderiler için /posts, akışın için /feed.

Dene

Bir görev seç, alanları doldur ve isteği kopyala ya da buradan gönder. Yazma işlemleri önce sorar. Kod anahtarı TELLMELO_KEY içinden okur.

read API sürümü ve bu sunucunun adı.

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

Senin anahtarın

Hesap başına en fazla 10 anahtar; her biri adı, kendi izinleri ve istersen bir bitiş tarihiyle. Anahtar tm_key_ ile başlar ve yalnızca bir kez gösterilir. Kaybettin mi? Yenile; eski değer artık çalışmaz.

Onu “Geliştirici alanı → API” altında oluşturursun. İsteğin başlığında gider:

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

Ya da daha kolaysa kendi başlığında:

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

Adres satırına değil: orada kayıtlara ve tarayıcı geçmişine düşer.

Aynı anahtar görselleri de yükler: her url /api/media adresini gösterir; anahtarı orada da başlıkta gönder.

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

Bir anahtarın yapabildikleri

Bir anahtar her zaman okuyabilir; izin verirsen yazabilir, hediye edebilir, medya yükleyebilir ve grupları yönetebilir. Aşağıdaki her yol neye ihtiyaç duyduğunu söyler:

  • read: okumak. Herkese açık gönderiler, profiller, gruplar ve etiketler; ayrıca akışın, bildirimlerin, mesajların ve gruplarının kanalları.
  • write: işlem yapmak. Paylaşmak, yanıtlamak, oy vermek, mesaj göndermek, bir grubun sohbetinde yazmak, takip etmek, katılmak, engellemek, bildirimleri okundu işaretlemek.
  • gifts: hediye vermek. Bir partnerin kotasından bir üyeye ve yeni bir gönderinin altında hediyeler. Ayrı bir izin; böylece paylaşım için yapılmış bir anahtar asla bir şey dağıtamaz.
  • media: kendi medya kitaplığın. GIF ve video yükleme, değiştirme, paylaşma ve kaldırma. Ayrı bir izin, çünkü yüklemeler hesabın video puanlarını harcar. Paylaşılan GIF ve videoları bulmak için yalnızca read yeterli.
  • groups: Grupları yönetmek. Roller, kanallar, kategoriler, davet bağlantıları, akış kanalı, kaldırmalar, susturmalar, atmalar ve yasaklar; hesabının grupta yapabildiği kadar. Ayrı bir yetki, böylece paylaşım için bir anahtar bir grupta kimin neyi yapabileceğini asla değiştirmez.

Hiçbir anahtarın yapamayacağı

Hiçbir anahtar parolaya, e-posta adresine, hesap türüne, yere, role, silmeye, oturumlara, bildirim cihazlarına ya da başka anahtarlara uzanmaz; yönetime ve grup yönetimine de. Parolanın koruduğunu hiçbir anahtar yapamaz.

Botlar

Bot, gruplar için bot türünde ayrı bir hesaptır: şifresi ve e-postası yoktur, programın kendi anahtarıyla çalıştırır. Her hesapla aynı API’yi kullanır ve gruplarda rolünün izin verdiği her şeyi yapabilir.

  1. Gruplarından birinde grup menüsünü aç ve “Botlar → Botlarım” altında resim, kapak, ad, kullanıcı adı ve açıklamayla bir bot oluştur. Token yalnızca bir kez gösterilir; read, write, media ve groups izinlerine sahiptir.
  2. Botun bağlantısını paylaş ya da bot dizini için gönder; ekip kontrol eder etmez orada görünür. Bir grupta rolleri yönetebilen kişi izinleri seçer; bot katılır ve kendi rolünü alır.
  3. Programın tokenı Authorization: Bearer … olarak gönderir, gruplarının olaylarını akış olarak okur ve Botlar, Kanallar ve Gruplar altındaki yollarla çalışır.

Olayları akış olarak okuyan ve /ping komutuna yalnızca soran kişi için pong diye yanıt veren küçük bir bot:

// 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 });
    }
  }
}

Aynı bot Python'da, olayları sayfa sayfa alarak:

# 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)
  • Bir botun grupta ne yapabileceğini token değil, oradaki rolü belirler. Rol onun adını taşır; grup, rolün izinlerini grup ayarlarındaki roller bölümünde değiştirir ve botu grup menüsünde “Botlar → Bu grupta” altında kaldırır.
  • Hesap başına en fazla 5 bot; grup başına avantajlarının izin verdiği kadar. Bir bot grup başına dakikada en fazla 30 mesaj yazar, aramada bulunmaz ve yalnızca ona önce yazanlara yazar. Sınırlar geçerlidir.
  • Olaylar kendi HTTPS adresine de gelir (webhook'lar gibi imzalı, yeniden denemeli). Ayrıca: herkese ya da yalnızca sorana yanıtlı komutlar (PUT /v2/me/commands), mesajlarda kartlar ve düğmeler ve sesli kanalda müzik (POST /v2/channels/{id}/voice): hepsi Botlar altında.

İstekler ve yanıtlar

  • Her yerde JSON. Hatalar dahil her yanıt UTF-8 kodlu application/json’dur. Yalnızca görseller görsel olarak gelir.
  • Gönderdiğin. Bir POST alanlarını gövdede JSON olarak taşır. Bir alan adreste de varsa gövde geçerlidir.
  • Zamanlar 1 Ocak 1970’ten bu yana milisaniyedir, UTC.
  • ID’ler metindir. Yalnızca bütün olarak karşılaştır.
  • Her alan her zaman vardır. Olmayan null olur; listeler boş olabilir.
  • Metinler düz metindir, yazıldığı gibi. #etiketler, @adlar ve bağlantılar olduğu gibi kalır; sunucunun kendi emojileri de :name: olarak; görselleri /emojis altında listelenir.
  • Görseller göreli adreslerdir, /api/media?id=…. Başlıkta anahtar yoksa 401 gelir.

Sayfalar

Her liste limit ve cursor alır, items ve next ile yanıt verir. Sonraki sayfa için next değerini cursor olarak geri gönder; next boşsa bitti. İmleç opaktır: ayrıştırma, kendin oluşturma.

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

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

limit yoksa 20 kayıt, en fazla 50. Bazı listeler sayfalanmaz; next değerleri hep null olur.

Yalnızca yeni olan

Her yanıt bir ETag taşır. Bir sonraki sefer onu If-None-Match olarak gönder: hiçbir şey değişmediyse gövdesiz 304 gelir.

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

İstisnalar: sıralaması sürekli değiştiği için /feed için ETag yoktur ve yazma işlemleri asla 304 döndürmez.

Sınırlar

Bir anahtar dakikada 120 istek yapabilir, “Kurum” aboneliğiyle 600, yönetim başka bir sayı belirlemediyse. Üstünde 429 gelir ve hiçbir şey yürütülmez. Bir dakika bekle ve isteği yeniden gönder.

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

Yazma işlemleri ayrıca uygulamanın sınırlarına da sayılır, örneğin birkaç dakikada kaç gönderi. Bunlar da rate_limited ile 429 döndürür.

Başlıklar

Anahtar dışında hiçbir başlık zorunlu değildir.

Gönderdiklerin

BaşlıkAnlamı
AuthorizationAnahtarı taşır: Bearer tm_key_…. Olağan yol.
X-Tellmelo-KeyAnahtar, Authorization yerine.
Content-TypeGövdesi olan bir istek için application/json.
If-None-MatchSon yanıtın ETag değeri. O zamandan beri hiçbir şey değişmediyse yanıt gövdesiz 304 olur.

Geri gelenler

BaşlıkAnlamı
ETagBu yanıtın parmak izi (W/). If-None-Match olarak geri gönder.
X-RateLimit-LimitBu anahtarın dakikada kaç istek yapabileceği.
X-RateLimit-Remainingİçinde bulunulan dakikada bunlardan kaçının kaldığı.
X-RateLimit-ResetBir sonraki dakikanın ne zaman başladığı, 1970’ten beri saniye olarak, UTC.
X-Tellmelo-ScopeBu anahtarın neler yapabildiği: read ya da read write.
Retry-After429 ile birlikte: yeniden sormadan önce kaç saniye beklemen gerektiği.
WWW-AuthenticateAnahtarsız 401 durumunda: Bearer.
Cache-Controlno-store: hiçbir proxy yanıtı önbelleğe alamaz. Yine de ETag ile kontrol edebilirsin.

Bir şey olmazsa

Hatalar JSON olarak gelir: programın için error içinde sabit bir İngilizce kod, insanlar için message içinde bir cümle ve uygun durum kodu. Yalnızca kodu karşılaştır; cümle değişebilir.

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

Bazı hatalar bir alan daha getirir: eksik anahtar yüzünden gelen 401 ile docs, 429 ile limit.

DurumKodAnlamı
400bad_requestİstek okunamıyor, zorunlu bir alan eksik ya da bir değere izin verilmiyor.
401key_missingBaşlıkta anahtar yok.
401key_invalidAnahtar geçersiz: yanlış yazılmış, değiştirilmiş ya da hesap engellenmiş.
401unauthorizedAnahtar dışında bir nedenle oturum açılmamış sayılıp reddedildi.
403scope_missingAnahtarda gereken yetki yok, genellikle write.
403account_data_lockedParola, e-posta adresi ya da silme gibi hesap verileri anahtarlara kapalıdır.
403forbiddenHesabın bunu yapamaz, örneğin geri alınmış bir yetki ya da engelleme yüzünden.
403timed_outBir susturma hesabını şu anda bu grupta susturuyor.
404unknown_pathBöyle bir yol yok ya da bu yöntemle yok.
404not_foundBulunamadı ya da görmene izin yok.
409conflictZaten var olan bir şeyle çakışıyor, örneğin alınmış bir ad.
409feed_offBu grubun akış kanalı kapalı.
413too_largeBu sunucu için çok büyük.
422unprocessableOkunabilir ama bu biçimde mümkün değil.
429rate_limitedÇok fazla istek. Hiçbir şey olmadı; bekle ve tekrar dene.
500internal_errorSunucuda bir hata oldu.

Sürümler

Sürüm yolda yazar. Orada v2 yazdığı sürece yollar ve alanlar aynı kalır; yenilikler yalnızca eklenir.

Eklemeler ikinci sayıyı artırır. Her yol ne zamandan beri var olduğunu belirtir.

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/ artık yok: eski yollar 410 yanıtı verir ve gövdede yeni yolu belirtir.

Uç noktalar

Tüm yollar bir bakışta, ardından her biri örnekle.

YolYetkiNe işe yarar
Giriş
GET/v2readAPI sürümü ve bu sunucunun adı.
Gönderiler
GET/v2/postsreadAçık gönderiler, en yenisi önce.
GET/v2/posts/{id}readTek bir gönderi, id değeriyle.
POST/v2/postswriteBir gönderi yayımlamak.
DELETE/v2/posts/{id}writeKendi gönderilerinden birini kaldırmak.
GET/v2/me/scheduledreadHenüz yayımlanmamış gönderilerin ve neyi beklediklerini.
POST/v2/posts/{id}/schedulewritePlanlanmış bir gönderinin ne zaman yayımlanacağını ya da bir gönderinin ne zaman kendiliğinden silineceğini değiştirmek.
POST/v2/posts/{id}/editwriteKendi gönderinin metnini değiştirmek.
GET/v2/posts/{id}/reply-settingsreadKendi gönderine kimlerin yanıt verebileceği, yanıtların onay bekleyip beklemediği ve yavaş mod.
PUT/v2/posts/{id}/reply-settingswriteKendi gönderinin yanıt ayarlarını değiştir. Belirtmediğin her şey aynı kalır.
POST/v2/posts/{id}/coauthorwriteOrtak yazar davetini kabul et veya reddet.
DELETE/v2/posts/{id}/coauthorwriteOrtak yazarlıktan çekil veya yazar olarak ortak yazarı gönderiden çıkar.
POST/v2/posts/{id}/pinwriteKendi gönderini profilinin en üstüne sabitle veya sabitlemeyi kaldır.
Yanıtlar
GET/v2/posts/{id}/repliesreadBir gönderiye gelen yanıtlar, engellenen hesaplar hariç.
POST/v2/posts/{id}/replieswriteBir gönderiye yanıt vermek.
POST/v2/replies/{id}/editwriteKendi yanıtının metnini değiştirmek.
DELETE/v2/replies/{id}writeKendi yanıtını kaldırmak.
POST/v2/replies/{id}/likewriteBir yanıta artı oy ver (yanıtlar oylandığından beri beğeni bir artı oydur) ya da artı oyu geri al; eksi oy kalır.
POST/v2/replies/{id}/votewriteBir yanıta artı ya da eksi oy ver veya oyunu geri al. Oyunla birlikte sonraki puanı döndürür.
POST/v2/replies/{id}/pickwriteKendi gönderinin altındaki bir yanıtı en iyisi olarak öne çıkar veya öne çıkarmayı kaldır.
GET/v2/posts/{id}/replies/waitingreadBir gönderinin altında onay bekleyen yanıtlar: kendi gönderinde hepsi, değilse yalnızca seninkiler.
POST/v2/replies/{id}/decidewriteKendi gönderinin altında bekleyen bir yanıtı onayla veya reddet. Reddedilen yanıt silinir.
GET/v2/posts/{id}/replies/plannedreadBir gönderinin altında sonraya planladığın yanıtların.
PUT/v2/me/planned-replies/{id}writePlanlanmış bir yanıtın metnini veya zamanını değiştir. Başarısız olan yeniden bekler.
POST/v2/me/planned-replies/{id}/sendwritePlanlanmış bir yanıtı hemen gönder.
DELETE/v2/me/planned-replies/{id}writePlanlanmış bir yanıtı sil.
Anketler
POST/v2/posts/{id}/votewriteBir ankete katılmak.
Profiller
GET/v2/profiles/{handle}readBir profil, kısa adıyla.
GET/v2/profiles/{handle}/postsreadBir profilin açık gönderileri, en yenisi önce.
GET/v2/profiles/{handle}/eventsreadBir profilin yaklaşan etkinlikleri, en yakınlar önce.
POST/v2/me/eventswriteEtkinlik oluştur. id değerini döndürür.
PUT/v2/me/events/{id}writeEtkinliklerinden birini değiştir. Tüm alanlar yeniden ayarlanır.
DELETE/v2/me/events/{id}writeEtkinliklerinden birini sil.
GET/v2/me/events/{id}/signupsreadEtkinliklerinden birine kimlerin kaydolduğu.
POST/v2/events/{id}/signupwriteBir etkinliğe kaydol veya kaydını sil.
Gruplar
GET/v2/communitiesreadBu sunucunun açık grupları; mine=true ile hesabının grupları.
GET/v2/communities/{id}readTek bir grup, id değeriyle.
GET/v2/communities/{id}/postsreadBir grubun akış kanalındaki gönderiler, en yenisi önce.
GET/v2/communities/{id}/membersreadBir grubun üyeleri ve rolleri.
GET/v2/communities/{id}/rolesreadBir grubun rolleri, en üstteki önce, @everyone en sonda.
GET/v2/communities/{id}/bellreadBir grubun sana hangi bildirimleri gönderdiği.
GET/v2/invites/{code}readBir davet bağlantısının arkasındaki grup, katılmadan önce.
PUT/v2/roles/{id}/selfwriteKendi kendine seçilebilir bir rolü al ya da bırak.
GET/v2/communities/{id}/emojisreadBir grubun kendi emojileri.
PUT/v2/communities/{id}/bellwriteBir grubun sana hangi bildirimleri göndereceğini ayarlamak.
POST/v2/invites/{code}/joinwriteBir davet bağlantısıyla gruba katılmak.
GET/v2/communities/{id}/botsreadBir grubun botları ve rollerinin izin verdikleri.
Kanallar
GET/v2/communities/{id}/channelsreadBir grubun gördüğün kanalları, sıralarıyla.
GET/v2/channels/{id}/messagesreadBir sohbet kanalının mesajları, en yenisi önce.
POST/v2/channels/{id}/messageswriteBir sohbet kanalına mesaj yazmak.
POST/v2/channels/{id}/readwriteBir sohbet kanalını belli bir ana kadar okundu işaretlemek.
DELETE/v2/channel-messages/{id}writeBir sohbet kanalındaki kendi mesajını silmek.
GET/v2/communities/{id}/voicereadBir grubun sesli kanallarında şu an kimlerin olduğu, kanal kanal.
Grupları yönetmek
POST/v2/communities/{id}/emojisgroupsGruba bir emoji ekle.
DELETE/v2/communities/{id}/emojis/{name}groupsGruptan bir emojiyi kaldır.
POST/v2/communities/{id}/rolesgroupsBir rol oluşturmak.
PUT/v2/roles/{id}groupsBir rolün adını, rengini ve izinlerini değiştirmek.
DELETE/v2/roles/{id}groupsBir rolü silmek.
PUT/v2/communities/{id}/roles/ordergroupsRollerin sırasını belirlemek.
PUT/v2/roles/{id}/members/{member}groupsBir üyeye rol vermek veya almak.
POST/v2/communities/{id}/channelsgroupsBir sohbet kanalı oluşturmak.
PUT/v2/channels/{id}groupsBir kanalın adını, konusunu ve kategorisini değiştirmek.
DELETE/v2/channels/{id}groupsBir sohbet kanalını mesajlarıyla silmek.
PUT/v2/communities/{id}/channels/ordergroupsKategorilerin ve sohbet kanallarının sırasını belirlemek.
PUT/v2/communities/{id}/channels/shapegroupsGruptaki tüm kanal simgelerinin şeklini belirle.
GET/v2/channels/{id}/overridesgroupsRollerin bir kanalda gruptan farklı olarak yapabildikleri.
PUT/v2/channels/{id}/overrides/{role}groupsBir rolün bir kanalda farklı olarak neyi yapabileceğini belirlemek.
POST/v2/communities/{id}/categoriesgroupsKanallar için bir kategori oluşturmak.
PUT/v2/categories/{id}groupsBir kategoriyi yeniden adlandırmak.
DELETE/v2/categories/{id}groupsBir kategoriyi silmek.
PUT/v2/communities/{id}/feedgroupsBir grubun akış kanalını açmak veya kapatmak.
GET/v2/communities/{id}/invitesgroupsBir grubun hâlâ geçerli davet bağlantıları.
POST/v2/communities/{id}/invitesgroupsBir davet bağlantısı oluşturmak.
DELETE/v2/invites/{code}groupsBir davet bağlantısını geri almak.
POST/v2/channel-messages/{id}/removegroupsBaşka bir üyenin mesajını bir kanaldan kaldırmak.
POST/v2/communities/{id}/posts/{post}/removegroupsBir gönderiyi gruptan kaldırmak.
DELETE/v2/communities/{id}/members/{member}groupsBir üyeyi gruptan at.
PUT/v2/communities/{id}/members/{member}/timeoutgroupsBir üyeyi sustur.
DELETE/v2/communities/{id}/members/{member}/timeoutgroupsBir susturmayı kaldır.
GET/v2/communities/{id}/bansgroupsBir grubun süren yasakları.
PUT/v2/communities/{id}/bans/{member}groupsBir üyeyi yasakla.
DELETE/v2/communities/{id}/bans/{member}groupsBir yasağı kaldır.
GET/v2/communities/{id}/loggroupsYönetimin kaydı: kim neyi neden kaldırdı.
POST/v2/communitiesgroupsBir grup kur. id değerini döndürür; kurucusu sensin.
PUT/v2/communities/{id}groupsYönettiğin bir grubu değiştir. Belirtmediğin her şey aynı kalır.
Botlar
GET/v2/eventsreadBotun gruplarındaki olaylar, bir olaydan itibaren sayfa sayfa.
GET/v2/events/streamreadBotun gruplarındaki olaylar, gerçekleşir gerçekleşmez (server-sent events).
GET/v2/me/commandsreadBotun komutları.
PUT/v2/me/commandswriteBotun komutlarını hepsini birden belirle.
POST/v2/interactions/{id}/replywriteBir komuta ya da düğmeye yanıt ver.
POST/v2/channels/{id}/voicewriteMüzik ya da ses çalmak için sesli kanalda yer al.
Keşfet
GET/v2/tagsreadŞu anda öne çıkan etiketler.
GET/v2/searchreadGönderilerde, adlarda, kısa adlarda ve etiketlerde arama.
GET/v2/emojisreadSunucunun kendi emojileri, görsellerinin adresiyle birlikte.
GIF’ler ve videolar
GET/v2/mediareadPaylaşılan GIF’ler veya videolar, en çok kullanılanlar önce.
GET/v2/media/minemediaKendi medya kitaplığın, en yeniler önce.
GET/v2/media/{id}readBir GIF veya video; seninki ya da paylaşılan.
POST/v2/media/uploadsmediaBir yükleme başlat.
PUT/v2/media/uploads/{upload}mediaDosyanın bir parçasını gönder.
POST/v2/media/{id}mediaGIF’lerinden veya videolarından birini değiştir.
DELETE/v2/media/{id}mediaGIF’lerinden veya videolarından birini kaldır.
Hesabın
GET/v2/mereadKendi profilin, diğer yolların beklediği id ile.
GET/v2/feedreadKendi akışın, uygulamanın derlediği hâliyle.
POST/v2/me/pictureswriteBir resmi bayt olarak yükle. id ve url döndürür; sonra id değerini profil resmi, kapak veya gönderide kullanırsın.
PUT/v2/me/profileprofileProfilini değiştir: ad, hakkında, profil resmi, kapak ve profil rengi. Belirtmediğin her şey aynı kalır.
GET/v2/me/emojisreadKendi emojilerin.
POST/v2/me/emojis/picturesprofileKendi emojin için resmi bayt olarak yükle.
POST/v2/me/emojisprofileKendi emojini oluştur. Tüm emojilerini döndürür.
DELETE/v2/me/emojis/{name}profileKendi emojini kaldır. Kalanları döndürür.
PUT/v2/me/emojis/sharingprofileTakipçilerinin emojilerini kendi metinlerinde kullanıp kullanamayacağını belirle.
GET/v2/me/webhookswebhooksWebhook’ların ve durumları.
POST/v2/me/webhookswebhooksWebhook oluştur. id ve imzaların sırrını yalnızca bu seferlik döndürür.
DELETE/v2/me/webhooks/{id}webhooksWebhook’u sil.
POST/v2/me/webhooks/{id}/testwebhooksWebhook’a deneme gönder.
Bildirimler
GET/v2/notificationsreadBildirimlerin, en yenisi önce.
POST/v2/notifications/readwriteBildirimlerini okundu olarak işaretlemek.
Mesajlar
GET/v2/conversationsreadPosta kutun: her sohbet için bir satır, en yenisi önce.
GET/v2/conversations/{with}/messagesreadBir sohbetin mesajları, en yenisi önce.
POST/v2/conversations/{with}/messageswriteBir sohbete mesaj göndermek.
POST/v2/conversations/{with}/readwriteBir sohbetin bütün mesajlarını okundu olarak işaretle.
DELETE/v2/conversations/{with}/messages/{id}writeKendi mesajını silmek.
POST/v2/conversations/{with}/plannedwriteBir mesajı sonraya planla. Planlanan mesajın id değerini döndürür.
GET/v2/me/planned-messagesreadHenüz gönderilecek mesajların, zamana göre sıralı.
POST/v2/me/planned-messages/{id}/sendwriteBekletilen veya başarısız olan planlanmış bir mesajı şimdi gönder.
DELETE/v2/me/planned-messages/{id}writePlanlanmış bir mesajı gönderilmeden önce sil.
İlişkiler
POST/v2/relationswriteBeğenmek, kaydetmek, paylaşmak, takip etmek, katılmak, engellemek, sessize almak, kind değerine göre.
GET/v2/profiles/{handle}/followersreadBir profili kimlerin takip ettiği, en yeniler önce.
GET/v2/profiles/{handle}/followingreadBir profilin kimleri takip ettiği, en yeniler önce.
GET/v2/me/relationsreadEngellediğin, sessize aldığın veya yalnızca mesajlarda engellediğin hesaplar, en yeniler önce.
Koleksiyonlar
GET/v2/me/collectionsreadKoleksiyonların ve içlerindeki gönderi sayısı.
POST/v2/me/collectionswriteKoleksiyon oluştur. id değerini döndürür.
PUT/v2/me/collections/{id}writeKoleksiyonu yeniden adlandır.
DELETE/v2/me/collections/{id}writeKoleksiyonu sil.
GET/v2/me/collections/{id}/postsreadBir koleksiyonun gönderileri, kaydedilenler sekmesindeki gibi.
POST/v2/me/collections/{id}/postswriteBir gönderiyi koleksiyona koy veya çıkar.
Hediyeler
GET/v2/partner/quotareadKotanda hediye edilecek ne kaldığı.
GET/v2/partner/giftsreadKotandan kime, ne zaman ne verdiğin – en yenisi önce.
POST/v2/partner/giftsgiftsKotandan bir üyeye abonelik ayı ya da kıvılcım hediye etmek.
GET/v2/gift-dropsreadGönderilerinin altındaki hediyeler: kaç yerin hâlâ boş olduğu ve nasıl ödendiği.
POST/v2/gift-dropsgiftsBaşkalarının alabileceği hediyelerle bir gönderi yayımlamak.

Giriş

Her programın ilk isteği: anahtar çalışıyor mu, ne yapabilir?

GET/v2

API sürümü ve bu sunucunun adı.

  • Yetki read
  • ETag ile
  • v2.0 sürümünden beri

Sonda eğik çizgi olmadan: https://api.tellmelo.com/v2/, 308 ile https://api.tellmelo.com/v2 adresine yönlendirir ve her program bunu izlemez.

Örnek istek

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

Yanıt

Bir Service ile yanıt verir.

Örnek
{
  "name": "tellmelo",
  "version": "2.20",
  "scope": "read write",
  "rateLimit": {
    "limit": 120,
    "remaining": 117
  },
  "docs": "/developers/docs",
  "spec": "/api/v2/openapi.json"
}

Olası durumlar: 200304401429

Gönderiler

Herkese açık gönderileri okumak, kendi gönderilerini yayımlamak ve yeniden kaldırmak.

GET/v2/posts

Açık gönderiler, en yenisi önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.0 sürümünden beri

Açık yollarda counts.likes ve counts.reposts her zaman 0, pinned ise false olur.

Gruplardaki gönderiler burada değil, /communities/{id}/posts altında.

Parametreler

AdTürAnlamı
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa Post ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304401429

GET/v2/posts/{id}

Tek bir gönderi, id değeriyle.

  • Yetki read
  • ETag ile
  • v2.0 sürümünden beri

Açık yollarda counts.likes ve counts.reposts her zaman 0, pinned ise false olur.

Gruplardaki gönderiler burada değil, /communities/{id}/posts altında.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.

Örnek istek

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

Yanıt

Bir Post ile yanıt verir.

Örnek
{
  "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
}

Olası durumlar: 200304400401404429

POST/v2/posts

Bir gönderi yayımlamak.

  • Yetki write
  • v2.0 sürümünden beri

Bir gönderi metin ya da anket gerektirir. Uzunluğu, seçenekleri ve hızı sunucu belirler; aşılırsa 400 ya da 429 gelir.

media ile resim, bir GIF veya bir video ekle. GIF veya video tek başına durur. Başkalarının paylaştığı GIF ve videoları tellmelo’da kullanabilirsin.

Yakın arkadaşlara özel veya ortak yazarlı bir gönderi hemen yayımlanır; grupta veya planlı olamaz. İkisi aynı anda olmaz.

Parametreler

AdTürAnlamı
textgövdedestringisteğe bağlıGönderinin, yanıtın ya da mesajın metni.
communitygövdedestringisteğe bağlıGönderinin gideceği akış kanalının grubunun id’si; kanal açık olmalı ve bunun için iznin olmalı. Olmadan gönderi hiçbir grubun içinde olmaz.
quotesgövdedestringisteğe bağlıBu gönderinin alıntıladığı gönderinin id değeri.
pollgövdedestring[]isteğe bağlıSeçenekler, metin listesi olarak.
mediagövdedestring[]isteğe bağlıUygulamada yüklenen resimlerin ya da medya kitaplığındaki bir GIF veya videonun ID’leri (2.14’ten beri).
audiencegövdedestringisteğe bağlıGönderiyi kim görür: everyone görebilen herkes, close yalnızca yakın arkadaşların.everyoneclose
coauthorgövdedestringisteğe bağlıOrtak yazar olarak davet ettiğin hesabın id değeri. Birbirinizi takip etmeniz gerekir.

Örnek istek

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"

Yanıt

Bir Created ile yanıt verir.

Örnek
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "scheduledFor": null,
  "deleteAt": null
}

Olası durumlar: 200400401403429

DELETE/v2/posts/{id}

Kendi gönderilerinden birini kaldırmak.

  • Yetki write
  • v2.0 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

GET/v2/me/scheduled

Henüz yayımlanmamış gönderilerin ve neyi beklediklerini.

  • Yetki read
  • ETag ile
  • v2.12 sürümünden beri

Örnek istek

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

Yanıt

Bir sayfa ScheduledPost ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304401429

POST/v2/posts/{id}/schedule

Planlanmış bir gönderinin ne zaman yayımlanacağını ya da bir gönderinin ne zaman kendiliğinden silineceğini değiştirmek.

  • Yetki write
  • v2.12 sürümünden beri

Yalnızca kendi gönderilerin. Bir gönderinin hediyeleri ödenmediği sürece planlanamaz.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.
publishAtgövdedeintegeristeğe bağlıPlanlanmış gönderinin yayımlanacağı zaman, 1970’ten beri milisaniye olarak.
deleteAtgövdedeintegeristeğe bağlıGönderinin kendiliğinden silineceği zaman, 1970’ten beri milisaniye olarak.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/posts/{id}/edit

Kendi gönderinin metnini değiştirmek.

  • Yetki write
  • v2.12 sürümünden beri

Yalnızca aboneliğinin tanıdığı düzenleme süresi içinde. Planlanmış gönderiler düzenlenemez.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.
textgövdedestringzorunluGönderinin, yanıtın ya da mesajın metni.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Kendi gönderine kimlerin yanıt verebileceği, yanıtların onay bekleyip beklemediği ve yavaş mod.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.

Örnek istek

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

Yanıt

Bir ReplySettings ile yanıt verir.

Örnek
{
  "audience": "following",
  "approval": false,
  "slow": "auto"
}

Olası durumlar: 200304400401404429

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

Kendi gönderinin yanıt ayarlarını değiştir. Belirtmediğin her şey aynı kalır.

  • Yetki write
  • v2.19 sürümünden beri

Yalnızca kendi gönderilerin.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.
audiencegövdedestringisteğe bağlıKimler yanıt verebilir: herkes, takip ettiğin hesaplar, bahsedilenler veya kimse.allfollowingmentionednobody
approvalgövdedebooleanisteğe bağlıYanıtların yalnızca senin onayından sonra görünüp görünmeyeceği.
slowgövdedestringisteğe bağlıYavaş mod: auto çok yanıt gelince kendiliğinden açılır, on her zaman, off hiçbir zaman.autoonoff

Örnek istek

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"

Yanıt

Bir ReplySettings ile yanıt verir.

Örnek
{
  "audience": "following",
  "approval": false,
  "slow": "auto"
}

Olası durumlar: 200400401403404429

POST/v2/posts/{id}/coauthor

Ortak yazar davetini kabul et veya reddet.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.
acceptgövdedebooleanzorunlutrue daveti kabul eder, false reddeder.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

DELETE/v2/posts/{id}/coauthor

Ortak yazarlıktan çekil veya yazar olarak ortak yazarı gönderiden çıkar.

  • Yetki write
  • v2.19 sürümünden beri

Ortak yazar ve gönderinin yazarı için.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/posts/{id}/pin

Kendi gönderini profilinin en üstüne sabitle veya sabitlemeyi kaldır.

  • Yetki write
  • v2.19 sürümünden beri

Yalnızca kendi görünür gönderilerin. Kaç tane sabitleyebileceğin aboneliğe bağlıdır.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.
activegövdedebooleanzorunlutrue gönderiyi sabitler, false sabitlemeyi kaldırır.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

Yanıtlar

Bir gönderinin altındaki yanıtlar, parentId içeren bir liste olarak.

GET/v2/posts/{id}/replies

Bir gönderiye gelen yanıtlar, engellenen hesaplar hariç.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.0 sürümünden beri

Liste düzdür ve yazılış sırasındadır; parentId onu ağaca çevirir. Bir sayfa her zaman tam dizileri içerir. Engellenen hesapların yanıtları yer almaz.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa Reply ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304400401404429

POST/v2/posts/{id}/replies

Bir gönderiye yanıt vermek.

  • Yetki write
  • v2.0 sürümünden beri

Yavaş modda kişi başına 10 dakikada bir yanıt, yoksa 429. Yazar ve takip ettiği hesaplar muaftır.

media ile en fazla bir resim, GIF veya video.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.
textgövdedestringzorunluGönderinin, yanıtın ya da mesajın metni.
parentIdgövdedestringisteğe bağlıBu yanıtın yanıtladığı yanıtın id değeri. Verilmezse doğrudan gönderiye.
mediagövdedestring[]isteğe bağlıUygulamada yüklenen resimlerin ya da medya kitaplığındaki bir GIF veya videonun ID’leri (2.14’ten beri).
publishAtgövdedeintegeristeğe bağlıYanıtın ne zaman yayımlanacağı, 1970’ten beri milisaniye olarak. Verilmezse hemen gider.

Örnek istek

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"

Yanıt

Bir Created ile yanıt verir.

Örnek
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "scheduledFor": null,
  "deleteAt": null
}

Olası durumlar: 200400401403404429

POST/v2/replies/{id}/edit

Kendi yanıtının metnini değiştirmek.

  • Yetki write
  • v2.12 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluYanıtın kimliği.
textgövdedestringzorunluGönderinin, yanıtın ya da mesajın metni.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

DELETE/v2/replies/{id}

Kendi yanıtını kaldırmak.

  • Yetki write
  • v2.12 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluYanıtın kimliği.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/replies/{id}/like

Bir yanıta artı oy ver (yanıtlar oylandığından beri beğeni bir artı oydur) ya da artı oyu geri al; eksi oy kalır.

  • Yetki write
  • v2.12 sürümünden beri
  • eskidi

2.19’dan beri eskidi: POST /replies/{id}/vote kullan. Bu yol şimdilik kalıyor.

Parametreler

AdTürAnlamı
idyoldastringzorunluYanıtın kimliği.
activegövdedebooleanzorunlutrue ilişkiyi kurar, false geri alır.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/replies/{id}/vote

Bir yanıta artı ya da eksi oy ver veya oyunu geri al. Oyunla birlikte sonraki puanı döndürür.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluYanıtın kimliği.
votegövdedestringzorunluup artı oy, down eksi oy verir, none oyunu geri alır.updownnone

Örnek istek

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"

Yanıt

Bir ReplyVote ile yanıt verir.

Örnek
{
  "vote": "up",
  "score": 12
}

Olası durumlar: 200400401403404429

POST/v2/replies/{id}/pick

Kendi gönderinin altındaki bir yanıtı en iyisi olarak öne çıkar veya öne çıkarmayı kaldır.

  • Yetki write
  • v2.19 sürümünden beri

Yalnızca kendi gönderilerinin altında ve yalnızca gönderiye doğrudan verilen yanıtlar. Yeni öne çıkarma eskisinin yerini alır.

Parametreler

AdTürAnlamı
idyoldastringzorunluYanıtın kimliği.
activegövdedebooleanzorunlutrue yanıtı öne çıkarır, false öne çıkarmayı kaldırır.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Bir gönderinin altında onay bekleyen yanıtlar: kendi gönderinde hepsi, değilse yalnızca seninkiler.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Yanıtların bekleyip beklemeyeceğini yazar yanıt ayarlarında belirler.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.

Örnek istek

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

Yanıt

Bir sayfa Reply ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304400401404429

POST/v2/replies/{id}/decide

Kendi gönderinin altında bekleyen bir yanıtı onayla veya reddet. Reddedilen yanıt silinir.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluYanıtın kimliği.
approvegövdedebooleanzorunlutrue yanıtı onaylar, false reddeder.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Bir gönderinin altında sonraya planladığın yanıtların.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Yanıt verirken publishAt ile planlanır. Aynı anda en fazla 20 planlanmış yanıt.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.

Örnek istek

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

Yanıt

Bir sayfa PlannedReply ile yanıt verir, `items` ve `next` olarak.

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

Olası durumlar: 200304400401404429

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

Planlanmış bir yanıtın metnini veya zamanını değiştir. Başarısız olan yeniden bekler.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluPlanlanan yanıtın id değeri.
textgövdedestringisteğe bağlıGönderinin, yanıtın ya da mesajın metni.
publishAtgövdedeintegeristeğe bağlıYanıtın ne zaman yayımlanacağı, 1970’ten beri milisaniye olarak. Verilmezse hemen gider.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Planlanmış bir yanıtı hemen gönder.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluPlanlanan yanıtın id değeri.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Planlanmış bir yanıtı sil.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluPlanlanan yanıtın id değeri.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

Anketler

Anket, poll alanı dolu olan bir gönderidir. Oy vermenin kendi yolu vardır.

POST/v2/posts/{id}/vote

Bir ankete katılmak.

  • Yetki write
  • v2.0 sürümünden beri

Seçenek başına oylar sen oy verene ya da anket bitene kadar null olur. total her zaman vardır.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir gönderinin id değeri.
optiongövdedeintegerzorunluHangi seçenek, 0’dan sayılır. Çoklu seçimde her seçenek için bir çağrı.
retractgövdedebooleanisteğe bağlıtrue oyu geri alır.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

Profiller

Kısa adlarıyla herkese açık profiller ve paylaştıkları.

GET/v2/profiles/{handle}

Bir profil, kısa adıyla.

  • Yetki read
  • ETag ile
  • v2.0 sürümünden beri

Parametreler

AdTürAnlamı
handleyoldastringzorunluBir profilin kısa adı; büyük ya da küçük harf fark etmez.

Örnek istek

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

Yanıt

Bir Profile ile yanıt verir.

Örnek
{
  "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
}

Olası durumlar: 200304400401404429

GET/v2/profiles/{handle}/posts

Bir profilin açık gönderileri, en yenisi önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.0 sürümünden beri

Açık yollarda counts.likes ve counts.reposts her zaman 0, pinned ise false olur.

Gruplardaki gönderiler burada değil, /communities/{id}/posts altında.

Parametreler

AdTürAnlamı
handleyoldastringzorunluBir profilin kısa adı; büyük ya da küçük harf fark etmez.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa Post ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304400401404429

GET/v2/profiles/{handle}/events

Bir profilin yaklaşan etkinlikleri, en yakınlar önce.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Yalnızca profilin aboneliği etkinlikleri içerdiği sürece. Birbirini engelleyen hesaplar arasında hiçbir şey.

Parametreler

AdTürAnlamı
handleyoldastringzorunluBir profilin kısa adı; büyük ya da küçük harf fark etmez.

Örnek istek

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

Yanıt

Bir sayfa Event ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304400401404429

POST/v2/me/events

Etkinlik oluştur. id değerini döndürür.

  • Yetki write
  • v2.19 sürümünden beri

Etkinlikli bir abonelik gerekir, yoksa 403. Kaç tane yaklaşan olabileceği aboneliğe bağlıdır.

Parametreler

AdTürAnlamı
titlegövdedestringzorunluBaşlık.
startsAtgövdedeintegerzorunluBaşlangıç, 1970’ten beri milisaniye olarak.
endsAtgövdedeintegeristeğe bağlıBitiş, 1970’ten beri milisaniye olarak. İsteğe bağlı.
placegövdedestringisteğe bağlıNerede yapılacağı.
descriptiongövdedestringisteğe bağlıBir açıklama.
signupsgövdedebooleanisteğe bağlıKayıt olunup olunamayacağı. Kayıtlı bir abonelik gerekir.
capacitygövdedeintegeristeğe bağlıEn fazla kaç kişinin kaydolabileceği. Belirtilmezse sınır yok.

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403429

PUT/v2/me/events/{id}

Etkinliklerinden birini değiştir. Tüm alanlar yeniden ayarlanır.

  • Yetki write
  • v2.19 sürümünden beri

Başlamış bir etkinlik başlangıcını korur.

Parametreler

AdTürAnlamı
idyoldastringzorunluEtkinliğin id değeri.
titlegövdedestringzorunluBaşlık.
startsAtgövdedeintegerzorunluBaşlangıç, 1970’ten beri milisaniye olarak.
endsAtgövdedeintegeristeğe bağlıBitiş, 1970’ten beri milisaniye olarak. İsteğe bağlı.
placegövdedestringisteğe bağlıNerede yapılacağı.
descriptiongövdedestringisteğe bağlıBir açıklama.
signupsgövdedebooleanisteğe bağlıKayıt olunup olunamayacağı. Kayıtlı bir abonelik gerekir.
capacitygövdedeintegeristeğe bağlıEn fazla kaç kişinin kaydolabileceği. Belirtilmezse sınır yok.

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

DELETE/v2/me/events/{id}

Etkinliklerinden birini sil.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluEtkinliğin id değeri.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Etkinliklerinden birine kimlerin kaydolduğu.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluEtkinliğin id değeri.

Örnek istek

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

Yanıt

Bir sayfa EventSignup ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "at": 1758624000000
    }
  ],
  "next": null
}

Olası durumlar: 200304400401404429

POST/v2/events/{id}/signup

Bir etkinliğe kaydol veya kaydını sil.

  • Yetki write
  • v2.19 sürümünden beri

Yalnızca kayıtlı etkinliklerde, kendi etkinliklerinde değil. Doluysa 409.

Parametreler

AdTürAnlamı
idyoldastringzorunluEtkinliğin id değeri.
goinggövdedebooleanzorunlutrue seni kaydeder, false kaydını siler.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

Gruplar

Açık gruplar ve kendi grupların; gönderileri, üyeleri, rolleri ve davet bağlantıları.

GET/v2/communities

Bu sunucunun açık grupları; mine=true ile hesabının grupları.

  • Yetki read
  • ETag ile
  • v2.0 sürümünden beri

Üye sayısına göre sıralıdır ve sayfalanmaz; next her zaman null.

Parametreler

AdTürAnlamı
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
mineadrestebooleanisteğe bağlıHesabının grupları için true; dahili ve gizli olanlar da, ada göre.

Örnek istek

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

Yanıt

Bir sayfa Community ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304401429

GET/v2/communities/{id}

Tek bir grup, id değeriyle.

  • Yetki read
  • ETag ile
  • v2.0 sürümünden beri

Dahili ve gizli gruplar yalnızca hesabın üyeyse.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir Community ile yanıt verir.

Örnek
{
  "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
  }
}

Olası durumlar: 200304400401404429

GET/v2/communities/{id}/posts

Bir grubun akış kanalındaki gönderiler, en yenisi önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.0 sürümünden beri

Açık yollarda counts.likes ve counts.reposts her zaman 0, pinned ise false olur.

Akış kanalı kapalıysa yol 409 ve feed_off ile yanıt verir.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa Post ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304400401404429

GET/v2/communities/{id}/members

Bir grubun üyeleri ve rolleri.

  • Yetki read
  • ETag ile
  • v2.15 sürümünden beri

Önce yönetim, sonra en üst role göre; en fazla 300.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa GroupMember ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304400401404429

GET/v2/communities/{id}/roles

Bir grubun rolleri, en üstteki önce, @everyone en sonda.

  • Yetki read
  • ETag ile
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa Role ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304400401404429

GET/v2/communities/{id}/bell

Bir grubun sana hangi bildirimleri gönderdiği.

  • Yetki read
  • ETag ile
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir Bell ile yanıt verir.

Örnek
{
  "level": "important"
}

Olası durumlar: 200304400401404429

GET/v2/invites/{code}

Bir davet bağlantısının arkasındaki grup, katılmadan önce.

  • Yetki read
  • ETag ile
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
codeyoldastringzorunluBir davet bağlantısının kodu, adresinin sonu.

Örnek istek

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

Yanıt

Bir InvitePreview ile yanıt verir.

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

Olası durumlar: 200304400401404429

PUT/v2/roles/{id}/self

Kendi kendine seçilebilir bir rolü al ya da bırak.

  • Yetki write
  • v2.20 sürümünden beri

Yalnızca yönetimin kendi kendine seçilebilir olarak sunduğu roller (selfable) ve yalnızca kendi hesabın için.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir rolün id’si.
activegövdedebooleanisteğe bağlıfalse rolü alır; aksi halde rol verilir.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

GET/v2/communities/{id}/emojis

Bir grubun kendi emojileri.

  • Yetki read
  • ETag ile
  • v2.20 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa GroupEmoji ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "seedling",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false
    }
  ],
  "next": null
}

Olası durumlar: 200304400401404429

PUT/v2/communities/{id}/bell

Bir grubun sana hangi bildirimleri göndereceğini ayarlamak.

  • Yetki write
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
levelgövdedestringzorunluHangi bildirimlerin geleceği.allimportantoff

Örnek istek

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"

Yanıt

Bir Bell ile yanıt verir.

Örnek
{
  "level": "important"
}

Olası durumlar: 200400401403404429

POST/v2/invites/{code}/join

Bir davet bağlantısıyla gruba katılmak.

  • Yetki write
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
codeyoldastringzorunluBir davet bağlantısının kodu, adresinin sonu.
rulesgövdedebooleanisteğe bağlıGrubun kurallarını kabul ediyorsan true; kuralları varsa gerekli.

Örnek istek

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

Yanıt

Bir Joined ile yanıt verir.

Örnek
{
  "community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"
}

Olası durumlar: 200400401403404429

GET/v2/communities/{id}/bots

Bir grubun botları ve rollerinin izin verdikleri.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa GroupBot ile yanıt verir, `items` ve `next` olarak.

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

Olası durumlar: 200304400401404429

Kanallar

Gruplarının kanalları ve sohbetleri: okumak, yazmak, okundu işaretlemek.

GET/v2/communities/{id}/channels

Bir grubun gördüğün kanalları, sıralarıyla.

  • Yetki read
  • ETag ile
  • v2.15 sürümünden beri

Akış kanalı (kind: feed) burada yalnızca açıkken yer alır; gönderileri /communities/{id}/posts üzerinden gelir.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa Channel ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304400401404429

GET/v2/channels/{id}/messages

Bir sohbet kanalının mesajları, en yenisi önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.15 sürümünden beri

Sayfa başına en fazla 50 mesaj. Engellediğin veya seni engelleyen hesapların mesajları yer almaz.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kanalın id’si.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.
threadadrestestringisteğe bağlıKonusu okunan mesaj: sohbet yerine kendisi ve yanıtları.

Örnek istek

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

Yanıt

Bir sayfa ChannelMessage ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304400401404429

POST/v2/channels/{id}/messages

Bir sohbet kanalına mesaj yazmak.

  • Yetki write
  • v2.15 sürümünden beri

@ad bir üyeyi bilgilendirir, @everyone iznin varsa herkesi, saatte en fazla altı kez.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kanalın id’si.
textgövdedestringisteğe bağlıGönderinin, yanıtın ya da mesajın metni.
replyTogövdedestringisteğe bağlıAynı kanalda yanıtladığın mesajın id’si.
mediagövdedestring[]isteğe bağlıUygulamada yüklenen resimlerin ya da medya kitaplığındaki bir GIF veya videonun ID’leri (2.14’ten beri).
threadgövdedestringisteğe bağlıKonusunda yanıt verilen sohbet mesajı; o olmadan mesaj sohbete gider.
cardgövdedeobjectisteğe bağlıBir kart { title, text, color, fields: [{ name, value }] }, en fazla 10 alan.
buttonsgövdedeobject[]isteğe bağlıEn fazla 5 düğme, her biri { id, label, style }, style primary, secondary ya da danger. Basış interaction olayı olarak gelir.

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

POST/v2/channels/{id}/read

Bir sohbet kanalını belli bir ana kadar okundu işaretlemek.

  • Yetki write
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kanalın id’si.
atgövdedeintegerzorunluNereye kadar okunduğu, milisaniye olarak; genellikle en yeni mesajın createdAt değeri.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

DELETE/v2/channel-messages/{id}

Bir sohbet kanalındaki kendi mesajını silmek.

  • Yetki write
  • v2.15 sürümünden beri

Yalnızca kendi mesajların; başkalarının mesajlarını yönetim groups izniyle kaldırır.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir sohbet kanalındaki mesajın id’si.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

GET/v2/communities/{id}/voice

Bir grubun sesli kanallarında şu an kimlerin olduğu, kanal kanal.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Yalnızca görebildiğin kanallar. Medya sunucusu yoksa liste boştur.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa VoiceRoom ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304400401404429

Grupları yönetmek

Bir grubun ayarlarının uygulamada yapabildikleri, groups izniyle. Hesabının neyi yapabileceğine grup uygulamadaki gibi karar verir: yönetim, roller ve sıraları.

POST/v2/communities/{id}/emojis

Gruba bir emoji ekle.

  • Yetki groups
  • v2.20 sürümünden beri

Yalnızca grubun kanallarını yönetebilenler. Resim kendi emojin gibi yüklenir (POST /me/emojis/pictures); bir ad tüm emojiler arasında yalnızca bir kez verilir.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
namegövdedestringzorunluEmojiyi yazdığın ad, :ad: şeklinde.
picturegövdedestringzorunluPOST /me/emojis/pictures yanıtındaki id.

Örnek istek

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"

Yanıt

Bir sayfa GroupEmoji ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "seedling",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false
    }
  ],
  "next": null
}

Olası durumlar: 200400401403404429

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

Gruptan bir emojiyi kaldır.

  • Yetki groups
  • v2.20 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
nameyoldastringzorunluEmojinin adı, iki nokta olmadan.

Örnek istek

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

Yanıt

Bir sayfa GroupEmoji ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "seedling",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false
    }
  ],
  "next": null
}

Olası durumlar: 200400401403404429

POST/v2/communities/{id}/roles

Bir rol oluşturmak.

  • Yetki groups
  • v2.15 sürümünden beri

Yalnızca en üst rolünün altındaki roller ve yalnızca kendinde olan izinler; yönetim hepsinin üstündedir.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
namegövdedestringisteğe bağlıRolün adı; @everyone kendi adını korur.
colorgövdedestringisteğe bağlıRenk; hiçbiri için boş.indigovioletroseambergreenteal
permissionsgövdedestring[]isteğe bağlıYetkiler: view, send, attach, post_feed, invite, mention_everyone, moderate, timeout_members, kick_members, ban_members, manage_channels, manage_roles.
selfablegövdedebooleanisteğe bağlıtrue: üyeler rolü kendileri alır. Yalnızca katılmaktan fazlasına izin vermeyen roller için (view, send, attach, voice_connect, voice_speak, voice_video).

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

PUT/v2/roles/{id}

Bir rolün adını, rengini ve izinlerini değiştirmek.

  • Yetki groups
  • v2.15 sürümünden beri

Adı, rengi ve izinleri değiştirir; bıraktığın alan boş olur.

Yalnızca en üst rolünün altındaki roller ve yalnızca kendinde olan izinler; yönetim hepsinin üstündedir.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir rolün id’si.
namegövdedestringisteğe bağlıRolün adı; @everyone kendi adını korur.
colorgövdedestringisteğe bağlıRenk; hiçbiri için boş.indigovioletroseambergreenteal
permissionsgövdedestring[]isteğe bağlıYetkiler: view, send, attach, post_feed, invite, mention_everyone, moderate, timeout_members, kick_members, ban_members, manage_channels, manage_roles.
selfablegövdedebooleanisteğe bağlıtrue: üyeler rolü kendileri alır. Yalnızca katılmaktan fazlasına izin vermeyen roller için (view, send, attach, voice_connect, voice_speak, voice_video).

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

DELETE/v2/roles/{id}

Bir rolü silmek.

  • Yetki groups
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir rolün id’si.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Rollerin sırasını belirlemek.

  • Yetki groups
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
rolesgövdedestring[]zorunluKendi en yüksek rolünün altındaki tüm rollerin id değerleri, en yüksek olan önce; yönetim için @everyone dışındaki tümü.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Bir üyeye rol vermek veya almak.

  • Yetki groups
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir rolün id’si.
memberyoldastringzorunluBir üyenin hesabının id’si.
activegövdedebooleanisteğe bağlıfalse rolü alır; aksi halde rol verilir.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/communities/{id}/channels

Bir sohbet kanalı oluşturmak.

  • Yetki groups
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
namegövdedestringisteğe bağlıAd, # olmadan; uygulamanın her dilde verdiği ad için boş.
topicgövdedestringisteğe bağlıKanalın üstünde görünen konu.
categorygövdedestringisteğe bağlıKanalın gireceği kategorinin id’si; hiçbiri için boş.
emojigövdedestringisteğe bağlıSimge olarak bir emoji.
icongövdedestringisteğe bağlıUygulamanın setinden bir simge, adıyla.homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile
imagegövdedestringisteğe bağlı/media/emoji ile yüklediğin bir resmin kimliği.
colorgövdedestringisteğe bağlıKutucuğun rengi.brandindigovioletroseambergreentealred
shapegövdedestringisteğe bağlıKutucuğun şekli; yoksa daire.circlesquaretrianglediamondhexagonoctagonshieldstar

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

PUT/v2/channels/{id}

Bir kanalın adını, konusunu ve kategorisini değiştirmek.

  • Yetki groups
  • v2.15 sürümünden beri

Adı, konuyu ve kategoriyi değiştirir; bıraktığın alan boş olur.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kanalın id’si.
namegövdedestringisteğe bağlıAd, # olmadan; uygulamanın her dilde verdiği ad için boş.
topicgövdedestringisteğe bağlıKanalın üstünde görünen konu.
categorygövdedestringisteğe bağlıKanalın gireceği kategorinin id’si; hiçbiri için boş.
emojigövdedestringisteğe bağlıSimge olarak bir emoji.
icongövdedestringisteğe bağlıUygulamanın setinden bir simge, adıyla.homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile
imagegövdedestringisteğe bağlı/media/emoji ile yüklediğin bir resmin kimliği.
colorgövdedestringisteğe bağlıKutucuğun rengi.brandindigovioletroseambergreentealred
shapegövdedestringisteğe bağlıKutucuğun şekli; yoksa daire.circlesquaretrianglediamondhexagonoctagonshieldstar

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

DELETE/v2/channels/{id}

Bir sohbet kanalını mesajlarıyla silmek.

  • Yetki groups
  • v2.15 sürümünden beri

Akış kanalı silinemez, yalnızca kapatılabilir.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kanalın id’si.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Kategorilerin ve sohbet kanallarının sırasını belirlemek.

  • Yetki groups
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
categoriesgövdedestring[]zorunluGrubun tüm kategorilerinin id’leri, yeni sırayla.
channelsgövdedestring[]zorunluGrubun tüm sohbet kanallarının id’leri, yeni sırayla.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Gruptaki tüm kanal simgelerinin şeklini belirle.

  • Yetki groups
  • v2.20 sürümünden beri

Yalnızca grubun yönetimi.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
shapegövdedestringisteğe bağlıGruptaki tüm simgelerin şekli; verilmezse her kanalın kendi şekli olur.circlesquaretrianglediamondhexagonoctagonshieldstar

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

GET/v2/channels/{id}/overrides

Rollerin bir kanalda gruptan farklı olarak yapabildikleri.

  • Yetki groups
  • ETag ile
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kanalın id’si.

Örnek istek

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

Yanıt

Bir sayfa ChannelOverride ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "role": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
      "allow": [
        "send"
      ],
      "deny": []
    }
  ],
  "next": null
}

Olası durumlar: 200304400401403404429

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

Bir rolün bir kanalda farklı olarak neyi yapabileceğini belirlemek.

  • Yetki groups
  • v2.15 sürümünden beri

Senin en üst rolüne eşit veya üstündeki roller için değil.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kanalın id’si.
roleyoldastringzorunluBir rolün id’si.
allowgövdedestring[]isteğe bağlıRolün burada ek olarak yapabildikleri: sohbette view, send, attach, mention_everyone, moderate, akış kanalında view ve post_feed.
denygövdedestring[]isteğe bağlıRolün burada yapamadıkları, aynı izinlerden. İki liste de boşsa fark kalkar.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/communities/{id}/categories

Kanallar için bir kategori oluşturmak.

  • Yetki groups
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
namegövdedestringzorunluKategorinin adı.
emojigövdedestringisteğe bağlıSimge olarak bir emoji.
icongövdedestringisteğe bağlıUygulamanın setinden bir simge, adıyla.homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile
imagegövdedestringisteğe bağlı/media/emoji ile yüklediğin bir resmin kimliği.
colorgövdedestringisteğe bağlıKutucuğun rengi.brandindigovioletroseambergreentealred

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

PUT/v2/categories/{id}

Bir kategoriyi yeniden adlandırmak.

  • Yetki groups
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kategorinin id’si.
namegövdedestringzorunluKategorinin adı.
emojigövdedestringisteğe bağlıSimge olarak bir emoji.
icongövdedestringisteğe bağlıUygulamanın setinden bir simge, adıyla.homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile
imagegövdedestringisteğe bağlı/media/emoji ile yüklediğin bir resmin kimliği.
colorgövdedestringisteğe bağlıKutucuğun rengi.brandindigovioletroseambergreentealred

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

DELETE/v2/categories/{id}

Bir kategoriyi silmek.

  • Yetki groups
  • v2.15 sürümünden beri

Kanalları kategorisiz olarak kalır.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kategorinin id’si.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

PUT/v2/communities/{id}/feed

Bir grubun akış kanalını açmak veya kapatmak.

  • Yetki groups
  • v2.15 sürümünden beri

Kapalıyken gönderiler saklı kalır ama yalnızca yazarları görür.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
ongövdedebooleanzorunlutrue akış kanalını açar, false kapatır.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

GET/v2/communities/{id}/invites

Bir grubun hâlâ geçerli davet bağlantıları.

  • Yetki groups
  • ETag ile
  • v2.15 sürümünden beri

Yönetim hepsini görür, diğerleri yalnızca kendilerininkini.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa InviteLink ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304400401403404429

POST/v2/communities/{id}/invites

Bir davet bağlantısı oluşturmak.

  • Yetki groups
  • v2.15 sürümünden beri

Bir bağlantı yalnızca davet edebildiğin sürece geçerlidir ve ayrıldığında silinir.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
daysgövdedeintegeristeğe bağlıBağlantının kaç gün geçerli olduğu; olmadan geri alınana kadar.1730
usesgövdedeintegeristeğe bağlıBağlantının kaç kez kullanılabileceği; olmadan sınırsız.151025100

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

DELETE/v2/invites/{code}

Bir davet bağlantısını geri almak.

  • Yetki groups
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
codeyoldastringzorunluBir davet bağlantısının kodu, adresinin sonu.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Başka bir üyenin mesajını bir kanaldan kaldırmak.

  • Yetki groups
  • v2.15 sürümünden beri

Uygulamadaki gibi grubun kaydına yazılır ve saatte en fazla 60.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir sohbet kanalındaki mesajın id’si.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Bir gönderiyi gruptan kaldırmak.

  • Yetki groups
  • v2.15 sürümünden beri

Uygulamadaki gibi grubun kaydına yazılır ve saatte en fazla 60.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
postyoldastringzorunluBir gönderinin id değeri.
reasongövdedestringzorunluÜyenin okuyacağı gerekçe.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Bir üyeyi gruptan at.

  • Yetki groups
  • v2.15 sürümünden beri

2.16'dan beri bir atma: Üye yeniden katılabilir. Dışarıda kalması gereken yasaklanır.

Yalnızca ilgili yetkiyle ve yalnızca kendi en yüksek rolünün altındaki üyelerde; eş yönetimde yalnızca kurucu olarak.

Uygulamadaki gibi grubun kaydına yazılır ve saatte en fazla 60.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
memberyoldastringzorunluBir üyenin hesabının id’si.
reasongövdedestringzorunluÜyenin okuyacağı gerekçe.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Bir üyeyi sustur.

  • Yetki groups
  • v2.16 sürümünden beri

Yeni bir susturma, sürmekte olanın yerini alır. Çıkıp yeniden katılmak onu bitirmez.

Yalnızca ilgili yetkiyle ve yalnızca kendi en yüksek rolünün altındaki üyelerde; eş yönetimde yalnızca kurucu olarak.

Uygulamadaki gibi grubun kaydına yazılır ve saatte en fazla 60.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
memberyoldastringzorunluBir üyenin hesabının id’si.
secondsgövdedeintegerzorunluNe kadar süre, saniye olarak.60300600360086400604800
reasongövdedestringisteğe bağlıÜyenin okuduğu bir gerekçe; isteğe bağlı.

Örnek istek

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"

Yanıt

Bir Until ile yanıt verir.

Örnek
{
  "until": 1758624600000
}

Olası durumlar: 200400401403404429

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

Bir susturmayı kaldır.

  • Yetki groups
  • v2.16 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
memberyoldastringzorunluBir üyenin hesabının id’si.

Örnek istek

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"

Yanıt

Bir Until ile yanıt verir.

Örnek
{
  "until": 1758624600000
}

Olası durumlar: 200400401403404429

GET/v2/communities/{id}/bans

Bir grubun süren yasakları.

  • Yetki groups
  • ETag ile
  • v2.16 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa Ban ile yanıt verir, `items` ve `next` olarak.

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

Olası durumlar: 200304400401403404429

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

Bir üyeyi yasakla.

  • Yetki groups
  • v2.16 sürümünden beri

days olmadan yasak, kaldırılana kadar sürer.

Yalnızca ilgili yetkiyle ve yalnızca kendi en yüksek rolünün altındaki üyelerde; eş yönetimde yalnızca kurucu olarak.

Uygulamadaki gibi grubun kaydına yazılır ve saatte en fazla 60.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
memberyoldastringzorunluBir üyenin hesabının id’si.
daysgövdedeintegeristeğe bağlıNe kadar süre, gün olarak; süresiz bir yasak için boş bırak.1730
reasongövdedestringzorunluÜyenin okuyacağı gerekçe.

Örnek istek

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"

Yanıt

Bir Until ile yanıt verir.

Örnek
{
  "until": 1758624600000
}

Olası durumlar: 200400401403404429

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

Bir yasağı kaldır.

  • Yetki groups
  • v2.16 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
memberyoldastringzorunluBir üyenin hesabının id’si.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

GET/v2/communities/{id}/log

Yönetimin kaydı: kim neyi neden kaldırdı.

  • Yetki groups
  • ETag ile
  • v2.15 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.

Örnek istek

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

Yanıt

Bir sayfa LogEntry ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304400401403404429

POST/v2/communities

Bir grup kur. id değerini döndürür; kurucusu sensin.

  • Yetki groups
  • v2.19 sürümünden beri

groups izni gerekir. Belirtilmezse grup internal olur ve serbestçe katılınır; gizli bir grup yalnızca davetle. Üyelerin grup kurup kuramayacağına işletmeci karar verir.

Parametreler

AdTürAnlamı
namegövdedestringzorunluAd, en fazla 60 karakter.
descriptiongövdedestringisteğe bağlıAçıklama, en fazla 240 karakter.
handlegövdedestringisteğe bağlı@# bahsetmeleri ve bağlantı için kısa ad: 3 ila 30 küçük harf, rakam veya _.
tagsgövdedestring[]isteğe bağlıGrubun konusu hakkında en fazla 5 #etiket.
joinPolicygövdedestringisteğe bağlıNasıl katılınır: open serbestçe, application başvuruyla, invite yalnızca davetle.openapplicationinvite
visibilitygövdedestringisteğe bağlıGrubu kim görür: open herkes, internal içeriğini yalnızca üyeler, hidden hiç yalnızca üyeler.openinternalhidden

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403429

PUT/v2/communities/{id}

Yönettiğin bir grubu değiştir. Belirtmediğin her şey aynı kalır.

  • Yetki groups
  • v2.19 sürümünden beri

groups izni ve grubun yönetimi gerekir. Yönetim, dağıtma ve kıvılcım avantajları uygulamada kalır.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir grubun id değeri.
namegövdedestringisteğe bağlıAd, en fazla 60 karakter.
descriptiongövdedestringisteğe bağlıAçıklama, en fazla 240 karakter.
handlegövdedestringisteğe bağlı@# bahsetmeleri ve bağlantı için kısa ad: 3 ila 30 küçük harf, rakam veya _.
tagsgövdedestring[]isteğe bağlıGrubun konusu hakkında en fazla 5 #etiket.
joinPolicygövdedestringisteğe bağlıNasıl katılınır: open serbestçe, application başvuruyla, invite yalnızca davetle.openapplicationinvite
visibilitygövdedestringisteğe bağlıGrubu kim görür: open herkes, internal içeriğini yalnızca üyeler, hidden hiç yalnızca üyeler.openinternalhidden
imagegövdedestringisteğe bağlıGrup resmi olarak yüklenmiş bir resmin (POST /me/pictures) id değeri. Boş bırakılırsa kaldırılır.
bannergövdedestringisteğe bağlıGrup kapağı olarak yüklenmiş bir resmin id değeri. Boş bırakılırsa kaldırılır.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

Botlar

Bir botun gruplarında olanlar, gerçek zamanlı: akış olarak, sayfa sayfa ya da bir adrese teslim.

GET/v2/events

Botun gruplarındaki olaylar, bir olaydan itibaren sayfa sayfa.

  • Yetki read
  • v2.20 sürümünden beri

Yalnızca bir botun tokenıyla. Bir kanalın olayları yalnızca bot onu görebiliyorsa.

Olaylar bir gün tutulur. next sonuncunun numarasıdır; sonraki sayfa için since olarak.

Parametreler

AdTürAnlamı
sinceadrestestringisteğe bağlıBotun zaten sahip olduğu son olayın numarası. Olmadan akış şimdi, liste en eskiden başlar.

Örnek istek

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

Yanıt

Bir sayfa BotEvent ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200401429

GET/v2/events/stream

Botun gruplarındaki olaylar, gerçekleşir gerçekleşmez (server-sent events).

  • Yetki read
  • ETag ile
  • v2.20 sürümünden beri

Bağlantı açık kalır ve on dakika sonra kapanır; istemci yeniden bağlanır ve Last-Event-ID gönderir.

Yalnızca bir botun tokenıyla. Bir kanalın olayları yalnızca bot onu görebiliyorsa.

Parametreler

AdTürAnlamı
sinceadrestestringisteğe bağlıBotun zaten sahip olduğu son olayın numarası. Olmadan akış şimdi, liste en eskiden başlar.

Örnek istek

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

Yanıt

Bir BotEvent ile yanıt verir.

Örnek
{
  "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
    }
  }
}

Olası durumlar: 200304401429

GET/v2/me/commands

Botun komutları.

  • Yetki read
  • ETag ile
  • v2.20 sürümünden beri

Yalnızca bir botun tokenıyla. Bir kanalın olayları yalnızca bot onu görebiliyorsa.

Örnek istek

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

Yanıt

Bir sayfa BotCommand ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "dice",
      "description": "Rolls a die"
    }
  ],
  "next": null
}

Olası durumlar: 200304401429

PUT/v2/me/commands

Botun komutlarını hepsini birden belirle.

  • Yetki write
  • v2.20 sürümünden beri

Tüm komutların yerine geçer; boş liste onları kaldırır. Botun görebildiği sohbetlerde giriş alanı onları “/” sonrasında önerir.

Parametreler

AdTürAnlamı
commandsgövdedeobject[]zorunluEn fazla 25 komut, her biri { name, description }.

Örnek istek

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"

Yanıt

Bir sayfa BotCommand ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "dice",
      "description": "Rolls a die"
    }
  ],
  "next": null
}

Olası durumlar: 200400401403429

POST/v2/interactions/{id}/reply

Bir komuta ya da düğmeye yanıt ver.

  • Yetki write
  • v2.20 sürümünden beri

command ya da interaction olayından sonraki 15 dakika içinde; private ile yanıtı yalnızca komutu ya da düğmeyi kullanan görür.

Parametreler

AdTürAnlamı
idyoldastringzorunluOlaydaki kimlik (data.interaction).
textgövdedestringisteğe bağlıGönderinin, yanıtın ya da mesajın metni.
privategövdedebooleanisteğe bağlıtrue: yanıtı bir gün boyunca yalnızca komutu ya da düğmeyi kullanan görür.
cardgövdedeobjectisteğe bağlıBir kart { title, text, color, fields: [{ name, value }] }, en fazla 10 alan.
buttonsgövdedeobject[]isteğe bağlıEn fazla 5 düğme, her biri { id, label, style }, style primary, secondary ya da danger. Basış interaction olayı olarak gelir.

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

POST/v2/channels/{id}/voice

Müzik ya da ses çalmak için sesli kanalda yer al.

  • Yetki write
  • v2.20 sürümünden beri

Yalnızca bir botun tokenıyla, botun kanaldaki rolünün izin verdiği kadar. Program bir LiveKit SDK ile bağlanır ve sesini mikrofon olarak gönderir; herkes ses düzeyini kendisi ayarlar.

Parametreler

AdTürAnlamı
idyoldastringzorunluBir kanalın id’si.

Örnek istek

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

Yanıt

Bir VoiceSeat ile yanıt verir.

Örnek
{
  "url": "wss://voice.example.org",
  "token": "eyJhbGciOiJIUzI1NiJ9…",
  "iceServers": [
    {
      "urls": [
        "stun:turn.example.org:3478"
      ]
    }
  ],
  "speak": true,
  "video": false
}

Olası durumlar: 200400401403404429

Keşfet

Gündem, arama ve sunucunun özel emojileri.

GET/v2/tags

Şu anda öne çıkan etiketler.

  • Yetki read
  • ETag ile
  • v2.0 sürümünden beri

Puana göre en fazla 10 gündem etiketi: her kullanım 1 sayılır ve 3 günde bir yarıya iner, bir hesap günde en fazla 3 sayılır. posts yuvarlanmış puandır. limit yalnızca listeyi kısaltır. Ekibin öne çıkardığı etiketler daha üstte yer alabilir.

Parametreler

AdTürAnlamı
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.

Örnek istek

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

Yanıt

Bir sayfa Tag ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "tag": "garden",
      "posts": 58
    }
  ],
  "next": null
}

Olası durumlar: 200304401429

GET/v2/search

Gönderilerde, adlarda, kısa adlarda ve etiketlerde arama.

  • Yetki read
  • ETag ile
  • v2.0 sürümünden beri

Yalnızca açık içerikte arar: grup dışı gönderiler, profiller ve etiketler. limit tür başına geçerlidir.

Parametreler

AdTürAnlamı
qadrestestringzorunluAranan sözcükler.
typeadrestestringisteğe bağlıHangi tür sonuç. Verilmezse her tür.allpostsprofilestags
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.

Örnek istek

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

Yanıt

Bir SearchResult ile yanıt verir.

Örnek
{
  "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
    }
  ]
}

Olası durumlar: 200304400401429

GET/v2/emojis

Sunucunun kendi emojileri, görsellerinin adresiyle birlikte.

  • Yetki read
  • ETag ile
  • v2.1 sürümünden beri

Metinlerde emoji :name: olarak görünür. Onu bu listedeki görselle değiştir; bilinmeyen adlar metin olarak kalır.

Örnek istek

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

Yanıt

Bir sayfa Emoji ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "tellmelo",
      "url": "/api/media?id=e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"
    }
  ],
  "next": null
}

Olası durumlar: 200304401429

GIF’ler ve videolar

Medya kitaplığı: paylaşılan GIF ve videoları bul, kendi dosyalarını yükle ve yönet, diğer web sitelerine yerleştir.

GET/v2/media

Paylaşılan GIF’ler veya videolar, en çok kullanılanlar önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.14 sürümünden beri

Engellediğin veya seni engelleyen hesaplar hariç. tellmelo’daki gönderiler için url ve poster dosyalarını başlıktaki anahtarla yükle.

Diğer web siteleri için yalnızca embed içerenler: Bunların adresleri anahtarsız, her tarayıcıda çalışır.

Parametreler

AdTürAnlamı
kindadrestestringisteğe bağlıgif veya video; belirtilmezse gif.gifvideo
qadrestestringisteğe bağlıAdda veya anahtar kelimelerde geçen kelimeler.
anywhereadrestebooleanisteğe bağlıtrue: yalnızca diğer web sitelerinde de görünebilenler.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/media?kind=gif&q=bees&anywhere=true&limit=20"

Yanıt

Bir sayfa MediaItem ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304400401429

GET/v2/media/mine

Kendi medya kitaplığın, en yeniler önce.

  • Yetki media
  • sayfalanabilir
  • ETag ile
  • v2.14 sürümünden beri

Parametreler

AdTürAnlamı
kindadrestestringisteğe bağlıgif veya video; belirtilmezse gif.gifvideo
qadrestestringisteğe bağlıAdda veya anahtar kelimelerde geçen kelimeler.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/media/mine?kind=gif&q=bees&limit=20"

Yanıt

Bir sayfa MediaItem ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304400401403429

GET/v2/media/{id}

Bir GIF veya video; seninki ya da paylaşılan.

  • Yetki read
  • ETag ile
  • v2.14 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluGIF’in veya videonun ID’si.

Örnek istek

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/media/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918"

Yanıt

Bir MediaItem ile yanıt verir.

Örnek
{
  "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>"
  }
}

Olası durumlar: 200304400401404429

POST/v2/media/uploads

Bir yükleme başlat.

  • Yetki media
  • v2.14 sürümünden beri

Ardından dosyayı en fazla piece baytlık parçalar halinde /media/uploads/{upload} adresine gönder. Yeni parça gelmezse yükleme 15 dakika sonra sona erer.

Uygulamanın sınırları geçerlidir: 15 MB’a kadar GIF’ler, aboneliğe göre boyut ve uzunlukta videolar, günlük GIF sayısı, özel GIF’ler, haftalık video puanları. Aksi halde 409, 413 veya 429 döner.

Parametreler

AdTürAnlamı
kindgövdedestringzorunlugif veya video; belirtilmezse gif.gifvideo
sizegövdedeintegerzorunluDosyanın tamamının bayt cinsinden boyutu.
namegövdedestringzorunluBulunacağı ad: 2 ile 40 karakter arası.
keywordsgövdedestringisteğe bağlıArama için anahtar kelimeler, boşlukla ayrılmış.
sharedgövdedebooleanisteğe bağlıtrue: tellmelo’da herkesle paylaşıldı.
anywheregövdedebooleanisteğe bağlıtrue: paylaşıldı ve diğer web sitelerinde de izin verildi. Yalnızca shared ile birlikte.

Örnek istek

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"

Yanıt

Bir UploadStarted ile yanıt verir.

Örnek
{
  "upload": "e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b",
  "piece": 4194304
}

Olası durumlar: 200400401403429

PUT/v2/media/uploads/{upload}

Dosyanın bir parçasını gönder.

  • Yetki media
  • v2.14 sürümünden beri

Gövde parçanın kendisidir (application/octet-stream), JSON değil. Devamı değilse 409 ile received döner: Oradan göndermeye devam et. Son parçadan sonra dosya dönüştürülür; yanıtta o zaman item bulunur.

Parametreler

AdTürAnlamı
uploadyoldastringzorunluBaşlangıçta gelen upload.
offsetadresteintegerzorunluParçanın dosyada başladığı yer, bayt cinsinden; ilki için 0.

Örnek istek

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"

Yanıt

Bir UploadPiece ile yanıt verir.

Örnek
{
  "received": 4194304,
  "item": null
}

Olası durumlar: 200400401403404429

POST/v2/media/{id}

GIF’lerinden veya videolarından birini değiştir.

  • Yetki media
  • v2.14 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluGIF’in veya videonun ID’si.
namegövdedestringisteğe bağlıBulunacağı ad: 2 ile 40 karakter arası.
keywordsgövdedestringisteğe bağlıArama için anahtar kelimeler, boşlukla ayrılmış.
sharedgövdedebooleanisteğe bağlıtrue: tellmelo’da herkesle paylaşıldı.
anywheregövdedebooleanisteğe bağlıtrue: paylaşıldı ve diğer web sitelerinde de izin verildi. Yalnızca shared ile birlikte.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

DELETE/v2/media/{id}

GIF’lerinden veya videolarından birini kaldır.

  • Yetki media
  • v2.14 sürümünden beri

Onu zaten gösteren gönderiler korur. Diğer web sitelerinde birkaç dakika içinde kaybolur.

Parametreler

AdTürAnlamı
idyoldastringzorunluGIF’in veya videonun ID’si.

Örnek istek

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/media/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

Hesabın

Profilin, akışın, kendi emojilerin ve webhook’ların.

GET/v2/me

Kendi profilin, diğer yolların beklediği id ile.

  • Yetki read
  • ETag ile
  • v2.0 sürümünden beri

Örnek istek

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

Yanıt

Bir Profile ile yanıt verir.

Örnek
{
  "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
}

Olası durumlar: 200304401429

GET/v2/feed

Kendi akışın, uygulamanın derlediği hâliyle.

  • Yetki read
  • sayfalanabilir
  • v2.0 sürümünden beri

Sıralama sürekli değiştiği için ETag yok. Başlanan bir liste sonuna kadar aynı kalır.

Parametreler

AdTürAnlamı
tabadrestestringisteğe bağlıHangi akış: for-you, following, latest ya da bookmarks. Varsayılan latest.for-youfollowinglatestbookmarks
tagadrestestringisteğe bağlıYalnızca bu etiketle ilgili gönderiler: onunla yazılmış ya da sunucunun içinde tanıdığı. Verilmezse süzgeç yok.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa Post ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200400401429

POST/v2/me/pictures

Bir resmi bayt olarak yükle. id ve url döndürür; sonra id değerini profil resmi, kapak veya gönderide kullanırsın.

  • Yetki write
  • v2.19 sürümünden beri

PNG, JPEG, WebP veya GIF, ilk baytlarından tanınır; meta veriler olmadan yeniden kaydedilir. Hiçbir yerde kullanılmayan resim daha sonra silinir.

Örnek istek

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"

Yanıt

Bir Picture ile yanıt verir.

Örnek
{
  "id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"
}

Olası durumlar: 200401403429

PUT/v2/me/profile

Profilini değiştir: ad, hakkında, profil resmi, kapak ve profil rengi. Belirtmediğin her şey aynı kalır.

  • Yetki profile
  • v2.19 sürümünden beri

profile izni gerekir. @adın uygulamada kalır: aynı zamanda giriş adındır.

Parametreler

AdTürAnlamı
namegövdedestringisteğe bağlıGörünen ad, en fazla 60 karakter.
aboutgövdedestringisteğe bağlı“Hakkında” metni.
avatargövdedestringisteğe bağlıProfil resmi olarak yüklenmiş bir resmin id değeri. Boş bırakılırsa kaldırılır.
bannergövdedestringisteğe bağlıKapak olarak yüklenmiş bir resmin id değeri. Boş bırakılırsa kaldırılır.
colorgövdedestringisteğe bağlıProfil rengi, abonelikle. null kaldırır.indigovioletrosecoralamberlimegreentealskyslatesandnight

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403429

GET/v2/me/emojis

Kendi emojilerin.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Örnek istek

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

Yanıt

Bir sayfa OwnEmoji ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "sunflower",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false,
      "resting": false
    }
  ],
  "next": null
}

Olası durumlar: 200304401429

POST/v2/me/emojis/pictures

Kendi emojin için resmi bayt olarak yükle.

  • Yetki profile
  • v2.19 sürümünden beri

Hareketli emojiler abonelik gerektirir. Dönüştürüldükten sonra çok büyükse resim reddedilir.

Örnek istek

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"

Yanıt

Bir EmojiPicture ile yanıt verir.

Örnek
{
  "id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "animated": false
}

Olası durumlar: 200401403429

POST/v2/me/emojis

Kendi emojini oluştur. Tüm emojilerini döndürür.

  • Yetki profile
  • v2.19 sürümünden beri

Kaç emoji oluşturabileceğin aboneliğe bağlıdır.

Parametreler

AdTürAnlamı
namegövdedestringzorunluEmojiyi yazdığın ad, :ad: şeklinde.
picturegövdedestringzorunluPOST /me/emojis/pictures yanıtındaki id.

Örnek istek

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"

Yanıt

Bir sayfa OwnEmoji ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "sunflower",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false,
      "resting": false
    }
  ],
  "next": null
}

Olası durumlar: 200400401403429

DELETE/v2/me/emojis/{name}

Kendi emojini kaldır. Kalanları döndürür.

  • Yetki profile
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
nameyoldastringzorunluEmojinin adı, iki nokta olmadan.

Örnek istek

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

Yanıt

Bir sayfa OwnEmoji ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "name": "sunflower",
      "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
      "animated": false,
      "resting": false
    }
  ],
  "next": null
}

Olası durumlar: 200400401403404429

PUT/v2/me/emojis/sharing

Takipçilerinin emojilerini kendi metinlerinde kullanıp kullanamayacağını belirle.

  • Yetki profile
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
sharedgövdedebooleanzorunlutrue emojilerini takipçilerinle paylaşır, false paylaşmaz.

Örnek istek

curl -X PUT \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"shared":true}' \
  "https://api.tellmelo.com/v2/me/emojis/sharing"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403429

GET/v2/me/webhooks

Webhook’ların ve durumları.

  • Yetki webhooks
  • ETag ile
  • v2.19 sürümünden beri

webhooks izni gerekir. Webhook’lar kurum aboneliğiyle veya ortak olarak gelir.

Örnek istek

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

Yanıt

Bir sayfa Webhook ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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
}

Olası durumlar: 200304401403429

POST/v2/me/webhooks

Webhook oluştur. id ve imzaların sırrını yalnızca bu seferlik döndürür.

  • Yetki webhooks
  • v2.19 sürümünden beri

Her teslimat sırla imzalanır (X-Tellmelo-Signature). Sakla; bir daha gösterilmez.

Parametreler

AdTürAnlamı
urlgövdedestringzorunluYerel ağların dışında, kimlik bilgisi içermeyen bir HTTPS adresi.
kindsgövdedestring[]zorunluWebhook’a nelerin bildirileceği. Hangi türlerin açık olduğu aboneliğine ve ortaklığına bağlıdır.replymentiongroup_mentionfollowlikerepostmessagequota_changedquota_giftdrop_claimeddrop_empty

Örnek istek

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"

Yanıt

Bir WebhookCreated ile yanıt verir.

Örnek
{
  "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
  "secret": "whsec_3f9a…"
}

Olası durumlar: 200400401403429

DELETE/v2/me/webhooks/{id}

Webhook’u sil.

  • Yetki webhooks
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluWebhook’un id değeri.

Örnek istek

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/webhooks/1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/me/webhooks/{id}/test

Webhook’a deneme gönder.

  • Yetki webhooks
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluWebhook’un id değeri.

Örnek istek

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/webhooks/1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b/test"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

Bildirimler

Hesabın çevresinde olanlar, sayfa sayfa.

GET/v2/notifications

Bildirimlerin, en yenisi önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.0 sürümünden beri

Okumak hiçbir şeyi okundu işaretlemez; bunu POST /notifications/read yapar. Aynı gönderideki aynı türden olaylar tek satırdadır; more kaç tane olduğunu söyler.

Parametreler

AdTürAnlamı
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa Notification ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304401429

POST/v2/notifications/read

Bildirimlerini okundu olarak işaretlemek.

  • Yetki write
  • v2.0 sürümünden beri

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200401403429

Mesajlar

Gelen kutun ve sohbetlerin. Bir sohbet diğer hesabın adını taşır.

GET/v2/conversations

Posta kutun: her sohbet için bir satır, en yenisi önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.0 sürümünden beri

Parametreler

AdTürAnlamı
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa Conversation ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304401429

GET/v2/conversations/{with}/messages

Bir sohbetin mesajları, en yenisi önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.0 sürümünden beri

Okumak hiçbir şeyi okundu işaretlemez; bunu POST /conversations/{with}/read yapar.

Parametreler

AdTürAnlamı
withyoldastringzorunluDiğer hesabın id değeri. Bir sohbetin kendi id değeri yoktur.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa Message ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304400401404429

POST/v2/conversations/{with}/messages

Bir sohbete mesaj göndermek.

  • Yetki write
  • v2.0 sürümünden beri

Uygulamanın kuralları geçerlidir: seni engelleyen kişiye ulaşılamaz ve karşı tarafın ayarları geçerlidir.

Görseller, GIF’ler ve videolar mesajlara API üzerinden eklenemez, yalnızca uygulamada.

Parametreler

AdTürAnlamı
withyoldastringzorunluDiğer hesabın id değeri. Bir sohbetin kendi id değeri yoktur.
textgövdedestringzorunluGönderinin, yanıtın ya da mesajın metni.
replyTogövdedestringisteğe bağlıBu mesajın yanıt verdiği, bu konuşmadaki önceki bir mesajın id değeri. 2.2’den beri.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/conversations/{with}/read

Bir sohbetin bütün mesajlarını okundu olarak işaretle.

  • Yetki write
  • v2.1 sürümünden beri

Parametreler

AdTürAnlamı
withyoldastringzorunluDiğer hesabın id değeri. Bir sohbetin kendi id değeri yoktur.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

DELETE/v2/conversations/{with}/messages/{id}

Kendi mesajını silmek.

  • Yetki write
  • v2.12 sürümünden beri

Yalnızca kendi mesajların ve yalnızca gönderdikten sonraki 24 saat içinde.

Parametreler

AdTürAnlamı
withyoldastringzorunluDiğer hesabın id değeri. Bir sohbetin kendi id değeri yoktur.
idyoldastringzorunluMesajın kimliği.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

POST/v2/conversations/{with}/planned

Bir mesajı sonraya planla. Planlanan mesajın id değerini döndürür.

  • Yetki write
  • v2.19 sürümünden beri

Planlanmış mesajları içeren bir abonelik gerekir, yoksa 403. İki tarafta da uçtan uca şifreleme açıksa yalnızca uygulamada çalışır.

Parametreler

AdTürAnlamı
withyoldastringzorunluDiğer hesabın id değeri. Bir sohbetin kendi id değeri yoktur.
textgövdedestringzorunluGönderinin, yanıtın ya da mesajın metni.
sendAtgövdedeintegerzorunluMesajın ne zaman gönderileceği, 1970’ten beri milisaniye olarak.

Örnek istek

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"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403404429

GET/v2/me/planned-messages

Henüz gönderilecek mesajların, zamana göre sıralı.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
withadrestestringisteğe bağlıYalnızca bu hesaba giden mesajlar (id değeri).

Örnek istek

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

Yanıt

Bir sayfa PlannedMessage ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
      "to": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "text": "Happy birthday! 🎂",
      "sendAt": 1758710400000,
      "state": "waiting"
    }
  ],
  "next": null
}

Olası durumlar: 200304401429

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

Bekletilen veya başarısız olan planlanmış bir mesajı şimdi gönder.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluPlanlanan mesajın id değeri.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

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

Planlanmış bir mesajı gönderilmeden önce sil.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluPlanlanan mesajın id değeri.

Örnek istek

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

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

İlişkiler

Beğen, kaydet, paylaş, takip et, katıl, engelle: tek yol, active ile kurulur ve geri alınır. 2.19’dan beri listeler de: takipçiler, takip edilenler ve kendi engellemelerin ile sessize aldıkların.

POST/v2/relations

Beğenmek, kaydetmek, paylaşmak, takip etmek, katılmak, engellemek, sessize almak, kind değerine göre.

  • Yetki write
  • v2.0 sürümünden beri

target, like, save ve repost için bir gönderi, join için bir grup, follow, block ve mute için bir hesaptır. active: false ilişkiyi geri alır.

Parametreler

AdTürAnlamı
kindgövdedestringzorunluHangi ilişki: like, save, repost, follow, join, block ya da mute (2.2 sürümünden beri).likesaverepostfollowjoinblockmute
targetgövdedestringzorunlukind değerine göre gönderinin, profilin ya da grubun id değeri.
activegövdedebooleanisteğe bağlıtrue ilişkiyi kurar, false geri alır.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403429

GET/v2/profiles/{handle}/followers

Bir profili kimlerin takip ettiği, en yeniler önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
handleyoldastringzorunluBir profilin kısa adı; büyük ya da küçük harf fark etmez.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa ProfileBrief ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

Olası durumlar: 200304400401404429

GET/v2/profiles/{handle}/following

Bir profilin kimleri takip ettiği, en yeniler önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
handleyoldastringzorunluBir profilin kısa adı; büyük ya da küçük harf fark etmez.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa ProfileBrief ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

Olası durumlar: 200304400401404429

GET/v2/me/relations

Engellediğin, sessize aldığın veya yalnızca mesajlarda engellediğin hesaplar, en yeniler önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.19 sürümünden beri

Yalnızca kendi listelerin. Kurma ve geri alma POST /relations ile.

Parametreler

AdTürAnlamı
kindadrestestringzorunlublock engellenenler, mute sessize alınanlar, dm_block yalnızca mesajlarda engellenenler.blockmutedm_block
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/relations?kind=mute&limit=20"

Yanıt

Bir sayfa ProfileBrief ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
      "handle": "mara",
      "name": "Mara 🌻",
      "verified": true,
      "accountKind": "person"
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

Olası durumlar: 200304400401429

Koleksiyonlar

Kaydettiğin gönderileri kendi koleksiyonlarına ayır. Bir gönderi birden fazla koleksiyonda olabilir; koleksiyondan çıkarılan gönderi kayıtlı kalır.

GET/v2/me/collections

Koleksiyonların ve içlerindeki gönderi sayısı.

  • Yetki read
  • ETag ile
  • v2.19 sürümünden beri

Örnek istek

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

Yanıt

Bir sayfa Collection ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "id": "6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718",
      "name": "Recipes",
      "count": 12
    }
  ],
  "next": null
}

Olası durumlar: 200304401429

POST/v2/me/collections

Koleksiyon oluştur. id değerini döndürür.

  • Yetki write
  • v2.19 sürümünden beri

Kaç koleksiyon oluşturabileceğin aboneliğe bağlıdır.

Parametreler

AdTürAnlamı
namegövdedestringzorunluAd, en fazla 40 karakter. Büyük-küçük harf gözetmeksizin hesap başına benzersiz.

Örnek istek

curl -X POST \
  -H "Authorization: Bearer tm_key_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Recipes"}' \
  "https://api.tellmelo.com/v2/me/collections"

Yanıt

Bir Made ile yanıt verir.

Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Olası durumlar: 200400401403429

PUT/v2/me/collections/{id}

Koleksiyonu yeniden adlandır.

  • Yetki write
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluKoleksiyonun id değeri.
namegövdedestringzorunluAd, en fazla 40 karakter. Büyük-küçük harf gözetmeksizin hesap başına benzersiz.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

DELETE/v2/me/collections/{id}

Koleksiyonu sil.

  • Yetki write
  • v2.19 sürümünden beri

İçindeki gönderiler kayıtlı kalır.

Parametreler

AdTürAnlamı
idyoldastringzorunluKoleksiyonun id değeri.

Örnek istek

curl -X DELETE \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

GET/v2/me/collections/{id}/posts

Bir koleksiyonun gönderileri, kaydedilenler sekmesindeki gibi.

  • Yetki read
  • sayfalanabilir
  • v2.19 sürümünden beri

Parametreler

AdTürAnlamı
idyoldastringzorunluKoleksiyonun id değeri.
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

curl \
  -H "Authorization: Bearer tm_key_…" \
  "https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718/posts?limit=20"

Yanıt

Bir sayfa Post ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200400401404429

POST/v2/me/collections/{id}/posts

Bir gönderiyi koleksiyona koy veya çıkar.

  • Yetki write
  • v2.19 sürümünden beri

Gönderiyi koymak onu kaydeder de. Yalnızca görünür gönderiler.

Parametreler

AdTürAnlamı
idyoldastringzorunluKoleksiyonun id değeri.
postgövdedestringzorunluGönderinin id değeri.
insidegövdedebooleanisteğe bağlıtrue gönderiyi koyar (varsayılan), false çıkarır.

Örnek istek

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"

Yanıt

Bir Ok ile yanıt verir.

Örnek
{
  "ok": true
}

Olası durumlar: 200400401403404429

Hediyeler

Bir partnerin kotasını okumak ve ondan hediye vermek, gönderilerin altına hediye koymak ve takip etmek. Hediyeleri almak, uygulamadaki insanlara özeldir.

GET/v2/partner/quota

Kotanda hediye edilecek ne kaldığı.

  • Yetki read
  • ETag ile
  • v2.12 sürümünden beri

Yalnızca kotası olan partnerler için; diğer herkes 403 alır.

Örnek istek

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

Yanıt

Bir Quota ile yanıt verir.

Örnek
{
  "months": 120,
  "sparks": 500,
  "looks": [
    {
      "id": "frame-gold",
      "name": "Goldring",
      "kind": "frame",
      "quantity": 25
    }
  ]
}

Olası durumlar: 200304401429

GET/v2/partner/gifts

Kotandan kime, ne zaman ne verdiğin – en yenisi önce.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.12 sürümünden beri

Yalnızca kotası olan partnerler için; diğer herkes 403 alır.

Parametreler

AdTürAnlamı
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa QuotaGift ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "items": [
    {
      "item": "plan",
      "quantity": 3,
      "itemId": null,
      "recipient": {
        "handle": "jon",
        "name": "Jon"
      },
      "createdAt": 1758627600000
    }
  ],
  "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}

Olası durumlar: 200304401429

POST/v2/partner/gifts

Kotandan bir üyeye abonelik ayı ya da kıvılcım hediye etmek.

  • Yetki gifts
  • v2.12 sürümünden beri

Yalnızca kotası olan partnerler için; diğer herkes 403 alır.

Uygulamadaki gibi, üye hediyenin kimden geldiğini görür. Saatte en fazla 60 hediye.

Parametreler

AdTürAnlamı
handlegövdedestringzorunluHediye ettiğin üyenin @adı, @ ile ya da @ olmadan.
itemgövdedestringzorunluAbonelik ayları için plan, kıvılcımlar için sparks, stokundan bir görünüm için shop (2.13 sürümünden beri).plansparksshop
quantitygövdedeintegeristeğe bağlıNe kadar: hediye başına en fazla 12 ay ya da 35 kıvılcım.
itemIdgövdedestringisteğe bağlıshop için: kotadaki looks onu nasıl adlandırıyorsa, görünümün kimliği. Hediye başına bir adet; bu durumda quantity geçerli değildir.

Örnek istek

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"

Yanıt

Bir Quota ile yanıt verir.

Örnek
{
  "months": 120,
  "sparks": 500,
  "looks": [
    {
      "id": "frame-gold",
      "name": "Goldring",
      "kind": "frame",
      "quantity": 25
    }
  ]
}

Olası durumlar: 200400401403429

GET/v2/gift-drops

Gönderilerinin altındaki hediyeler: kaç yerin hâlâ boş olduğu ve nasıl ödendiği.

  • Yetki read
  • sayfalanabilir
  • ETag ile
  • v2.12 sürümünden beri

Parametreler

AdTürAnlamı
limitadresteintegeristeğe bağlıSayfa başına kayıt: varsayılan 20, en fazla 50.
cursoradrestestringisteğe bağlıÖnceki yanıttaki next. Yoksa baştan.

Örnek istek

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

Yanıt

Bir sayfa OwnGiftDrop ile yanıt verir, `items` ve `next` olarak.

Örnek
{
  "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"
}

Olası durumlar: 200304401429

POST/v2/gift-drops

Başkalarının alabileceği hediyelerle bir gönderi yayımlamak.

  • Yetki gifts
  • v2.12 sürümünden beri

Sahip ve bu izne sahip ekip üyeleri için ücretsiz, diğer durumlarda kotandan. Ödeme gerektirecek her şey 422 ile reddedilir – ödeme yalnızca uygulamada yapılır.

Hediyeler yalnızca uygulamada alınabilir; böylece hiçbir program tüm yerleri kapamaz. Kaç yerin boş olduğu gönderinin giftDrop alanındadır.

Parametreler

AdTürAnlamı
textgövdedestringisteğe bağlıGönderinin, yanıtın ya da mesajın metni.
communitygövdedestringisteğe bağlıGönderinin gideceği akış kanalının grubunun id’si; kanal açık olmalı ve bunun için iznin olmalı. Olmadan gönderi hiçbir grubun içinde olmaz.
itemgövdedestringzorunluAbonelik ayları için plan, kıvılcımlar için sparks.plansparks
quantitygövdedeintegerzorunluHer yerin içinde ne olduğu: en fazla 12 ay ya da 35 kıvılcım.
placesgövdedeintegerzorunluKaç kişi için, en fazla 10.000.
audiencegövdedestringisteğe bağlıKimler alabilir: all herkes, followers yalnızca takipçilerin, group yalnızca grubun üyeleri (yalnızca community ile birlikte).allfollowersgroup
newAccountsgövdedebooleanisteğe bağlıtrue, 7 günden yeni hesapların da almasına izin verir. Belirtmezsen dışarıda kalırlar.

Örnek istek

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"

Yanıt

Bir DropCreated ile yanıt verir.

Örnek
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "funding": "quota"
}

Olası durumlar: 200400401403429

Nesneler

Tüm nesneler, alan alan. [] liste demektir.

Service

Kökün yanıtı: kimin yanıt verdiği ve bu anahtarın neler yapabildiği.

AlanTürAnlamı
namestringHer zaman tellmelo.
versionstringAPI’nin sürümü, örneğin 2.1.
scopestringBu anahtarın neler yapabildiği: read ya da read write.
rateLimitRateLimitBu anahtarın kotası.
docsstringBu belgelerin nerede olduğu, bu sunucuda bir yol olarak.
specstringMakinece okunabilir açıklamanın nerede olduğu.
Örnek
{
  "name": "tellmelo",
  "version": "2.20",
  "scope": "read write",
  "rateLimit": {
    "limit": 120,
    "remaining": 117
  },
  "docs": "/developers/docs",
  "spec": "/api/v2/openapi.json"
}

RateLimit

Bu anahtarın içinde bulunulan dakikadaki kotası.

AlanTürAnlamı
limitintegerDakikadaki istek sayısı.
remainingintegerBu dakikada kaç tane kaldığı.
Örnek
{
  "limit": 120,
  "remaining": 117
}

Post

Bir gönderi, her yerde aynı biçimde.

AlanTürAnlamı
idstringGönderinin kimliği.
textstringya da nullYazıldığı haliyle metin (yalnızca anket ya da yalnızca görsellerden oluşan bir gönderide null).
kindstringGönderinin ne olduğu.
  • post — Metin, görsel ya da alıntı içeren bir gönderi.
  • poll — Anket içeren bir gönderi.
authorProfileBriefKimin yazdığı.
communityCommunityBriefya da nullYazıldığı grup (hiçbir grubun içinde değilse null).
mediaMedia[]Görselleri, sırasıyla; yoksa boş.
pollPollya da nullAnket (yoksa null).
quotesstringya da nullBu gönderinin alıntıladığı gönderinin kimliği.
continuesstringya da nullBu gönderinin ek olarak devam ettirdiği gönderinin kimliği.
countsCountsYanıtlar, beğeniler ve yeniden paylaşımlar.
pinnedbooleanYazarının profilinin en üstüne sabitlenip sabitlenmediği.
giftDropGiftDropya da nullGönderinin altında alınabilecek hediyeler (yoksa null).
createdAtintegerNe zaman yazıldığı.
Örnek
{
  "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

Bir gönderinin altındaki yanıt: iki alanı fazla olan bir gönderi.

Post nesnesinin her alanı, ayrıca:

AlanTürAnlamı
postIdstringBütün sohbetin bağlı olduğu gönderi.
parentIdstringya da nullBu yanıtın yanıt verdiği yanıt (doğrudan gönderiye yanıt veriyorsa null).
Örnek
{
  "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

Bir yanıta verdiğin oy ve yanıtın puanı.

AlanTürAnlamı
votestringOyun.
  • up — Artı oy.
  • down — Eksi oy.
  • none — Oy yok.
scoreintegerArtı oylar eksi eksi oylar, sıfırın altında da olabilir.
Örnek
{
  "vote": "up",
  "score": 12
}

PlannedReply

Sonraya planladığın bir yanıt.

AlanTürAnlamı
idstringPlanlanan yanıtın id değeri.
parentIdstringya da nullYanıtlayacağı yanıt (doğrudan gönderiye yanıtsa null).
textstringMetin.
publishAtintegerNe zaman yayımlanacağı.
statestringDurumu.
  • waiting — Zamanını bekliyor.
  • failed — Gönderilemedi, örneğin gönderi artık yok.
Örnek
{
  "id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
  "parentId": null,
  "text": "Count me in for Saturday!",
  "publishAt": 1758710400000,
  "state": "waiting"
}

ReplySettings

Gönderilerinden birinin yanıt ayarları.

AlanTürAnlamı
audiencestringKimler yanıt verebilir.
  • all — Herkes.
  • following — Takip ettiğin hesaplar.
  • mentioned — Gönderide bahsedilenler.
  • nobody — Senden başka kimse.
approvalbooleanYanıtların onayını bekleyip beklemediği.
slowstringYavaş mod.
  • auto — Çok yanıt gelince kendiliğinden açılır.
  • on — Her zaman açık.
  • off — Kapalı.
Örnek
{
  "audience": "following",
  "approval": false,
  "slow": "auto"
}

Counts

Bir gönderinin kaç yanıtı, beğenisi ve yeniden paylaşımı olduğu.

AlanTürAnlamı
repliesintegerYanıtlar, bütün düzeyler birlikte.
likesintegerBeğeniler.
repostsintegerYeniden paylaşımlar.
Örnek
{
  "replies": 4,
  "likes": 31,
  "reposts": 2
}

Media

Bir gönderinin ya da mesajın görseli.

AlanTürAnlamı
urlstringGörselin ya da videonun bu sunucuya göre göreli adresi. Başlıkta anahtarla yükle.
kindstringimage, video ya da gif (2.10’dan beri). Videolar ve GIF’ler MP4 dosyalarıdır.
  • image — Bir görsel (WebP ya da JPEG).
  • video — Sesli, MP4 biçiminde bir video.
  • gif — Sessiz ve döngüde oynayan MP4 olarak bir GIF.
posterstringya da nullVideo ve GIF’lerde önizleme görselinin adresi, aksi halde null (2.10’dan beri).
aistringya da nullGörselin yapay zekâ ile yapılıp yapılmadığı, yükleyenin belirttiği ya da ekibin bir bildirimden sonra işaretlediği şekilde; bilgi yoksa null (2.11’den beri).
  • with — Yapay zekâ ile yapıldı.
  • without — Yapay zekâ olmadan yapıldı.
Örnek
{
  "url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
  "kind": "image",
  "poster": null,
  "ai": "without"
}

Poll

Bir gönderinin anketi.

AlanTürAnlamı
optionsPollOption[]Seçenekler, sırasıyla. Oy verirken option 0’dan sayılır.
totalintegerToplam oy, her zaman vardır.
multiplebooleanBirden fazla seçenek seçilip seçilemeyeceği.
endsAtintegerya da nullAnketin ne zaman bittiği (sonu yoksa null).
runningbooleanHâlâ oy verilip verilemeyeceği.
resultsVisiblebooleanSeçenek başına oyların gösterilip gösterilmediği (bkz). votes.
myVotesinteger[]Seçtiğin seçenekler, 0’dan sayılarak.
Örnek
{
  "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

Bir anketin bir seçeneği.

AlanTürAnlamı
textstringSeçenek.
votesintegerya da nullAldığı oylar (sonuç saklandığı sürece null).
Örnek
{
  "text": "Lavender",
  "votes": 12
}

ProfileBrief

Başka nesnelerin içinde göründüğü haliyle bir profil: yazar olarak, bir aramada.

AlanTürAnlamı
idstringHesabın kimliği: /relations ve /conversations/{with} yollarının beklediği değer.
handlestring@ olmadan kısa ad, üyenin seçtiği şekilde yazılır.
namestringGörünen ad. :name: dahil emoji içerebilir.
verifiedbooleanHesabın doğrulanıp doğrulanmadığı.
accountKindstringNe tür bir hesap olduğu.
  • person — Bir kişi.
  • business — Bir işletme.
  • association — Bir dernek.
  • automated — Bot gibi otomatik bir hesap.
  • bot — Kendi anahtarıyla bir programın çalıştırdığı grup botu (2.18’den beri).
Örnek
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "verified": true,
  "accountKind": "person"
}

Profile

Açıklaması ve takipçileriyle tek başına bir profil.

ProfileBrief nesnesinin her alanı, ayrıca:

AlanTürAnlamı
aboutstringya da nullAçıklama (yoksa null).
websitestringya da nullProfilin web sitesi (yoksa null). 2.3 sürümünden beri.
websiteVerifiedbooleanWeb sitesinin rel=me ile bu profile bağlantı verip vermediği, haftalık kontrol edilir. 2.3 sürümünden beri.
followersintegerKaç hesabın onu takip ettiği.
createdAtintegerya da nullHesabın ne zaman oluşturulduğu (üye katılma tarihini gizlediği sürece null; 2.9’dan beri).
Örnek
{
  "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

Bir gönderinin yazıldığı grup.

AlanTürAnlamı
idstringGrubun kimliği.
namestringya da nullAdı.
Örnek
{
  "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "name": "Urban Gardening"
}

Community

Bu sunucunun bir grubu.

AlanTürAnlamı
idstringGrubun kimliği.
namestringAdı.
handlestringya da nullGrubu @# ile anmak için kısa ad. 2.15’ten beri.
descriptionstringya da nullAçıklama (yoksa null).
tagsstring[]Ele aldığı konular.
membersintegerKaç üyesi olduğu.
joinPolicystringİçeri nasıl girildiği.
  • open — Herkes katılabilir.
  • application — Katılmak, grubun kabul ettiği bir başvuru gerektirir.
  • invite — Yalnızca davetle.
visibilitystringKimin gördüğü. internal ve hidden yalnızca üyeleri (2.15’ten beri).
  • open — Herkese görünür.
  • internal — Dizinde bulunmaz, ama adresiyle ulaşılır.
  • hidden — Yalnızca üyeleri için.
feedChannelbooleanAkış kanalının açık olup olmadığı. 2.15’ten beri.
sparksintegerGrubun şu an kaç kıvılcımı olduğu (2.19’dan beri).
perksstring[]Kıvılcımlarının ödediği avantajlar (2.19’dan beri).
membershipMembershipya da nullHesabının grupta ne olduğu ve neyi yapabildiği; üye değilse null. 2.15’ten beri.
Örnek
{
  "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

Hesabının grupta ne olduğu ve neyi yapabildiği.

AlanTürAnlamı
leaderstringya da nullGrubu kurduysan veya birlikte yönetiyorsan; değilse null.
  • founder — Kurucu.
  • manager — Ortak yönetici.
rolesstring[]Rollerinin id’leri, en üstteki önce.
permissionsstring[]Grupta neleri yapabildiğin.
mutedUntilintegerya da nullBir susturmanın seni burada ne zamana kadar susturduğu; yoksa null.
Örnek
{
  "leader": null,
  "roles": [
    "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
  ],
  "permissions": [
    "attach",
    "invite",
    "send",
    "view"
  ],
  "mutedUntil": null
}

Person

Kısaca bir üye.

AlanTürAnlamı
idstringHesabın id’si.
handlestringKullanıcı adı, @ olmadan.
namestringGörünen ad.
botbooleanHesabın bot olup olmadığı (2.18’den beri).
Örnek
{
  "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
  "handle": "jon",
  "name": "Jon",
  "bot": false
}

Channel

Bir grubun kanalı.

AlanTürAnlamı
idstringid.
kindstringKanalın türü.
  • feed — Gönderileri herkese açık akışta da görünen akış kanalı.
  • chat — Bir sohbet.
  • voice — Bir ses kanalı; konuşma yalnızca uygulamada olur.
  • hub — Grubun merkezi: grubu anlatan sayfası. Her zaman vardır, mesajsızdır.
namestringya da null# olmadan ad; uygulamanın her dilde verdiği ad için null.
topicstringKonu; yoksa boş.
categoryChannelCategoryya da nullKategori; yoksa null.
unreadintegerBaşkalarının henüz okumadığın mesaj sayısı, en fazla 100.
permissionsstring[]Bu kanalda neleri yapabildiğin.
symbolChannelSymbolSimgesi; grup bir şekil belirlerse şekil zaten grubunkidir.
Örnek
{
  "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

Bir kanalın bulunduğu kategori.

AlanTürAnlamı
idstringid.
namestringAd.
symbolChannelSymbolSimgesi.
Örnek
{
  "id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "name": "Garden",
  "symbol": {
    "emoji": null,
    "icon": null,
    "image": null,
    "color": null,
    "shape": null
  }
}

ChannelSymbol

Bir kanalın ya da kategorinin simgesi: emoji, simge ve resimden en fazla biri, yoksa türünün işareti.

AlanTürAnlamı
emojistringya da nullEmoji; yoksa null.
iconstringya da nullUygulama setindeki simgenin adı; yoksa null.
imagestringya da nullKendi resminin adresi; yoksa null.
colorstringya da nullKutucuğun rengi; türünün rengi için null.
shapestringya da nullKutucuğun şekli; daire için null.
Örnek
{
  "emoji": "🌻",
  "icon": null,
  "image": null,
  "color": "amber",
  "shape": "circle"
}

ChannelMessage

Bir sohbet kanalındaki mesaj.

AlanTürAnlamı
idstringid.
textstringya da nullMetin (yalnızca görsel veya ses içeren mesajda null).
authorPersonKimin yazdığı.
mediaMedia[]Görselleri ve sesli mesajları; yoksa boş.
replyTostringya da nullYanıtladığı mesajın id’si; yoksa null.
roleColorstringya da nullYazarın rengi olan en yüksek rolünün rengi; yoksa null.
threadOfstringya da nullBu mesajın konusunda yanıt verdiği mesaj; sohbette null.
threadCountintegerBu mesajın konusunda kaç yanıt olduğu.
cardobjectya da nullBir botun kartı: title, text, color ve fields; yoksa null.
buttonsobject[]Bir botun düğmeleri: her biri id, label ve style.
createdAtintegerNe zaman yazıldığı.
Örnek
{
  "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

Bir grubun rolü.

AlanTürAnlamı
idstringid.
namestringya da nullAd; @everyone için null.
everyonebooleanTüm üyelerin rolü olan @everyone olup olmadığı.
colorstringya da nullRenk: indigo, violet, rose, amber, green veya teal; yoksa null.
permissionsstring[]İzinleri.
membersintegerKaç kişide olduğu; @everyone için tüm üyeler.
editablebooleanHesabının onu değiştirip değiştiremeyeceği.
selfablebooleanÜyelerin rolü kendilerinin alıp bırakıp bırakmadığı.
Örnek
{
  "id": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
  "name": "Gardeners",
  "everyone": false,
  "color": "green",
  "permissions": [
    "attach",
    "invite",
    "send",
    "view"
  ],
  "members": 24,
  "editable": true,
  "selfable": false
}

GroupMember

Bir grubun üyesi ve rolleri.

Person nesnesinin her alanı, ayrıca:

AlanTürAnlamı
leaderstringya da nullÜye grubu kurduysa veya birlikte yönetiyorsa; değilse null.
  • founder — Kurucu.
  • manager — Ortak yönetici.
rolesstring[]Rollerinin id’leri, en üstteki önce.
mutedUntilintegerya da nullHesabın susturma verebiliyorsa üyenin ne zamana kadar susturulduğu; aksi halde null.
Örnek
{
  "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
  "handle": "jon",
  "name": "Jon",
  "bot": false,
  "leader": null,
  "roles": [
    "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
  ],
  "mutedUntil": null
}

ChannelOverride

Bir rolün bir kanalda gruptan farklı olarak yapabildikleri.

AlanTürAnlamı
rolestringRolün id’si.
allowstring[]Burada ek olarak yapabildikleri.
denystring[]Burada yapamadıkları.
Örnek
{
  "role": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
  "allow": [
    "send"
  ],
  "deny": []
}

Bell

Bir grubun zili.

AlanTürAnlamı
levelstringHangi bildirimlerin geldiği.
  • all — Akış kanalındaki her yeni gönderi, artı @everyone.
  • important — Yönetimin akış kanalındaki gönderileri, artı @everyone.
  • off — Hiçbir şey; @ad ile anılırsan hariç.
Örnek
{
  "level": "important"
}

InviteLink

Bir grubun davet bağlantısı.

AlanTürAnlamı
codestringKod.
urlstringPaylaşılacak adres.
createdByPersonya da nullKimin oluşturduğu; hesap silinmişse null.
createdAtintegerNe zaman oluşturulduğu.
expiresAtintegerya da nullNe zamana kadar geçerli olduğu; süresizse null.
usesintegerKaç kez kullanıldığı.
maxUsesintegerya da nullKaç kez kullanılabileceği; sınırsızsa null.
Örnek
{
  "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

Bir davet bağlantısının nereye götürdüğü.

AlanTürAnlamı
communityInviteGroupGrup.
memberbooleanHesabının zaten üye olup olmadığı.
Örnek
{
  "community": {
    "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
    "name": "Urban Gardening",
    "members": 312,
    "rules": [
      "Be kind.",
      "No advertising."
    ]
  },
  "member": false
}

InviteGroup

Bir davet bağlantısının arkasındaki grup.

AlanTürAnlamı
idstringid.
namestringAd.
membersintegerKaç üyesi olduğu.
rulesstring[]Katılırken kabul edilen kuralları; yoksa boş.
Örnek
{
  "id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
  "name": "Urban Gardening",
  "members": 312,
  "rules": [
    "Be kind.",
    "No advertising."
  ]
}

Joined

Bir davet bağlantısıyla katılım.

AlanTürAnlamı
communitystringGrubun id’si.
Örnek
{
  "community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"
}

LogEntry

Yönetimin kaydındaki bir giriş.

AlanTürAnlamı
idstringid.
actionstringNe olduğu.
  • post_removed — Bir gönderi.
  • member_removed — Bir üye çıkarıldı, 2.16 öncesi (90 gün dışarıda).
  • message_removed — Bir sohbet kanalındaki mesaj.
  • member_kicked — Bir atma.
  • member_banned — Bir yasak.
  • member_unbanned — Kaldırılan bir yasak.
  • member_timed_out — Bir susturma.
  • timeout_lifted — Kaldırılan bir susturma.
  • voice_muted — Bir ses kanalında susturuldu.
  • voice_removed — Bir ses kanalından çıkarıldı.
  • bot_added — Gruba bir bot eklendi (2.18’den beri).
  • bot_removed — Gruptan bir bot çıkarıldı (2.18’den beri).
memberPersonKimi ilgilendirdiği.
reasonstringGerekçe; mesajlarda ve verilmediğinde boş.
bystringya da nullYapanın adı; hesap silindiyse null.
createdAtintegerNe zaman.
Örnek
{
  "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

Bir gruptan yasak.

AlanTürAnlamı
memberPersonKimin yasaklı olduğu.
untilintegerya da nullNe zamana kadar; kaldırılana kadar null.
createdAtintegerya da nullNe zamandan beri; 2.16 öncesi yasaklarda null.
bystringya da nullYasaklayanın adı; bilinmiyorsa null.
Örnek
{
  "member": {
    "id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
    "handle": "jon",
    "name": "Jon",
    "bot": false
  },
  "until": 1759228800000,
  "createdAt": 1758624000000,
  "by": "Mara 🌻"
}

Until

Bir susturmanın ya da yasağın ne zaman bittiği.

AlanTürAnlamı
untilintegerya da nullZaman; süresiz bir yasakta ya da kaldırılan bir susturmada null.
Örnek
{
  "until": 1758624600000
}

Tag

Bir etiket ve onu taşıyan gönderi sayısı.

AlanTürAnlamı
tagstring# olmadan etiket.
postsintegerOnu taşıyan yakın tarihli gönderi sayısı.
Örnek
{
  "tag": "garden",
  "posts": 58
}

SearchResult

Üç liste, boş olabilir.

AlanTürAnlamı
postsPost[]Eşleşen gönderiler, en yeni önce.
profilesProfileBrief[]Eşleşen profiller, kısa ada göre.
tagsTag[]Eşleşen etiketler, en çok kullanılan önce.
Örnek
{
  "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

Bu sunucunun bir emojisi.

AlanTürAnlamı
namestringİki nokta üst üste arasında durduğu haliyle ad.
urlstringGörselin bu sunucuya göre göreli adresi.
Örnek
{
  "name": "tellmelo",
  "url": "/api/media?id=e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"
}

Notification

Bir bildirim. Bir satır aynı türden birkaç olayı toplayabilir.

AlanTürAnlamı
idstringBildirimin kimliği.
kindstringNe olduğu.
  • reply — Biri sana yanıt verdi.
  • like — Biri gönderini beğendi.
  • reply_like — Biri yanıtına artı oy veriyor.
  • duel — Biri sana Akış Düellosu’nda meydan okuyor ya da meydan okuman oynandı.
  • reply_pick — Bir gönderinin sahibi yanıtını öne çıkarıyor.
  • repost — Biri gönderini yeniden paylaştı.
  • follow — Biri seni takip ediyor.
  • mention — Biri senden bahsetti.
  • group_mention — Biri yönettiğin bir gruptan bahsetti; text onun adıdır.
  • channel_mention — Biri gruplarından birinin sohbet kanalında senden bahsetti, @everyone dahil; üye actor olarak yer alır, cümle kanalı ve grubu adlandırır, mesajı asla.
  • message — Biri sana mesaj yazdı.
  • scheduled — Zamanlanmış bir gönderin yayımlandı.
  • video — Videosunu bekleyen bir gönderin yayımlandı ya da yeniden taslak oldu.
  • reminder — Kaydedilen bir gönderi için hatırlatma zamanı geldi.
  • report — Gönderdiğin bir şikâyetin ne olduğu.
  • moderation — Hesabınla ilgili bir karar: bir uyarı, bir kısıtlama, bir itiraz.
  • team — Ekip için yeni iş (yalnızca sahipler, yöneticiler ve moderatörler).
  • reward — Bir davet ödülü kaybolmak üzere ya da kayboldu.
  • gift — Ekipten bir hediye: bir abonelik ya da sana veya yönettiğin bir gruba kıvılcım.
  • present — Bir üyeden hediye: kıvılcım ya da abonelik süresi; üye actor olarak görünür.
  • spark — Kıvılcımların süresi yakında doluyor ya da yönettiğin bir grubun kıvılcımları artık avantajlarına yetmiyor.
  • loyalty — Sadakat ritmiyle ilgili: aktif bir hafta sayıldı ya da bir günü eksik, bir ödül yeni ya da kaybolmak üzere.
  • impact — On iki saatlik gönderilerinin bir gün sonra nasıl karşılandığı, tek bir bildirimde.
  • discovery — Keşfedildi programına bir davet ya da oradaki bir yerin başladığı veya bittiği.
  • group_post — Zili bunun için çalan bir grupta yeni bir gönderi.
  • group_moderation — Bir grubun yönetimi gönderilerinden birini ya da seni gruptan kaldırdı.
  • group — Bir üyenin bir grupta seninle ilgili yaptığı bir şey: davet etmek, kabul etmek ya da reddetmek, yardımcı yönetici yapmak, grubu devretmek ya da dağıtmak veya grubuna başvurmak; üye actor olarak görünür, grubun adı cümlenin sonunda yer alır.
  • coauthor — Biri seni bir gönderinin ortak yazarı olarak davet etti.
  • partner — Partner programından bir hatırlatma ya da partner rozetinin sona ermesi.
  • news — Takip ettiğin bir bölgede yeni bir makale.
  • pick — Bir gönderin haftanın ya da yılın gönderisi için aday ya da kazandı.
  • advent — Advent takviminde yeni bir kapı açık, bir kapı açıldı ya da bugünkü hâlâ bekliyor.
  • team_message — tellmelo ekibinin seçilen üyelere yazdığı bir mesaj.
  • challenge — Haftanın yeni bir meydan okuması başladı.
  • nudge — Bir kez: henüz kimsenin yanıtlamadığı bir gönderi ya da süren meydan okuma.
  • signin — Bir bilgisayar, orada şu anda giriş yapanın sen olup olmadığını soruyor.
textstringya da nullYalnızca şikâyet ve moderasyonda ilgili metin, aksi hâlde null.
actorActorKimin yaptığı.
postIdstringya da nullİlgili gönderi (hiçbir gönderiyle ilgili değilse null).
readbooleanOkundu olarak işaretlenip işaretlenmediği.
moreintegerBu satırın, adı geçen olayın ötesinde kaç olay daha temsil ettiği.
createdAtintegerİlk ne zaman olduğu.
updatedAtintegerSon kez ne zaman bir olay daha topladığı. Liste buna göre sıralanır.
Örnek
{
  "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

Bir bildirimi kimin tetiklediği.

AlanTürAnlamı
handlestringKısa ad.
namestringGörünen ad.
Örnek
{
  "handle": "jon",
  "name": "Jon"
}

Conversation

Gelen kutunun bir satırı.

AlanTürAnlamı
withstringDiğer hesabın kimliği: /conversations/{with}/messages yolunun beklediği değer.
handlestringOnun kısa adı.
namestringOnun görünen adı.
excerptstringya da nullSon mesajın başı (metni yoksa null).
truncatedbooleanAlıntının kısaltılıp kısaltılmadığı.
fromMebooleanSon mesajın senden olup olmadığı.
lastMessageIdstringSon mesajın kimliği.
unreadintegerOnun mesajlarından kaçını henüz okumadığın.
updatedAtintegerSon mesajın ne zaman yazıldığı.
Örnek
{
  "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

Bir sohbetteki mesaj.

AlanTürAnlamı
idstringMesajın kimliği.
textstringya da nullMetin (yalnızca görsellerden oluşan bir mesajda null).
fromstringOnu yazan hesabın kimliği.
tostringKime yazıldığı, hesabın kimliği olarak.
readbooleanAlıcının onu okuyup okumadığı.
mediaMedia[]Görselleri; yoksa boş.
replyTostringya da nullBu mesajın yanıtladığı mesajın id değeri (hiçbirini yanıtlamıyorsa null). 2.2 sürümünden beri.
createdAtintegerNe zaman gönderildiği.
Örnek
{
  "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

Sonraya planladığın bir mesaj.

AlanTürAnlamı
idstringPlanlanan mesajın id değeri.
tostringMesajı alacak hesabın id değeri.
textstringya da nullMetin; uçtan uca şifrelemede null.
sendAtintegerNe zaman gönderileceği.
statestringDurumu.
  • waiting — Zamanını bekliyor.
  • held — Abonelik bittiği için bekletiliyor. Kendin gönderebilir veya silebilirsin.
  • failed — Gönderilemedi.
Örnek
{
  "id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
  "to": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "text": "Happy birthday! 🎂",
  "sendAt": 1758710400000,
  "state": "waiting"
}

ScheduledPost

Henüz yayımlanmamış bir gönderin.

AlanTürAnlamı
idstringGönderinin kimliği.
textstringya da nullMetin.
communityIdstringya da nullYayımlanacağı grup (gruplar dışında null).
publishAtintegerya da nullNe zaman yayımlanacağı (başka bir şey beklerken null).
deleteAtintegerya da nullNe zaman kendiliğinden silineceği (null: hiçbir zaman).
waitingForstringNeyi beklediği.
  • time — Zamanını.
  • review — İnceleme için yazılmış bir metnin onayını.
  • check — Otomatik moderasyonun kontrolünü.
  • payment — Hediyelerinin ödemesini.
createdAtintegerNe zaman yazıldığı.
Örnek
{
  "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

Kaydedilmiş gönderilerden bir koleksiyon.

AlanTürAnlamı
idstringKoleksiyonun id değeri.
namestringAdı.
countintegerİçinde kaç gönderi olduğu.
Örnek
{
  "id": "6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718",
  "name": "Recipes",
  "count": 12
}

Event

Bir profilin yaklaşan etkinliği.

AlanTürAnlamı
idstringEtkinliğin id değeri.
titlestringBaşlık.
startsAtintegerBaşlangıç.
endsAtintegerya da nullBitiş; bitişsiz ise null.
placestringya da nullYer.
descriptionstringya da nullAçıklama.
signupsEventSignupsya da nullKayıtlar; kayıtsız ise null.
Örnek
{
  "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

Kaç kişinin kaydolduğu.

AlanTürAnlamı
countintegerKayıt sayısı.
goingbooleanKayıtlı olup olmadığın.
Örnek
{
  "count": 14,
  "going": true
}

EventSignup

Etkinliklerinden birine kaydolan biri.

AlanTürAnlamı
idstringHesabın id değeri.
handlestringKullanıcı adı.
namestringGörünen ad.
atintegerNe zaman kaydolduğu.
Örnek
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "at": 1758624000000
}

Picture

Yüklenmiş bir resim.

AlanTürAnlamı
idstringResmin id değeri.
urlstringNerede görülebileceği.
Örnek
{
  "id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"
}

EmojiPicture

Bir emojinin yüklenmiş resmi.

AlanTürAnlamı
idstringResmin id değeri.
urlstringNerede görülebileceği.
animatedbooleanHareketli olup olmadığı.
Örnek
{
  "id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "animated": false
}

OwnEmoji

Kendi emojilerinden biri.

AlanTürAnlamı
namestringAdı.
urlstringResmi.
animatedbooleanHareketli olup olmadığı.
restingbooleanAbonelik şu an daha az emojiye izin verdiği için dinleniyor: kalır ama kullanılamaz.
Örnek
{
  "name": "sunflower",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "animated": false,
  "resting": false
}

GroupEmoji

Bir grubun emojisi.

AlanTürAnlamı
namestringAdı.
urlstringResmi.
animatedbooleanHareketli olup olmadığı.
Örnek
{
  "name": "seedling",
  "url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
  "animated": false
}

BotEvent

Botun bir grubundaki olay.

AlanTürAnlamı
idstringNumarası, artan; devam etmek onunla olur (since, Last-Event-ID).
typestringNe olduğu.
  • message.created — Bir mesaj yazıldı.
  • message.deleted — Bir mesaj silindi.
  • member.joined — Biri katıldı.
  • member.left — Biri ayrıldı ya da çıkarıldı.
  • voice.joined — Biri bir sesli kanala katıldı.
  • command — Biri botun bir komutunu kullandı.
  • interaction — Biri botun bir mesajındaki düğmeye bastı.
communitystringGrup.
channelstringya da nullKanal; tüm grup için null.
createdAtintegerNe zaman olduğu.
dataobjectTüre göre ilgili veriler: message, member (reason ile), command ya da interaction.
Örnek
{
  "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

Bir botun komutu.

AlanTürAnlamı
namestringAdı, “/” olmadan.
descriptionstringNe yaptığı.
Örnek
{
  "name": "dice",
  "description": "Rolls a die"
}

VoiceSeat

Sesli kanalda bir yer.

AlanTürAnlamı
urlstringMedya sunucusunun adresi (LiveKit).
tokenstringBu kanalın tokenı, birkaç dakika geçerli.
iceServersobject[]Bağlantı için STUN ve TURN sunucuları.
speakbooleanBotun orada ses gönderip gönderemeyeceği.
videobooleanBotun orada görüntü gönderip gönderemeyeceği.
Örnek
{
  "url": "wss://voice.example.org",
  "token": "eyJhbGciOiJIUzI1NiJ9…",
  "iceServers": [
    {
      "urls": [
        "stun:turn.example.org:3478"
      ]
    }
  ],
  "speak": true,
  "video": false
}

Webhook

Webhook’larından biri.

AlanTürAnlamı
idstringWebhook’un id değeri.
urlstringAdresi.
kindsstring[]Nelerin bildirildiği.
activebooleanTeslimat alıp almadığı. Arka arkaya çok hata olursa kapatılır.
lastStatusintegerya da nullSon teslimatın HTTP durumu.
lastAtintegerya da nullSon teslimatın zamanı.
failuresintegerArka arkaya hatalar.
Örnek
{
  "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
  "url": "https://example.org/tellmelo-hook",
  "kinds": [
    "reply",
    "mention"
  ],
  "active": true,
  "lastStatus": 200,
  "lastAt": 1758624000000,
  "failures": 0
}

WebhookCreated

Sırrıyla birlikte yeni bir webhook.

AlanTürAnlamı
idstringWebhook’un id değeri.
secretstringİmzaların sırrı, yalnızca bu seferlik.
Örnek
{
  "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
  "secret": "whsec_3f9a…"
}

GroupBot

Bir grubun botu.

AlanTürAnlamı
idstringBot hesabının id değeri.
handlestringKısa adı.
namestringAdı.
descriptionstringSahibinin sözleriyle ne yaptığı.
permissionsstring[]Gruptaki rolünün izin verdikleri.
Örnek
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "gardenbot",
  "name": "Garden bot",
  "description": "Reminds the group of watering days.",
  "permissions": [
    "send",
    "view"
  ]
}

VoiceRoom

İçindeki kişilerle bir sesli kanal.

AlanTürAnlamı
channelstringKanalın id değeri.
peopleVoicePerson[]Şu an içinde kimlerin olduğu.
Örnek
{
  "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

Sesli kanaldaki biri.

AlanTürAnlamı
idstringHesabın id değeri.
handlestringKısa ad.
namestringGörünen ad.
mutedbooleanMikrofonunun kapalı olup olmadığı.
deafbooleanHiçbir şey duymayıp duymadığı (kendi seçimi).
camerabooleanKamerasının açık olup olmadığı.
screenbooleanEkran paylaşıp paylaşmadığı.
Örnek
{
  "id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
  "handle": "mara",
  "name": "Mara 🌻",
  "muted": true,
  "deaf": false,
  "camera": false,
  "screen": false
}

GiftDrop

Bir gönderinin altındaki hediyeler – alanların adları asla yer almaz.

AlanTürAnlamı
itemstringBir yerin içinde ne olduğu.
  • plan — Abonelik ayları (Destekçi).
  • sparks — Kıvılcımlar.
quantityintegerHer yerde ne kadar olduğu: ay ya da kıvılcım.
placesintegerToplam kaç yer olduğu.
leftintegerKaç yerin hâlâ boş olduğu.
audiencestringKimlerin alabileceği.
  • all — Herkes.
  • followers — Yalnızca hediye verenin takipçileri.
  • group — Yalnızca gönderinin grubundaki üyeler.
newAccountsboolean7 günden yeni hesapların da alıp alamayacağı.
statusstringDurum.
  • awaiting_payment — Ödeme bekleniyor; gönderi henüz yayımlanmadı.
  • open — Hâlâ alınacak yerler var.
  • closed — Bitti: hepsi alındı, ödeme iade edildi ya da gönderi silindi.
claimedbooleanSenin de bir yerin olup olmadığı (herkese açık yollarda her zaman false).
Örnek
{
  "item": "plan",
  "quantity": 3,
  "places": 10,
  "left": 4,
  "audience": "followers",
  "newAccounts": false,
  "status": "open",
  "claimed": true
}

OwnGiftDrop

Bir gönderinin altındaki hediyelerin, gönderi ve ödeme bilgisiyle.

GiftDrop nesnesinin her alanı, ayrıca:

AlanTürAnlamı
postIdstringAltında bulundukları gönderi.
fundingstringNasıl ödendikleri.
  • free — Ücretsiz.
  • quota — Kotadan.
  • payment — Ödendi.
createdAtintegerNe zaman oluşturuldukları.
Örnek
{
  "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

Bir kotada ne olduğu.

AlanTürAnlamı
monthsintegerHâlâ hediye edilebilecek abonelik ayları.
sparksintegerHâlâ hediye edilebilecek kıvılcımlar.
looksQuotaLook[]Stokta hâlâ hediye edilebilecek görünümler (2.13 sürümünden beri).
Örnek
{
  "months": 120,
  "sparks": 500,
  "looks": [
    {
      "id": "frame-gold",
      "name": "Goldring",
      "kind": "frame",
      "quantity": 25
    }
  ]
}

QuotaLook

Bir partnerin stokundaki bir görünüm, kalan adetleriyle (2.13 sürümünden beri).

AlanTürAnlamı
idstringGörünümün kimliği; hediye ederken itemId olarak gönder.
namestringGörünümün adı.
kindstringGörünümün türü.
  • frame — Profil çerçevesi.
  • background — Kapak efekti.
  • card — Profil kartı.
quantityintegerKaç adet kaldığı.
Örnek
{
  "id": "frame-gold",
  "name": "Goldring",
  "kind": "frame",
  "quantity": 25
}

QuotaGift

Kotadan verilmiş bir hediye.

AlanTürAnlamı
itemstringNe hediye edildiği.
  • plan — Abonelik ayları (Destekçi).
  • sparks — Kıvılcımlar.
  • shop — Stoktan bir görünüm (2.13 sürümünden beri).
quantityintegerNe kadar.
itemIdstringya da nullitem shop olduğunda hediye edilen görünüm; aksi halde null.
recipientActorKime.
createdAtintegerNe zaman.
Örnek
{
  "item": "plan",
  "quantity": 3,
  "itemId": null,
  "recipient": {
    "handle": "jon",
    "name": "Jon"
  },
  "createdAt": 1758627600000
}

MediaItem

Medya kitaplığından bir GIF veya video (2.14’ten beri).

AlanTürAnlamı
idstringID; gönderi paylaşırken media için.
kindstringGIF veya video.
  • gif — Sessiz ve döngüdeki bir MP4 olarak GIF.
  • video — Sesli, MP4 olarak video.
namestringAd.
keywordsstringAnahtar kelimeler, küçük harfle.
widthintegerPiksel cinsinden genişlik.
heightintegerPiksel cinsinden yükseklik.
secondsintegerSaniye cinsinden uzunluk; GIF’lerde 0.
urlstringBu örneğe göre göreli MP4 dosyası. Başlıktaki anahtarla yükle.
posterstringÖnizleme resmi, yine anahtarla.
uploaderActorKimin yüklediği.
minebooleanSenin olup olmadığı.
sharedbooleantellmelo’da herkesle paylaşılıp paylaşılmadığı.
anywherebooleanDiğer web sitelerinde de görünüp görünemeyeceği.
embedEmbedya da nullDiğer web siteleri için adresler; orada izin verilmediği sürece null.
Örnek
{
  "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

Diğer web siteleri için adresler. Anahtarsız çalışırlar.

AlanTürAnlamı
pagestringBir <iframe> için oynatıcı.
filestringKendi oynatıcın için MP4 dosyası.
posterstringÖnizleme resmi.
codestringHazır yerleştirme kodu.
Örnek
{
  "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

Başlatılmış bir yükleme.

AlanTürAnlamı
uploadstringBu yüklemenin ID’si.
pieceintegerBir parçanın en fazla kaç bayt olabileceği.
Örnek
{
  "upload": "e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b",
  "piece": 4194304
}

UploadPiece

Gelen bir parça.

AlanTürAnlamı
receivedintegerKaç baytın geldiği.
itemMediaItemya da nullSon parçadan sonra yeni GIF veya video, aksi halde null.
Örnek
{
  "received": 4194304,
  "item": null
}

Created

Bir şey oluşturan yazma işleminin yanıtı.

AlanTürAnlamı
idstringOluşturulan şeyin kimliği.
scheduledForintegerya da nullYayın zamanlandıysa ne zaman görüneceği (aksi halde null).
deleteAtintegerya da nullAyarlandıysa kendini ne zaman sileceği (aksi halde null).
Örnek
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "scheduledFor": null,
  "deleteAt": null
}

DropCreated

Hediyeli bir gönderi oluşturulduğunda gelen yanıt.

AlanTürAnlamı
idstringYeni gönderinin kimliği.
fundingstringHediyelerin nasıl ödendiği.
  • free — Ücretsiz.
  • quota — Kotadan.
Örnek
{
  "id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
  "funding": "quota"
}

Made

Az önce oluşturulan veya değiştirilen şey.

AlanTürAnlamı
idstringid; davet bağlantısında kodu.
Örnek
{
  "id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}

Ok

Geri verecek bir şeyi olmayan yazma işleminin yanıtı.

AlanTürAnlamı
okbooleanHer zaman true.
Örnek
{
  "ok": true
}

Makinenin okuyabildiği tanım

Bu sayfanın dayandığı tablo OpenAPI olarak https://api.tellmelo.com/v2/openapi.json adresinde.

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

Diğer web sitelerinde GIF’ler ve videolar

Bir üyenin paylaştığı ve diğer web sitelerinde de izin verdiği içeriği her web sitesi gösterebilir: anywhere=true ile arama onu bulur ve embed alanında adresler bulunur. Üye bunu geri alırsa, oradan birkaç dakika içinde kaybolur.

Parça parça yükleme

Önce başlat, sonra dosyayı parçalar halinde gönder. Daha büyük bir dosyayı piece baytlık parçalara böl; her parçada offset o parçanın konumunu belirtsin. Son parçadan sonra hazır GIF veya video gelir.

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": { … } } }

Yerleştirme

Oynatıcı GIF’i döngüde, videoyu kontrollerle gösterir; altında adı ve kimin paylaştığı yer alır. embed.code içindeki kodu sayfaya koy:

<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’i tanıyan forumlar ve programlar, oynatıcının adresi verildiğinde kodu kendileri alır:

https://tellmelo.com/api/oembed?url=https%3A%2F%2Ftellmelo.com%2Fmedia-embed%2Fb2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918

Anahtar senin sunucunda durmalı, asla bir web sayfasının kodunda değil. Aramayı ve yüklemeyi sunucun üzerinden yap; embed içindeki adreslerin anahtara ihtiyacı yok.

Web siten için GIF seçici

Bir site anahtarıyla (Geliştirici alanı → Web siten için GIF seçici) web siten hazır bir arama kazanır: sayfaya iki satır eklersin, düğmeye bir tıklama aramayı açar. Anahtar herkese açıktır ve yalnızca onun için girdiğin adreslerde çalışır. Seçici yalnızca üyelerin diğer web sitelerinde izin verdiklerini gösterir.

<script src="https://tellmelo.com/picker.js" data-key="tmsk_…" defer></script>
<button type="button" data-tellmelo-picker>GIF</button>

Bir şey seçildiğinde düğme, seçilen öğeyle birlikte tellmelo:pick olayını tetikler: yerleştirmek için code, ayrıca file, poster, name ve author. data-target="#field" ile code değerini doğrudan bir metin alanına ekler, data-kind="video" ile video arar. Dosyayı kendin yerleştirirsen onu paylaşan kişinin adını göster.

document.addEventListener('tellmelo:pick', (event) => {
  const { code, file, name, author } = event.detail;
});

tellmelo ile giriş

Başka siteler, üyelerin OpenID Connect ile tellmelo hesaplarıyla giriş yapmasını sağlar (PKCE ile yetkilendirme kodu). Site yalnızca kullanıcı adını, onaylanmış e-posta adresini ve her üye için kendine özel bir kimliği (sub) alır.

Uygulama başvurusunu “Geliştirici alanı → tellmelo ile giriş” altından yaparsın. Ekip her uygulamayı inceler; ardından orada istemci kimliğini görürsün ve sunuculu uygulamalar için bir kez gösterilen istemci gizli anahtarını oluşturursun.

Bir kütüphanenin ihtiyaç duyduğu her şey keşif belgesinde:

https://tellmelo.com/.well-known/openid-configuration
  1. Üyeyi response_type=code, client_id, redirect_uri (kayıtlı olduğu gibi), scope=openid profile email, state, nonce ve code_challenge_method=S256 ile birlikte code_challenge ile /oauth/authorize adresine gönder.
  2. Kodu bir dakika içinde /oauth/token adresinde değiştir: grant_type=authorization_code, code, redirect_uri ve code_verifier; sunuculu uygulamalar ayrıca gizli anahtarı Basic kimlik doğrulamayla ya da formda gönderir.
  3. Kimlik token’ı (RS256, anahtarlar /oauth/jwks adresinde) sub içerir; profile ile preferred_username, email ile email ve email_verified de gelir. Erişim token’ı 10 dakika geçerlidir ve yalnızca /oauth/userinfo okur.
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
}

Yenileme token’ı yoktur: tellmelo giriş yaptırır, kalıcı erişim vermez. Bir üye siteyi kaldırırsa ya da ekip uygulamayı askıya alırsa /oauth/userinfo hemen 401 döner. prompt=none sayfa göstermeden kontrol eder, prompt=consent yeniden sorar.

Beklediğimiz

Her yerdeki kurallar geçerli: taciz yok, spam yok, hakkın olmayan içerik yok. Anahtarının yazdıklarından sen sorumlusun.

Başkalarının GIF ve videolarını web sitende yalnızca embed içeriyorlarsa, bu adresler üzerinden ve paylaşan kişinin adıyla göster. Bir şey artık mevcut değilse göstermeyi bırak. Dosyaları kendi koleksiyonuna kopyalama.

KünyeGizlilikKullanım koşullarıDurumUygulamalar