Fun API, kayıt gerektirmeyen bir API test ortamıdır. Browser sandbox istekleri tarayıcıda simüle eder; Live API gerçek ağ üzerinden eğitim sunucusuna bağlanır. Birkaç dakikada ilk testine başlayabilirsin.
Ana sayfadaki bir API kartına tıkla. Swagger tarzı sayfada endpointler etiketlere göre gruplanır. Yeşil GET, mavi POST, turuncu PUT, kırmızı DELETE anlamına gelir.
Katalog dört gruptur: popüler kurgu evrenleri, günlük iş alanları, özgün dünyalar ve test senaryoları. Pizza siparişi veya uçuş rezervasyonu gibi bildiğin bir alanı seçerek HTTP davranışına odaklanabilirsin.
Bir endpointi genişlet, Try it out düğmesine bas, parametreleri doldur, Browser sandbox seç ve Run request ile çalıştır. Simüle edilmiş HTTP durum kodunu, JSON gövdesini, yanıt başlıklarını ve kopyalanabilir curl komutunu görürsün. Şununla başlayabilirsin:
GET /friends/v1/quotes/randomBrowser sandbox API motorunu yerel olarak çalıştırır; istek için ağ bağlantısı gerekmez. Senaryoya özgü gecikme ve hız sınırı davranışları yine uygulanabilir. Live API seçeneği, Firestore kullanan Cloud Function üzerinden gerçek ağ isteği gönderir. Harici istemcilerde tam adresi kullan: https://funapi.dev/api/friends/v1/quotes/random.
Kilit simgeli endpointler Bearer token ister. Dokümantasyonun üstündeki Authorize düğmesinden şu eğitim tokenlarını kullan:
qa-admin-tokenqa-viewer-token403 döndürür401 Unauthorized; login akışından alınan geçerli tokenlar ayrı değerlendirilirCargo API yazma endpointleri Bearer yerine API anahtarı kullanır: X-API-Key: cargo-key-123 başlığını gönder. Böylece farklı kimlik doğrulama yöntemlerini deneyebilirsin.
Statik token yerine yaşam döngüsünü denemek için POST /auth/v1/login kullan. Live API imzalı JWT üretir; tarayıcı sandbox bu akışı yerel olarak simüle eder. OAuth 2.0 endpointleri authorization-code, client-credentials ve refresh-token akışlarını çalışmanı sağlar.
Aşağıdaki isteklerle hata yanıtlarını bilerek üret:
page=abc, geçersiz JSON gövdesi veya 11 puanlık değerlendirme gönder999 kimliğini veya son sayfayı aşan bir sayfayı isteGET /coffee/v1/teapot — kasıtlı çaydanlık yanıtıGET /bank/v1/premium/statements — ödeme gerektiren örnekGET /pizza/v1/oven/status — tasarım gereği her zaman hataGET /protocol/v1/maintenance ve GET /protocol/v1/gateway-timeout — bakım ve zaman aşımıPOST /movies/v1/movies/{id}/poster — fazla büyük veya yanlış türde dosyaHer durum istemcide farklı ele alınmalıdır. 429 için varsa Retry-After başlığına uy ve sınırlı geri çekilmeyle bekle; 403 için izin sorunu düzelmeden aynı isteği tekrarlama; 400 için isteği düzelt. 503 sonrasında yeniden denemeden önce işlemin güvenle tekrarlanabildiğini veya idempotency korumasını kontrol et. Sınırsız tekrarlar kesintiyi büyütebilir.
Her dokümantasyon sayfasından OpenAPI 3.1 tanımı veya Postman koleksiyonu indirilebilir. Postman, Insomnia veya Bruno gibi araçların desteklediği biçimi içe aktar; OpenAPI tanımını Swagger Editor ile inceleyebilirsin. Çalıştırılan istek için dokuz biçimde örnek sunulur: curl, fetch, axios, Python, HTTPie, Playwright, RestAssured, C# ve k6.
API başına indirmelerin yanında tüm API’leri kapsayan birleştirilmiş tanım da bulunur. Tek bir sözleşme dosyasıyla çalışmak istediğinde bunu kullan.
Karakter, kahraman ve film kaynaklarında desteklenen PUT ve DELETE işlemleri isteğe bağlı If-Match başlığını kabul eder. Eski ETag göndererek 412 Precondition Failed üret. Bu kontrol, bir istemcinin diğerinin değişikliğini sessizce ezmesini önlemeye yarar.
Destekleyen POST endpointlerinde Idempotency-Key kullan. Aynı anahtarı aynı istek için yeniden gönderdiğinde yinelenen kayıt yerine ilk yanıtı alırsın. Katalogda başlığı destekleyen endpointi seç. Bu iki kontrolü öğrenmek, kayıp güncellemeleri ve ağ tekrarı nedeniyle iki kez yapılan işlemleri test etmeyi sağlar.
Tarayıcı sandbox için Test settings içindeki Deterministic mode seçeneği rastgele değerleri tekrarlanabilir kılar. CI testlerinde sabit başlangıç verisi ve açık beklentiler kullan. Tarayıcıdaki test çalıştırıcısından window.__funApiReset() çağrısını bekleyerek yerel veriyi arayüze dokunmadan sıfırlayabilirsin; bu çağrı Live API verisini sıfırlamaz.
OpenAPI tanımını Dredd veya Schemathesis gibi sözleşme test araçlarıyla, aracın desteklediği OpenAPI sürümünü kontrol ederek kullan. GET /pizza/v1/oven/preheat yaklaşık üç saniye gecikir; istemci zaman aşımını test etmek için uygundur.
Live API testlerinde her bağımsız çalışma için benzersiz bir X-Sandbox-ID üret ve o çalışmanın tüm isteklerinde aynı değeri gönder. Böylece oluşturduğun ve sildiğin veriler başka bir test çalışmasıyla karışmaz. Bu kimlik bir parola veya erişim sırrı değildir; gerçek kişisel veri kullanma.
POST, PUT ve DELETE seçilen ortamdaki sandbox verisini gerçekten değiştirir: bir karakter oluşturup GET ile geri okuyabilirsin. Tarayıcı sandbox verisini sayfayı yenileyerek veya Reset sandbox data ile sıfırlayabilirsin. Canlı veriyi sıfırlamak için admin Bearer token ile POST /api/_reset kullan; yalnız kendi sandbox verin sıfırlanır.
Doğrudan API'ye geçin: Arkadaşlar API'si · Pokémon API · Yıldız Savaşları API'si · Banka API'si · Kimlik Doğrulama Oyun Alanı API'si · Webhooks API
Bir tekniği daha detaylı inceleyelim: Sayfalama testi · Hız sınırlama testi · İdempotans anahtar testi · ETag ve If-Match testleri · Webhook imza testi · OAuth ve JWT testleri · Negatif test · Asenkron iş testi
Veya bir durum kodu arayın: all 53 of them
Son güncelleme