Spext LogoSpext
Geliştirici Platformuv1.0.0 Kararlı

Spext Geliştirici Platformu & REST API

Güvenli, şifreli ve süreli transfer altyapısını REST API, gerçek zamanlı Webhook ve yapay zeka Model Context Protocol (MCP) ile kendi uygulamanıza bağlayın.

Temel API Adresi:https://spext.fun/api/v1
OpenAPI 3.1 JSON
API Anahtarı Oluştur
HTTP/JSON

REST API v1

Metin, dosya ve bağlantıları programatik olarak oluşturun, sorgulayın ve yaşam döngülerini yönetin.

HMAC SHA-256

Gerçek Zamanlı Webhooks

Transfer oluşturulduğunda, indirildiğinde veya silindiğinde HMAC SHA-256 imzalı anlık bildirimler alın.

AI Tools

Model Context Protocol (MCP)

Spext yeteneklerini Claude Desktop, Cursor ve bağımsız AI ajanlarına yerel araç olarak bağlayın.

AES-256 GCM

Kriptografik Güvenlik (SSP)

PBKDF2 ve AES-GCM şifreleme zarfı ile sıfır bilgi (zero-knowledge) gizlilik prensibi.

Kendi Kendini İmha

Tek Seferlik (Burn-After-Reading)

İlk okuma anında bellekten ve veritabanından kalıcı olarak silinen atomik güvenlik mimarisi.

Idempotent

Idempotency Desteği

Ağ kopmalarında Idempotency-Key başlığı ile mükerrer işlem riskini sıfıra indirin.

Hızlı Başlangıç (Quickstart)

3 adımda ilk güvenli transferinizi oluşturun ve sisteminize entegre edin.

01

Geliştirici API Anahtarınızı Alın

Hesap panelindeki Geliştirici Ayarları bölümünden spx_sk_ ile başlayan anahtarınızı oluşturun.

02

Yetkilendirme Başlığını Ekleyin

Tüm isteklere Authorization: Bearer <API_KEY> başlığını ekleyin.

03

İlk Transferinizi Gönderin

Aşağıdaki kod örneklerinden birini seçerek saniyeler içinde şifreli transfer başlatın.

curl -X POST https://spext.fun/api/v1/transfers \
  -H "Authorization: Bearer spx_sk_live_abc123" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "type": "text",
    "text": "Gizli konfigürasyon anahtarı ve veritabanı parolası",
    "expiration": "1h",
    "oneTime": true
  }'

Kimlik Doğrulama & İzin Kapsamları (Scopes)

Spext REST API, endüstri standardı Bearer Token yöntemi ile korunmaktadır.

API anahtarlarınız veri tabanında yalnızca SHA-256 özeti (hash) olarak saklanır. Ham anahtar yalnızca oluşturma anında bir kere gösterilir.

Authorization

Authorization:Bearer spx_sk_live_...

Yetki Kapsamları (Granular Scopes)

En az yetki prensibi (least privilege) doğrultusunda API anahtarlarınıza yalnızca ihtiyaç duyulan kapsamları verin:

ScopeAçıklama
transfer:createMetin, bağlantı ve dosya transferi oluşturabilme izni
transfer:readTransfer durumu, kalan süre ve metadata sorgulama izni
transfer:deleteOluşturulan bir transferi süresinden önce anında imha etme yetkisi
request:createDış kullanıcılardan dosya toplama talep bağlantısı (Request) oluşturma
request:readDosya talebi durumunu ve yüklenen dosyaları denetleme
secret:createTek seferlik kendini imha eden (Burn-after-reading) sır oluşturma
room:createGerçek zamanlı uçtan uca şifreli iş birliği odası oluşturma
room:writeOda içerisine mesaj ve geçici dosya bırakma yetkisi

SECURITY BEST PRACTICES

  • API anahtarlarınızı asla istemci tarafı (client-side) JavaScript kodunda veya Git depolarında tutmayın.
  • Üretim ortamında ortam değişkenleri (Environment Variables) kullanın.
  • Sızma şüphesinde Geliştirici Ayarları panelinden anahtarı derhal iptal edin (Revoke).
  • Webhook isteklerinde her zaman X-Spext-Signature imzasını doğrulayın.

Canlı API Test Aracı & İstek Simülatörü

SANDBOX SIMULATOR

Kod yazmadan önce gerçek uç noktaları test edin, parametreleri değiştirin ve yanıt akışını izleyin.

POSThttps://spext.fun/api/v1/transfers
Click "İstek Gönder" to execute...

API Referansı (Endpoints)

REST documentation with schemas, parameters, payloads, and response structures.

POST/transfers
Transfers

Güvenli Transfer Oluştur

Metin, hedef link veya dosya için süreli ve şifreli yeni bir paylaşım bağlantısı oluşturur.

PARAMETERS
FieldTypeRequiredDescription
typestringRequiredTransfer tipi: "text", "url" veya "file"
textstringOptionalMetin içeriği (type="text" ise zorunlu)
targetUrlstringOptionalYönlendirilecek bağlantı (type="url" ise zorunlu)
expirationstringOptionalGeçerlilik süresi: 15m, 1h, 6h, 1d, 7d veya forever
oneTimebooleanOptionalİlk görüntülemede otomatik silinsin mi?
passwordstringOptionalErişim için zorunlu kılınacak şifre (opsiyonel)
Request Payload (JSON)
{
  "type": "text",
  "text": "Veritabanı API Anahtarı: prod_sec_9998271",
  "expiration": "1h",
  "oneTime": true
}
Response (201)
{
  "success": true,
  "id": "x8k9m2p1",
  "shareUrl": "https://spext.fun/tr/x8k9m2p1",
  "type": "text",
  "expiresAt": "2026-09-01T11:00:00.000Z",
  "oneTime": true,
  "createdAt": "2026-09-01T10:00:00.000Z"
}
GET/transfers
Transfers

Transferleri Listele

API anahtarına ait aktif ve geçmiş transferlerin özet listesini getirir.

PARAMETERS
FieldTypeRequiredDescription
limitnumberOptionalDöndürülecek kayıt sayısı (maks 100)
statusstringOptionalFiltre: "active", "expired", "consumed"
Response (200)
{
  "transfers": [
    {
      "id": "x8k9m2p1",
      "type": "text",
      "views": 0,
      "expiresAt": "2026-09-01T11:00:00.000Z",
      "status": "active"
    }
  ],
  "total": 1
}
GET/transfers/{id}
Transfers

Transfer Detayı Getir

Belirli bir transferin durumunu, kalan süresini ve erişim kayıtlarını getirir.

PARAMETERS
FieldTypeRequiredDescription
idstringRequiredTransfer benzersiz ID veya 4-8 karakterli kodu
Response (200)
{
  "id": "x8k9m2p1",
  "type": "text",
  "contentSnippet": "Veritabanı API Anahtarı: prod_***",
  "views": 1,
  "maxViews": 1,
  "expiresAt": "2026-09-01T11:00:00.000Z",
  "isConsumed": false
}
DELETE/transfers/{id}
Transfers

Transferi İptal Et / Kalıcı Sil

Transferi süresini beklemeden anında erişime kapatır ve kalıcı silme sürecine alır.

PARAMETERS
FieldTypeRequiredDescription
idstringRequiredİmha edilecek transfer ID değeri
Response (200)
{
  "success": true,
  "message": "Transfer başarıyla silindi ve erişime kapatıldı."
}
POST/requests
Requests

Dosya Talep Bağlantısı Oluştur

Üçüncü tarafların size güvenli ve PIN korumalı dosya gönderebileceği bir talep bağlantısı açar.

PARAMETERS
FieldTypeRequiredDescription
titlestringRequiredTalep başlığı (örneğin: Kimlik Doğrulama Belgeleri)
expirationstringOptionalTalep süresi
Request Payload (JSON)
{
  "title": "Sözleşme Ekleri ve Kimlik Tarama",
  "expiration": "1d"
}
Response (201)
{
  "requestId": "req_87192",
  "requestUrl": "https://spext.fun/tr/request/req_87192",
  "pin": "849201",
  "expiresAt": "2026-09-02T10:00:00.000Z"
}
POST/secrets
Secrets

Kendini İmha Eden Sır Oluştur

Görüntülendiği saniye tarayıcıda çözülüp sunucu belleğinden tamamen silinen sıfır bilgi sırrı.

PARAMETERS
FieldTypeRequiredDescription
secretstringRequiredGizli metin / parola
passwordstringOptionalEkstra şifre koruması
expirationstringOptionalMaksimum bekleme süresi
Request Payload (JSON)
{
  "secret": "AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "expiration": "1h"
}
Response (201)
{
  "secretId": "sec_99182",
  "secretUrl": "https://spext.fun/tr/secret/sec_99182",
  "burnAfterRead": true,
  "expiresAt": "2026-09-01T11:00:00.000Z"
}
POST/rooms
Collaboration

Şifreli Geçici Çalışma Odası Aç

Ekipler veya AI ajanları arasında şifreli geçici canlı mesajlaşma ve dosya paylaşım odası.

PARAMETERS
FieldTypeRequiredDescription
namestringRequiredOda adı veya proje başlığı
ttlHoursnumberOptionalOda yaşam süresi (saat)
Request Payload (JSON)
{
  "name": "Incident-Response-WarRoom-402",
  "ttlHours": 12
}
Response (201)
{
  "roomId": "room_war_402",
  "roomUrl": "https://spext.fun/tr/room/room_war_402",
  "expiresAt": "2026-09-01T22:00:00.000Z"
}
POST/debug-share
Diagnostics

Arındırılmış Teşhis Günlüğü Paylaş

Hassas token ve kimlik bilgileri otomatik maskelenmiş sunucu/istemci log paylaşımı.

PARAMETERS
FieldTypeRequiredDescription
diagnosticsstringRequiredHata veya sistem detayları
logsstringRequiredHam konsol logları
Request Payload (JSON)
{
  "diagnostics": "Crash on worker process 3 during heavy batch export",
  "logs": "Error: Connection timeout at DB_POOL (ip: 10.0.0.4)"
}
Response (201)
{
  "debugId": "dbg_77192",
  "shareUrl": "https://spext.fun/tr/dbg_77192",
  "sanitized": true
}

Webhooks & Olay Bildirimleri

Transfer erişimlerini, dosya indirmelerini ve sır tüketimlerini sunucunuza push bildirim olarak alın.

Spext, her webhook isteğine X-Spext-Signature başlığı ekler. İsteğin gerçekten Spext sunucularından geldiğini teyit etmek için imza doğrulamasını uygulayın:

transfer.created

Yeni bir metin, link veya dosya transferi başarıyla oluşturulduğunda tetiklenir.

transfer.completed

Alıcı transferi görüntülediğinde veya dosyayı indirdiğinde tetiklenir.

transfer.deleted

Transfer süresi dolduğunda veya API/panel üzerinden silindiğinde tetiklenir.

request.created

Yeni bir dosya toplama talep linki oluşturulduğunda tetiklenir.

request.closed

Gönderici dosyayı yükleyip talep tamamlandığında tetiklenir.

secret.consumed

Burn-after-reading sırrı alıcı tarafından açılıp kalıcı olarak yok edildiğinde tetiklenir.

Kriptografik İmza Doğrulama (HMAC SHA-256)

Spext, her webhook isteğine X-Spext-Signature başlığı ekler. İsteğin gerçekten Spext sunucularından geldiğini teyit etmek için imza doğrulamasını uygulayın:

import crypto from 'crypto';

export function verifySpextWebhook(payloadString, signatureHeader, secretKey) {
  const [tPart, v1Part] = signatureHeader.split(',');
  const timestamp = tPart.split('=')[1];
  const signature = v1Part.split('=')[1];

  const signedPayload = `${timestamp}.${payloadString}`;
  const expectedSignature = crypto
    .createHmac('sha256', secretKey)
    .update(signedPayload)
    .digest('hex');

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expectedSignature)
  );
}

Model Context Protocol (MCP) Sunucusu

Spext yeteneklerini doğrudan Claude Desktop, Cursor, LangChain ve AI ajanlarına bağlayın.

Yapay zeka modellerinin hassas logları, tokenları ve kod bloklarını doğrudan düz metin olarak sohbette bırakması güvenlik ihlallerine yol açar. Spext MCP sayesinde model, bilgiyi tek seferlik ve şifreli bir bağlantıya dönüştürerek kullanıcıya sunar.

Claude Desktop Yapılandırması (claude_desktop_config.json)

{
  "mcpServers": {
    "spext": {
      "command": "npx",
      "args": ["-y", "@spext/mcp-server"],
      "env": {
        "SPEXT_API_KEY": "spx_sk_live_your_key_here"
      }
    }
  }
}
AI AGENT TOOLS
spext_create_transfer

Metin veya bağlantıyı süreli/şifreli olarak paylaşılabilir bir Spext linkine dönüştürür.

spext_get_transfer

Belirtilen transfer ID değerinin aktiflik ve kalan süre durumunu sorgular.

spext_create_secret

Modelin hassas sırları ilk açılışta yok olacak şekilde teslim etmesini sağlar.

Hız Limitleri, Hata Kodları & Idempotency

Yüksek erişilebilirlik ve güvenilirlik için belirlenmiş standart limit ve protokoller.

Standart API Anahtarı120 istek / dakika

Kayan Pencere (Sliding Window)

Anonim İstekler20 istek / dakika

IP Bazlı Sınırlandırma

Dosya Yükleme BoyutuMaksimum 25 MiB

Transfer Başına

HTTP Status Codes

CodeStatusDescription
200OKİstek başarılı oldu ve talep edilen veri döndü.
201CreatedKaynak (transfer, talep, oda vb.) başarıyla oluşturuldu.
400Bad RequestEksik veya geçersiz parametre (ör. desteklenmeyen süre tipi).
401UnauthorizedGeçersiz veya eksik API anahtarı (spx_sk_...).
403ForbiddenAPI anahtarının bu işlem için yetki kapsamı (scope) bulunmuyor.
404Not FoundTransfer bulunamadı, süresi dolmuş veya daha önce imha edilmiş.
429Too Many RequestsDakikalık hız limiti aşıldı. Retry-After süresi kadar bekleyin.
500Internal ErrorSunucu altyapısında geçici bir hata. Lütfen tekrar deneyin.

Geliştirici Sıkça Sorulan Sorular

Entegrasyon sürecinde merak edilen teknik detaylar ve yanıtları.

Giriş yaptıktan sonra Hesap > Geliştirici Ayarları bölümünden dilediğiniz izin kapsamlarını (scopes) seçerek anında API anahtarı üretebilirsiniz.

Spext API ile Entegrasyona Hemen Başlayın

Geliştirici anahtarınızı 30 saniyede oluşturun, dakikalar içinde güvenli ve şifreli veri transferi yapın.

API Anahtarı Al