/posts
posts:create, posts:write (eski uyumluluk), posts:publish (yalnızca publish_now)
Header'lar
Authorization
*API anahtarı. Format: Bearer xpl_live_...
Idempotency-Key
*Aynı yazma isteğinin güvenle tekrar denenmesi için 1-255 karakterlik benzersiz değer.
Content-Type
JSON body gönderirken application/json kullan.
Body
accountId
*Gönderinin bağlanacağı XPlanner hesap id'si.
text
*Gönderi metni. X karakter hesabına göre en fazla 280 karakter.
mode
*draft, scheduled veya publish_now.
scheduledAt
mode=scheduled için zorunlu ISO tarih. Gelecekte olmalı. publish_now için otomatik atanır.
title
Opsiyonel başlık. Varsayılan API Gönderisi.
mediaRefs
XPlanner storage bucket'ından gelen medya referansları veya public storage URL'leri.
mediaMetadata
mediaRefs ile aynı sırada altText gibi medya metadata alanları. Alt text en fazla 1000 karakterdir.
Mod değerleri
draft
Planlanmamış taslak oluşturur. scheduledAt gerekmez ve gönderi X'e iletilmez.
scheduled
scheduledAt alanındaki gelecek zaman için yayın kuyruğuna gönderi ekler. scheduledAt zorunludur ve gelecekte olmalıdır.
publish_now
posts:publish scope ister. İstek anında kabul edilir ve paylaşım işi yayın kuyruğuna alınır.
Anında yayın limitleri
POST /posts
Gönderi oluşturma endpointine uygulanan endpoint yazma limitidir.
publish_now
Aynı API anahtarının anında yayın isteklerine uygulanan ek limittir.
X hesabı
Aynı X hesabı için anında yayın isteklerine uygulanan hesap bazlı ek limittir.
Medya kuralları
mediaRefs
XPlanner storage bucket'ından gelen medya referansları veya public storage URL'leri kabul edilir.
görsel
Gönderiye en fazla 4 görsel eklenebilir.
GIF
GIF gönderilerinde tek GIF kullanılabilir ve görsellerle karıştırılamaz.
mediaMetadata
Alt text gibi metadata alanları mediaRefs ile aynı sırada gönderilir. Alt text en fazla 1000 karakterdir.
Cevaplar
Taslak veya zamanlanmış gönderi oluşturuldu.
publish_now isteği kabul edildi ve yayın kuyruğuna alındı.
Scope, abonelik veya kota engeli.
cURL
curl -X POST https://api.xplanner.co/v1/posts \ -H "Authorization: Bearer $XPLANNER_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: post-001" \ -d '{ "accountId": "acc_123", "mode": "scheduled", "scheduledAt": "2026-05-20T09:00:00.000Z", "title": "Haftalık güncelleme", "text": "Bu hafta ürün tarafında şunları çözdük..." }'Cevap
{ "data": { "id": "post_123", "status": "scheduled", "title": "Haftalık güncelleme", "text": "Bu hafta ürün tarafında şunları çözdük...", "scheduledAt": "2026-05-20T09:00:00.000Z", "media": [], "mediaRefs": [], "mediaMetadata": [], "xPostId": null, "createdAt": "2026-05-15T09:00:00.000Z", "updatedAt": "2026-05-15T09:00:00.000Z" }, "requestId": "req_123"}