Tek anahtar.
Her kısa link.

ouo.io, aylink.co, shorte.st ve kayıtlı diğer kısaltıcıları gerçek adresine programatik olarak çözün. JSON gönderin, JSON alın; kimlik doğrulama tek bir başlıktan ibaret.

Temel URLhttps://api.kisalinkatla.comX-API-Key: bp_xxxxxxxx
senkron bekleme penceresi
10 sn
toplu istekte maks. URL
50
desteklenen alan adı
44
istek · POST /resolve
curl -sS -X POST https://api.kisalinkatla.com/resolve \
-H "X-API-Key: $BYPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://ouo.io/2yK4Pq"}'
yanıt · 200 OK
{
"status": "success",
"url": "https://ouo.io/2yK4Pq",
"result_url": "https://example.com/article",
"engine": "ouo",
"lane": "heavy",
"safety_status": null,
"cached": false,
"elapsed_ms": 8421,
"job_id": "7c1a9f3e-6b02-4a1d-9f41-2ac5d0e7b913"
}
BAŞLANGIÇ

İlk çağrı üç adımda.

Aşağıdaki üç blok olduğu gibi çalışır. Anahtarınızı yazın, kopyalayın, yapıştırın.

Makine-okunur:OpenAPIMarkdown— AI ve kod asistanları için

Authorization: Bearer DESTEKLENMİYOR

API anahtarı yalnızca X-API-Key başlığıyla gönderilir. Bearer token olarak gönderilen anahtar web oturumu sanılır ve 401 ile reddedilir; bu yanıt yapılandırılmış zarfı taşımaz, yalnızca {"detail": "…"} döner. Entegrasyonlarda en sık yapılan hata budur.

  1. 1

    Anahtarını oluştur

    Hesabına giriş yap ve anahtar sayfasından bir anahtar üret. Anahtar bp_ ile başlar ve yalnızca bir kez gösterilir; kaybedersen iptal edip yenisini oluştur. Aynı anda en fazla 3 aktif anahtarın olabilir.

    Anahtar sayfasına git
    shell
    export BYPASS_API_KEY="bp_xxxxxxxx"
  2. 2

    İlk çağrını yap

    Senkron uç nokta 10 saniyeye kadar bekler. İş bu sürede biterse sonucu doğrudan döndürür; bitmezse 202 ve bir job_id verir.

    curl · POST /resolve
    curl -sS -X POST https://api.kisalinkatla.com/resolve \
    -H "X-API-Key: $BYPASS_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"url": "https://ouo.io/2yK4Pq"}'
  3. 3

    Asenkron iş için poll döngüsü

    Ağır şerit (ouo.io, aylink.co, cpmlink, shorte.st, cuty.io) tarayıcı çalıştırır ve genelde 10–60 saniye sürer; en kötü durumda iki deneme + zaman aşımı ladder'ı (45/60/75 sn) nedeniyle birkaç dakika bulabilir. Bu işleri /bypass ile kuyruğa alıp /job/{job_id} ile sorgulayın. Önerilen: 2 saniyede bir, her turda 1,5 kat artan aralık (maks. 10 sn).

    curl · POST /bypass → GET /job/{job_id}
    # 1) İşi kuyruğa al (enqueue) → job_id
    JOB_ID=$(curl -sS -X POST https://api.kisalinkatla.com/bypass \
    -H "X-API-Key: $BYPASS_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"url": "https://ouo.io/2yK4Pq"}' \
    | python3 -c 'import sys, json; print(json.load(sys.stdin)["job_id"])')
    # 2) Terminal duruma kadar 2 sn aralıkla sor (poll kotadan DÜŞMEZ)
    while true; do
    BODY=$(curl -sS https://api.kisalinkatla.com/job/$JOB_ID -H "X-API-Key: $BYPASS_API_KEY")
    STATUS=$(printf '%s' "$BODY" | python3 -c 'import sys, json; print(json.load(sys.stdin)["status"])')
    echo "$STATUS"
    case "$STATUS" in
    success|dead) printf '%s\n' "$BODY"; break ;;
    esac
    sleep 2
    done
REFERANS

Uç noktaların tamamı.

Müşteriye açık uç noktalar bunlardır; canlı ve makine-okunur listesi GET /api-info çıktısındaki endpoints alanıdır. Buradaki kota maliyeti sözleşmedir: çağrı başına 1 birim, toplu istekte URL başına 1 birim, sorgulama (poll) uçları 0.

POST/resolveKota: 1

Senkron çözümleme — 10 sn'ye kadar bekler, aşılırsa 202 + job_id döner.

İstek gövdesi
{
"url": "https://ouo.io/2yK4Pq"
}
Yanıt
{
"status": "success",
"url": "https://ouo.io/2yK4Pq",
"result_url": "https://example.com/article",
"engine": "ouo",
"lane": "heavy",
"safety_status": null,
"cached": false,
"elapsed_ms": 8421,
"job_id": "7c1a9f3e-6b02-4a1d-9f41-2ac5d0e7b913"
}
Durum kodları
  • 200Sonuç hazır.
  • 20210 sn doldu; job_id ile /job/{job_id} sorgulanmalı.
  • 400invalid_url — URL https:// ile başlamalı, en fazla 2048 karakter.
  • 401missing_api_key / invalid_api_key
  • 403api_key_disabled
  • 422Desteklenmeyen alan adı, ölü link veya kalıcı başarısızlık. Kota iade edilir.
  • 429rate_limited (30/dk) veya quota_exceeded (günlük plan limiti).
Notlar
  • Cache isabetinde cached: true, elapsed_ms: 0 ve job_id: null döner — bu da normal bir 200 yanıtıdır.
  • safety_status alanı VirusTotal taramasını taşır. Tarama şu an yalnızca premium web oturumları için çalışır; API anahtarıyla gelen isteklerde bu alan null döner.
  • Ölü link (hedef kaldırılmış/erişilemez) 422 ile reddedilir ve düşen kota birimi otomatik iade edilir; başarısız bir iş kaydı oluşmaz.
POST/bypassKota: 1

Asenkron çözümleme — işi kuyruğa alır ve anında job_id döner.

İstek gövdesi
{
"url": "https://ouo.io/2yK4Pq"
}
Yanıt
{
"status": "started",
"job_id": "7c1a9f3e-6b02-4a1d-9f41-2ac5d0e7b913",
"lane": "heavy",
"message": "Job queued."
}
Durum kodları
  • 200status: "started" (kuyruğa alındı) veya cache isabetinde status: "success".
  • 400invalid_url
  • 401missing_api_key / invalid_api_key
  • 403api_key_disabled
  • 422Desteklenmeyen alan adı veya ölü link — kota iade edilir.
  • 429rate_limited / quota_exceeded
Notlar
  • Cache isabetinde status: "success" + cached: true ile sonuç anında döner; job_id yerine result_url alırsınız. İstemcinizin iki şekli de karşılaması gerekir.
  • Bellek-içi cache isabetinde düşen 1 kota birimi otomatik iade edilir; veritabanı cache isabetinde kota düşer.
  • lane alanı işin hangi şeritte çalıştığını söyler: fast (HTTP tabanlı, saniyeler) veya heavy (tarayıcı tabanlı, daha uzun).
GET/job/{job_id}Kota: 0

Bir işin durumunu ve sonucunu sorgular. Kotadan düşmez.

Yanıt
{
"job_id": "7c1a9f3e-6b02-4a1d-9f41-2ac5d0e7b913",
"status": "success",
"lane": "heavy",
"attempt": 1,
"max_attempts": 2,
"result_url": "https://example.com/article",
"engine_used": "ouo",
"safety_status": null,
"created_at": "2026-09-17T14:08:21.412000",
"completed_at": "2026-09-17T14:08:29.833000"
}
Durum kodları
  • 200İş bulundu.
  • 404İş yok ya da bu anahtara ait değil.
Notlar
  • status değerleri: pending → processing → success | dead (aradaki yeniden denemelerde retrying). Terminal durumlar: success ve dead.
  • dead veya retrying durumunda gövdeye last_error nesnesi eklenir.
  • Sahiplik kontrolü vardır: başka bir anahtarın işi sorgulandığında 404 döner (kimliğin var olup olmadığı sızdırılmaz).
  • Önerilen aralık 2 sn, her turda 1,5 kat backoff, üst sınır 10 sn.
GET/status/{job_id}eskimişKota: 0

GET /job/{job_id} için geriye dönük uyumluluk takma adı.

Yanıt
// GET /job/{job_id} ile birebir aynı gövde.
// Yeni entegrasyonlarda /job/{job_id} kullanın.
Durum kodları
  • 200İş bulundu.
  • 404İş yok ya da bu anahtara ait değil.
Notlar
  • Yanıt gövdesi /job/{job_id} ile birebir aynıdır ve bu uç kaldırılmayacaktır, ancak yeni entegrasyonlarda /job/{job_id} kullanın.
POST/batch/bypassKota: 1 × url

Toplu çözümleme — tek çağrıda en fazla 50 URL kuyruğa alır.

İstek gövdesi
{
"urls": [
"https://ouo.io/2yK4Pq",
"https://aylink.co/abc123"
]
}
Yanıt
{
"batch_id": "b7a3c1d0-91e4-4d2b-8f77-0c5a9e31ab42",
"count": 2,
"jobs": [
{
"url": "https://ouo.io/2yK4Pq",
"job_id": "7c1a9f3e-6b02-4a1d-9f41-2ac5d0e7b913",
"lane": "heavy",
"status": "pending"
},
{
"url": "https://aylink.co/abc123",
"job_id": "2fd5a7c8-1b34-49e0-a0c6-71b8e2d4f905",
"lane": "heavy",
"status": "pending"
}
]
}
Durum kodları
  • 200Tüm işler kuyruğa alındı.
  • 401missing_api_key / invalid_api_key
  • 403api_key_disabled
  • 42250'den fazla URL, tekrarlı URL, desteklenmeyen alan adı veya şema hatası. Kota düşmez.
  • 429quota_exceeded — kalan kota batch için yetersiz.
Notlar
  • Limit tüm planlarda aynıdır: 50 URL. Plan başına farklı bir toplu istek boyutu yoktur.
  • Aynı URL bir istekte iki kez gönderilemez (422 doğrulama hatası).
  • Kota tüm batch için peşinen ve atomik olarak rezerve edilir: yetmiyorsa hiçbir birim düşmez ve 429 quota_exceeded döner. 50'den fazla URL, tekrarlı URL veya desteklenmeyen alan adı şema doğrulamasında 422 ile reddedilir ve hiç kota düşmez.
  • İşler tek tek /job/{job_id} ile de sorgulanabilir; toplu görünüm için /batch/{batch_id} kullanın.
GET/batch/{batch_id}Kota: 0

Bir batch'in tüm işlerini ve agregat durumunu döndürür. Kotadan düşmez.

Yanıt
{
"batch_id": "b7a3c1d0-91e4-4d2b-8f77-0c5a9e31ab42",
"status": "processing",
"total": 2,
"done": 1,
"successful": 1,
"failed": 0,
"jobs": [
{
"job_id": "7c1a9f3e-6b02-4a1d-9f41-2ac5d0e7b913",
"url": "https://ouo.io/2yK4Pq",
"status": "success",
"lane": "heavy",
"result_url": "https://example.com/article",
"engine_used": "ouo",
"safety_status": null,
"completed_at": "2026-09-17T14:08:29.833000"
},
{
"job_id": "2fd5a7c8-1b34-49e0-a0c6-71b8e2d4f905",
"url": "https://aylink.co/abc123",
"status": "processing",
"lane": "heavy",
"result_url": null,
"engine_used": null,
"safety_status": null,
"completed_at": null
}
]
}
Durum kodları
  • 200Batch bulundu.
  • 401invalid_api_key — anahtar gönderildi ama geçersiz/pasif.
  • 404Batch yok ya da bu anahtara ait değil.
Notlar
  • status: processing (devam eden iş var) · complete (hepsi başarılı) · partial (en az biri başarısız).
  • Yalnızca isteği gönderen anahtarın işleri görünür; başka bir anahtarın batch'i sorgulanırsa 404 döner.
GET/historyKota: 0

Anahtarın son 20 işlemi (başarılı + ölü), en yeni önce. Kotadan düşmez.

Yanıt
[
{
"url": "https://ouo.io/2yK4Pq",
"result_url": "https://example.com/article",
"lane": "heavy",
"engine": "ouo",
"status": "success",
"safety_status": null,
"elapsed_ms": 8421,
"ts": "2026-09-17T14:08:21.412000"
}
]
Durum kodları
  • 200Liste döndü (boş olabilir).
  • 401missing_api_key / invalid_api_key
Notlar
  • limit parametresi 1–20 aralığındadır, varsayılan 20.
  • Yalnızca API anahtarıyla erişilir; web oturumu bu ucu kullanamaz.
GET/api-infoKota: 0

Sözleşmenin makine-okunur özeti: plan limitleri, batch limiti, rate limit, hata kodları, uç nokta listesi ve desteklenen alan adları.

Yanıt
{
"service": "ByPass API",
"version": "1.0.0",
"docs_url": "https://www.kisalinkatla.com/developers",
"auth": {
"header": "X-API-Key",
"keys_url": "https://kisalinkatla.com/developers/keys",
"max_active_keys_per_user": 3
},
"limits": {
"plans": {
"free": { "requests_per_day": 50, "unlimited": false },
"starter": { "requests_per_day": 500, "unlimited": false },
"pro": { "requests_per_day": 5000, "unlimited": false },
"business": { "requests_per_day": 50000, "unlimited": false },
"website": { "requests_per_day": null, "unlimited": true }
},
"batch_max_urls": 50,
"rate_limit_per_minute": 30,
"premium_hourly_limit": 100,
"free_daily_limit": 10,
"quota_reset": {
"cadence": "daily",
"timezone": "UTC",
"at": "00:00",
"next_reset_at": 1758153600
}
},
"rate_limit_headers": [
"X-RateLimit-Limit",
"X-RateLimit-Remaining",
"X-RateLimit-Reset"
],
"endpoints": [ /* … */ ],
"error_codes": [ /* … */ ],
"supported_domains": { "count": 44, "heavy": [ /* … */ ], "fast": [ /* … */ ] }
}
Durum kodları
  • 200Her zaman.
Notlar
  • Kimlik doğrulama gerektirmez ve kotadan düşmez.
  • Limitleri kodunuza sabitlemek yerine buradan okuyun: değerler doğrudan backend sabitlerinden (constants.py) türetilir, dolayısıyla asla bu sayfayla veya gerçekle çelişmez.
  • quota_reset.next_reset_at alanı kotanızın yenileneceği bir sonraki UTC gece yarısının unix epoch değeridir.
KOD ÖRNEKLERİ

Kopyala, yapıştır, çalıştır.

Üç akış, üç dil. Örnekler yazıldığı gibi çalışır: doğru başlık adı, doğru temel URL, 429 ve Retry-After yönetimi dahil. Anahtarı ortam değişkeninden okuyun; koda gömmeyin. Kabuk örnekleri işletim sistemine göre değişir; aşağıdan seçin.

Hızlı şerit linkleri için en pratik yol: tek çağrı, tek yanıt. 10 saniyede bitmezse 202 gelir ve poll akışına düşersiniz.

İşletim sistemi

Önce anahtarı bir ortam değişkenine yazın — curl, Python ve JavaScript örneklerinin hepsi bu değişkeni okur:

bash · zsh
export BYPASS_API_KEY="bp_xxxxxxxx"
curl · Linux / macOS
# 200 → sonuç hazır · 202 → iş sürüyor (job_id ile poll et)
# 429 → Retry-After başlığındaki saniye kadar bekle
curl -sS -i -X POST https://api.kisalinkatla.com/resolve \
-H "X-API-Key: $BYPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://ouo.io/2yK4Pq"}'
KİMLİK DOĞRULAMA

Tek anahtar. Tek başlık.

Anahtar üretme ve iptal işlemleri /developers/keys sayfasından yapılır. Anahtarlar sunucuda SHA-256 ile hashlenerek saklanır; ham değeri yalnızca oluşturulduğu anda görürsünüz.

  • Oluşturma
    Giriş yaptıktan sonra anahtar sayfasından üretilir. Ham anahtar tek seferlik gösterilir; sonrasında yalnızca maskeli hâli listelenir.
  • Aktif anahtar sayısı
    Kullanıcı başına en fazla 3 aktif anahtar — plandan bağımsızdır. Dördüncüsü için önce bir anahtarı iptal edin.
  • İptal
    Anahtar sayfasından tek tıkla iptal edilir. İptal edilen anahtarla yapılan istek 403 api_key_disabled döner.
  • Plan tanımlama
    Starter/Pro satın alımı Paddle üzerinden tamamlandığında plan, ödemeyi yapan hesabın anahtarlarına otomatik tanımlanır. Ölçek planı için bize yazın.
İpucu · Anahtarınızı X-API-Key başlığıyla gönderin. Anahtarlar bp_ ile başlar. Authorization: Bearer desteklenmez.
Kota başlıkları

API anahtarıyla yapılan tüm isteklerin yanıtında bu üç başlık döner:

  • X-RateLimit-Limit
    Planın günlük istek limiti. Sınırsız planda literal olarak unlimited.
  • X-RateLimit-Remaining
    Bugün kalan istek hakkı. Sınırsız planda unlimited.
  • X-RateLimit-Reset
    Kotanın yenileneceği bir sonraki UTC gece yarısı (unix epoch, saniye).
LİMİTLER

Kota, hız ve kapsam.

Günlük kota UTC gece yarısında sıfırlanır. Aşağıdaki tablo backend'deki plan tablosuyla birebir aynıdır; entegrasyonunuzda sabitlemek yerine GET /api-info çıktısını okumanızı öneririz.

Plan
Günlük istek
free
50
starter
500
pro
5.000
business
50.000
website
∞
Plan adları API anahtarınızın plan alanındaki değerlerdir.
  • IP başına hız limiti
    Dakikada 30 istek. Aşımda 429 rate_limited + Retry-After: 60.
  • Toplu istek
    Çağrı başına en fazla 50 URL — tüm planlarda aynı. Her URL 1 kota birimi.
  • Kota maliyeti
    /resolve ve /bypass çağrı başına 1 birim; /job, /status, /batch/{batch_id}, /history ve /api-info 0 birim.
  • Kota iadesi
    Ölü link (422), dead durumunda biten iş ve bellek-içi cache isabetinde düşen birim otomatik iade edilir.
Limitleri koddan okuyun

GET /api-info kimlik doğrulama istemez, kotadan düşmez ve tüm limitleri backend sabitlerinden türeterek yayınlar. Bir limit değiştiğinde önce burası değişir.

curl · GET /api-info
# Auth gerekmez, kotadan düşmez — limitleri koda gömmek yerine buradan okuyun.
curl -sS https://api.kisalinkatla.com/api-info
Henüz olmayanlar

Webhook/geri çağrı bildirimi yok; sonucu GET /job/{job_id} ile poll ederek alırsınız. Resmî SDK, IP izin listesi ve SSO da bulunmuyor.

HATALAR

Tek zarf, sabit kodlar.

Kimlik ve kota hataları yapılandırılmış bir zarfla döner. error.code makine tarafından okunacak sabit değerdir; error.message insana yöneliktir ve değişebilir. Kod yazarken message'a değil code'a bakın.

missing_api_key
401
hayır
İstek X-API-Key başlığı (veya geçerli oturum) içermiyor. Anahtarı Bearer token olarak gönderirseniz bu kodu değil, zarfsız bir 401 alırsınız.
invalid_api_key
401
hayır
Anahtar kayıtlı değil. Kopyalarken baştaki/sondaki boşluklara dikkat edin.
api_key_disabled
403
hayır
Anahtar iptal edilmiş. Anahtar sayfasından yenisini oluşturun.
rate_limited
429
evet
IP başına dakikalık limit (30) aşıldı. Retry-After: 60 saniye.
quota_exceeded
429
evet
Günlük plan kotası doldu. Retry-After, UTC gece yarısına kalan saniyedir; error.reset_at aynı anın epoch değeridir.
invalid_url
400
hayır
URL biçimi geçersiz: https:// ile başlamalı, 2048 karakteri aşmamalı, kontrol karakteri içermemeli.
unsupported
422
hayır
Alan adı kayıtlı kısaltıcı listesinde değil. Güncel liste GET /api-info → supported_domains.
cloudflare_block
502
hayır
Hedef site isteği Cloudflare ile engelledi. Yeniden denemek genelde sonuç vermez.
access_denied
502
hayır
Hedef site erişimi reddetti (silinmiş veya bölgesel engelli olabilir).
Örnek — kota tükendi
HTTP 429
HTTP/1.1 429 Too Many Requests
Retry-After: 33120
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1758153600
{
"error": {
"code": "quota_exceeded",
"message": "Daily quota exhausted for the 'starter' plan (500/500 requests); it resets at UTC midnight. Upgrade your plan at https://kisalinkatla.com/developers/keys",
"retryable": true,
"docs_url": "https://kisalinkatla.com/developers/keys",
"plan": "starter",
"daily_limit": 500,
"reset_at": 1758153600
},
"detail": "Daily quota exhausted for the 'starter' plan (500/500 requests); it resets at UTC midnight. Upgrade your plan at https://kisalinkatla.com/developers/keys"
}

Geriye dönük uyumluluk: kimlik/kota hatalarında zarfın yanında eski detail alanı da gönderilmeye devam ediyor. Yeni kodda error.code kullanın; detail alanı eskimiştir (2026-09-17).

Zarf dışında kalan yanıtlar
  • 422 · dead_url
    Ön kontrol linki ölü olarak işaretlediğinde gövde {"detail": {"error": "dead_url", "reason": "…"}} biçimindedir. Kota iade edilir, iş kuyruğa hiç girmez.
  • 422 · doğrulama
    Desteklenmeyen alan adı veya bozuk URL şema katmanında yakalanırsa FastAPI'nin standart {"detail": [ … ]} listesi döner. HTTP kodu yine 422'dir.
  • 422 · toplu istek boyutu
    Toplu istekte 50'den fazla URL şema doğrulamasında yakalanır ve standart {"detail": [ … ]} listesiyle 422 döner. Koddaki 400 batch_too_large kolu bu yüzden pratikte hiç tetiklenmez.
  • 404
    İş veya batch yok ya da bu anahtara ait değil.
KAPSAM

44 alan adı, tek şema.

Şerit, işin nasıl çözüleceğini belirler: fast şerit saf HTTP'dir ve saniyeler sürer; heavy şerit gerçek tarayıcı çalıştırır, daha uzun sürer ve asenkron akışla kullanılmalıdır. Listenin canlı hâli GET /api-info → supported_domains alanındadır.

ağır şerithızlı şerit
ouo.io
ouo.press
aylink.co
ay.link
ay.live
shorte.st
sh.st
gestyy.com
destyy.com
cuty.io
cutyio.com
cutyion.com
cuttty.com
cpmlink.net
cpmlink.co
cpmlink.io
cpmlink.pro
cpmlink.me
cpmlink.link
cpmlink.club
cpmlink.site
tr.link
linkbull.cc
bit.ly
bit.do
tinyurl.com
t.co
is.gd
v.gd
rb.gy
shorturl.at
shorturl.asia
cutt.ly
tl.tc
s.id
t.ly
tiny.cc
ow.ly
buff.ly
bc.vc
soo.gd
rebrand.ly
short.io
kutt.it

Listede olmayan bir alan adı gönderirseniz istek 422 ile reddedilir ve kotanızdan düşmez.

FİYATLANDIRMA

Günlük kota, sabit fiyat

Kullanıcı başına ücret yok. Kota her gün UTC 00:00'da sıfırlanır. İstediğiniz an yükseltin ya da bırakın.

Ücretsiz
₺0sonsuza dek

Prototipler ve API'yi denemek için.

  • Hesap başına günlük 50 istek
  • 3 aktif anahtara kadar (kota ortak)
  • Toplu istek: 50 URL
  • Tüm kayıtlı kısaltıcılar
Starter
₺399/ay

Küçük projeler ve büyüyen entegrasyonlar için.

  • Günlük 500 istek
  • 3 aktif anahtara kadar
  • Toplu istek: 50 URL
  • E-posta desteği
En popüler
Pro
₺1.490/ay

Üretimde, düzenli trafiği olan ürünler için.

  • Günlük 5.000 istek
  • 3 aktif anahtara kadar
  • Toplu istek: 50 URL
  • E-posta desteği · 24 saat
Ölçek
Custom

Yüksek hacimli ekipler için — plan elle tanımlanır.

  • Günlük 50.000 istek
  • 3 aktif anahtara kadar
  • Toplu istek: 50 URL
  • Öncelikli e-posta desteği

Kota dolunca otomatik olarak 429 + Retry-After döner — ücretli aşım yoktur, istekler sessizce faturalanmaz.

DEĞİŞİKLİKLER

Sözleşme günlüğü.

İstek veya yanıt şekli değiştiğinde eski şekil burada tarihiyle birlikte eskimiş olarak kalır.

2026-10-05
  • Eklendi: Public OpenAPI 3 şeması https://www.kisalinkatla.com/openapi.json adresinde (aynı şema api.kisalinkatla.com/openapi.json'da). AI ve kod asistanları için düz Markdown referansı: /developers.md.
  • Değişti: GET /api-info yanıtındaki docs_url artık https://www.kisalinkatla.com/developers (önceden yönlendirmeli apex adres). Alan adı ve tipi aynı.
  • Düzeltildi (dokümantasyon): Bearer token olarak gönderilen anahtar 401 missing_api_key değil, zarfsız bir 401 döndürür. API anahtarlı çağrılarda message alanları İngilizcedir; örnekler buna göre güncellendi.
  • Düzeltildi (dokümantasyon): Kuyrukta dead durumunda biten işin kota birimi de iade edilir.
  • Düzeltildi (dokümantasyon): Toplu istekte 50'den fazla URL 400 batch_too_large değil, şema doğrulamasında 422 döner; desteklenmeyen alan adı da şema katmanında reddedilir ve kota hiç düşmez. POST /batch/bypass, GET /batch/{batch_id} ve GET /history artık public OpenAPI şemasında.
  • Kaldırıldı (dokümantasyon): webhook_url alanı hiçbir zaman bildirim göndermedi; artık belgelenmiyor. Sonuç yalnızca poll ile alınır.
2026-09-17
  • Eklendi: GET /api-info — kimlik doğrulama istemeyen, kotadan düşmeyen sözleşme özeti (plan limitleri, batch limiti, rate limit, hata kodları, desteklenen alan adları).
  • Eklendi: POST /batch/bypass ve GET /batch/{batch_id} artık X-API-Key ile kullanılabiliyor. Önceden yalnızca premium web oturumu kabul ediliyordu; API anahtarı olan müşteriler toplu isteği hiç kullanamıyordu.
  • Eklendi: Kimlik ve kota hataları yapılandırılmış zarfla dönüyor — {"error": {"code", "message", "retryable", "docs_url"}}.
  • Eklendi: API anahtarıyla yapılan tüm isteklerde X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset başlıkları.
  • Eskimiş: hata gövdesindeki detail alanı. Geriye dönük uyumluluk için gönderilmeye devam ediyor; yeni kod error.code okumalı.
  • Eskimiş: GET /status/{id}. Çalışmaya devam ediyor, yeni entegrasyonlar GET /job/{job_id} kullanmalı.
  • Düzeltildi (dokümantasyon): Plana göre değişen toplu istek boyutu ve anahtar sayısı hiçbir zaman var olmadı. Toplu istek tüm planlarda 50 URL, aktif anahtar sınırı tüm planlarda 3.

Beş dakikada ilk çağrı.

Ücretsiz plan, kredi kartı yok. Saf HTTP: curl, fetch veya requests yeter.

© 2026 KısaLinkAtla. Tüm hakları saklıdır.ŞartlarGizlilik