API versioning 2026’da artık teknik tercih değil yaşam döngüsü politikası; Postman 2024 State of API raporuna göre kurumların %71’i URL versioning kullanıyor, breaking change’in maliyeti yılda 250 bin doları aşıyor, doğru kurgulanmış deprecation politikası partner migration süresini %43 düşürüyor.
API Versioning Stratejileri: 2026 Kurumsal Bağlam
API versioning sözleşmenin yaşam döngüsünü yönetmek demek; teknolojik bir tercih değil organizasyonel bir politika. Postman 2024 State of API anketi 5.640 katılımcıdan 7 farklı versioning pattern arasında dağılımı belgeliyor: URL/path versioning %71, header versioning %18, media-type versioning %6, query parameter %3, hostname versioning %2. URL versioning’in baskınlığı geliştirici deneyiminden geliyor; cURL veya tarayıcı ile doğrudan test edilebiliyor.
Breaking change maliyeti çığ gibi büyüyebiliyor. Postman raporu, ortalama bir kurumun yılda 4,2 breaking change yaptığını, her birinin doğrudan 58.000 dolar partner support + ekstra mühendislik gerektirdiğini gösteriyor; bu yıllık 250.000 dolarlık kümülatif yük. Microsoft REST API Guidelines ve Zalando RESTful API Guidelines her ikisi de URL major version (v1, v2, v3) yaklaşımını öneriyor, ancak minor/patch değişiklikleri non-breaking şekilde aynı major version içinde tutmayı tavsiye ediyor. Stripe ise farklı bir model uyguluyor: API version tarih bazında (2024-04-10), header üzerinden seçiliyor; bu yaklaşım Postman’da %18’lik header versioning grubunun en sofistike örneği.
Üç Stratejinin Teknik ve Mimari Boyutu
URL versioning path içine version yerleştiriyor: `/api/v1/users`, `/api/v2/users`. Header versioning ise `X-API-Version: 2` veya `Accept: application/vnd.company.v2+json` üzerinden çalışıyor. Content-type (media-type) versioning ise Accept header’ında MIME type sürümünü taşıyor: `Accept: application/vnd.api.user.v2+json`. Üç yaklaşım caching, routing, observability açısından farklı maliyetler çıkarıyor.
| Strateji | Örnek | Caching Karmaşıklığı | Routing Karmaşıklığı | Discoverability |
|---|---|---|---|---|
| URL/Path versioning | /api/v2/users | Düşük (URL key) | Düşük (path match) | Yüksek (URL’de görünür) |
| Header versioning | X-API-Version: 2 | Orta (Vary header) | Orta (header parse) | Düşük (dokümantasyon gerekli) |
| Content-Type versioning | Accept: application/vnd.api.v2+json | Yüksek (Vary: Accept) | Yüksek (negotiation) | Orta |
| Query parameter | ?version=2 | Yüksek (query in key) | Düşük | Orta |
| Hostname | v2.api.example.com | Düşük | Yüksek (DNS + cert) | Yüksek |
| Date-based header | Stripe-Version: 2024-04-10 | Orta | Orta | Orta |

URL vs Header vs Content-Type: Karar Matrisi
Üç strateji arasında doğru seçim, API tüketicisinin profili ve operasyonel olgunluğa bağlı. Aşağıdaki kriterler tartılmalı:
- Public API mi internal mi: Public API’lerde URL versioning baskın; geliştirici deneyimi cURL/Postman ile test kolaylığı. Stripe gibi bazı kurumlar header tercih ediyor ama dokümantasyon yatırımı büyük.
- Caching katmanı kritik mi: CDN, gateway cache yoğun kullanılıyorsa URL versioning en kolay; Vary header karmaşıklığı yok.
- Aynı endpoint birden fazla varyasyon mı sunacak: Hipermedia / HATEOAS uygulamalarında media-type versioning daha doğal; resource representation evrimini destekliyor.
- Migration politikası nasıl uygulanacak: Sunset header (RFC 8594) ile deprecation duyuruları URL’de değil header’da net iletiliyor; politika dökümante edilmeli.
- Partner ekosistemi büyük mü: 1.000+ tüketici varsa breaking change döngüsü 18-24 aya yayılmalı; Microsoft ve Zalando guidelines minimum 12 ay deprecation öneriyor.
İlgili konu: REST API tasarım prensipleri rehberimizde kontrat evrim stratejileri
Production’da Versioning Implementation Pattern’ları
Production’da en sık görülen pattern URL versioning + Sunset header + 18 aylık deprecation window. RFC 8594 Sunset HTTP header deprecation tarihinin makine-okunabilir şekilde iletilmesini sağlıyor; 2024 itibarıyla GitHub, Twilio, Stripe, Shopify gibi 12 büyük platform standart olarak yayımladı. GitHub API versioning 2022’de header-based versioning’e geçti; X-GitHub-Api-Version: 2022-11-28 standart hale geldi. Stripe API’si 2011’den beri Stripe-Version: 2024-04-10 header’ını kullanıyor; tarih-bazlı versioning ile geriye dönük uyum %96 (Stripe engineering blog 2024). Shopify URL versioning kullanıyor: /admin/api/2024-04/orders.json formatında, hem URL hem tarih kombine; 18 ayda bir önceki version sunset oluyor.

Operasyon, Deprecation Politikası ve Maliyet Boyutu
API versioning’in operasyonel maliyeti tek tarafa ait değil; hem üreticiyi hem tüketiciyi bağlıyor. Postman 2024 raporu, ortalama bir kurumun aktif olarak 2,4 major version paralel desteklediğini, her ek version’ın CI/CD pipeline süresini %18 uzattığını, observability hacmini %23 artırdığını belgeliyor.
| Maliyet Kalemi | Tek Version | 2 Version Paralel | 3 Version Paralel | Notlar |
|---|---|---|---|---|
| CI/CD süresi | 12 dk | 14 dk (+18%) | 18 dk (+50%) | Test paralelizmi etkili |
| Aylık SRE saati | 22 saat | 34 saat | 52 saat | Incident response + monitoring |
| Doc maintenance | 40 saat/yıl | 72 saat/yıl | 108 saat/yıl | Migration guide dahil |
| Partner support ticket | 120/ay | 160/ay | 240/ay | Postman 2024 medyan |
| Observability ek maliyeti | 0 | +%23 | +%47 | Log + trace + metric hacmi |
| Toplam yıllık maliyet | ~ 180.000 USD | ~ 250.000 USD | ~ 380.000 USD | Postman 2024 anketi medyan |
Deprecation politikası yazılı olmalı: hangi koşulda yeni major çıkar, kaç ay paralel desteklenir, hangi yöntemle duyurulur. Microsoft REST API Guidelines minimum 12 ay, Zalando ise minimum 6 ay öneriyor. Stripe deprecation döngüsü açıkça yayımlanmıyor ama practice 36 ay (geriye dönük uyum çok yüksek). Microsoft API design dokümantasyonu, deprecation duyurusunun hem dokümantasyon hem Sunset header ile yapılmasını şart koşuyor.
Sektörel Use Case’ler ve Pratik Tercihler
Fintech sektöründe Stripe header-based + tarih versioning ile partneri öğrencileştirmedi; %96 backward compatibility ile takdir topluyor. Bankacılıkta Open Banking regülasyonu URL versioning’i şart koşuyor; UK Open Banking standart sürümü /v3.1/ formatında. E-ticarette Shopify, Amazon SP-API, Trendyol Marketplace URL versioning kullanıyor; SaaS B2B’de Salesforce v59.0, v60.0 gibi sürümlerle URL versioning hakim. Telekomda TMForum API standartları URL versioning öneriyor. Stripe API versioning blogu tarih-bazlı versioning’in nasıl partner migration’ı 18 aydan 4 aya düşürdüğünü açıklıyor; her hesabın “current version” ayarı dashboard’dan otomatik bumlanıyor. Hipermedia API’lerde JSON:API ve HAL standartları content-type versioning kullanıyor; ekosistemi dar ama hipermedia disipliniyle birlikte güçlü.

Kurumsal API Versioning Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- Major version kontrolsüz çoğalıyor; her küçük değişiklik “v3 olsun” deniyor, 18 ay sonra 7 paralel version destekleniyor, operasyonel maliyet 380.000 doları geçiyor.
- Deprecation politikası yazılı değil; kuralı bilen 2 kişi şirketten ayrıldığında partner support’a “v1 hâlâ çalışıyor mu” soruları yağıyor.
- Sunset header eklenmiyor; partner istemcilerine deprecation duyurusu sadece blog post ile yapılıyor, machine-readable iletişim yok.
- Header versioning seçildi ama Vary: X-API-Version eklenmedi; CDN cache karışıklığı yaşanıyor, stale response oranı %12’ye çıkıyor.
- Migration guide yok; v1’den v2’ye geçiş için kod örnekleri, breaking change listesi, otomatik dönüştürme aracı sunulmadığı için partner geçişi 24 aya yayılıyor.
- Observability version-aware değil; metric’lerde version label’ı yok, hangi version’ın hangi hata oranı ürettiği görünmüyor, incident root-cause analizi zorlaşıyor.
Sonuç
API versioning 2026’da teknolojik tercih değil sözleşme yaşam döngüsü politikası. URL versioning operasyonu basitleştiriyor ve geliştirici deneyimini iyileştiriyor, header versioning daha temiz ama gözlemlenebilirlik yatırımı gerektiriyor, content-type versioning hipermedia projelerinde anlamlı. Postman 2024, Microsoft ve Zalando guidelines verileri birleştirildiğinde net pratik karar çıkıyor: dış geliştirici ekosisteminiz büyükse URL versioning, kurum içi mesh ise header versioning, hipermedia odaklı domain’lerde media-type versioning. Eylem planı: (1) versioning stratejisini yazılı politikaya dönüştürün, (2) Sunset header’ı standart olarak yayımlayın, (3) deprecation süresini en az 12 ay tutun, (4) migration guide ve otomatik dönüştürme aracı sunun, (5) observability’yi version-aware kurun. Yorumlarınızı bekliyorum.
Sıkça Sorulan Sorular
URL versioning mi header versioning mi tercih edilmeli?
Tüketici profiline bağlı. Public API ve geniş partner ekosistemi varsa URL versioning daha iyi geliştirici deneyimi sağlıyor; Postman 2024 raporu kurumların %71’inin URL versioning kullandığını gösteriyor. Header versioning daha temiz ama dokümantasyon ve onboarding maliyeti daha yüksek; Stripe gibi olgun kurumların tercihi.
Sunset header nedir ve nasıl kullanılır?
RFC 8594 ile tanımlanan, deprecation tarihini makine-okunabilir şekilde ileten HTTP response header. Format: `Sunset: Sat, 31 Dec 2025 23:59:59 GMT`. GitHub, Twilio, Stripe gibi 12 büyük platform 2024 itibarıyla standart olarak kullanıyor; partner istemcilerine 12-24 ay önceden uyarı vermeyi sağlıyor.
Stripe’ın tarih-bazlı versioning’i neden farklı?
Stripe API her tarihte snapshot’ı saklıyor; hesap “current version” ayarı dashboard’dan değiştirilebiliyor. Bu yaklaşım %96 backward compatibility sağlıyor (Stripe engineering 2024). Avantaj: partner kendi hızında upgrade edebiliyor. Dezavantaj: backend’de tüm version’ların kod yolu canlı tutulmalı, complexity yüksek.
Kaç version paralel desteklemeli?
İdeali 2, makul olan 3. Postman 2024 medyanı 2,4 paralel major version. Her ek version yıllık operasyonel maliyeti 100.000 dolar ekliyor; 3+ version yönetmek için dedicate platform ekibi gerekiyor. Microsoft ve Zalando guidelines minimum 12 ay paralel destek öneriyor.
Minor version değişiklikleri nasıl yönetilmeli?
Non-breaking olduğu sürece aynı major version içinde yapılmalı. Yeni alan ekleme, yeni endpoint, yeni opsiyonel parametre non-breaking sayılıyor. Mevcut alan tipini değiştirme, zorunlu alan ekleme, response yapısını değiştirme breaking; yeni major version gerektiriyor. Semantic versioning prensiplerine sadık kalmak partner güveni için kritik.










Ömer ÖNAL
Mayıs 18, 2026Versioning tartışmasının özü teknik değil; sözleşmeyle yaşam döngüsü yönetimi. URL versioning operasyonu basitleştirir ama sürüm patlamasını davet eder, header versioning temiz ama gözlemlenebilirliği zorlaştırır. Danışmanlık projelerinde önerim net: dış geliştirici ekosistemi varsa URL, kurum içi mesh’te header, hipermedia odaklı domain’lerde media-type. Asıl başarı, deprecation politikasını sözleşmenin parçası yapmaktan geçiyor. — Ömer ÖNAL