smaple.tr
API versiyonlama

API Versiyonlama Stratejileri: URL Path, Header ve Semantic Versioning

Mehmet Kurtipek
22 Temmuz 2026
5 dk okuma
API versiyonlama
semantic versioning
API lifecycle
breaking changes
deprecation

Giriş: Neden API Versiyonlama Önemli?

İş ortaklığınızın dijital ürünleri, harici uygulamalarla API (Uygulama Programı Arayüzü) aracılığıyla iletişim kurar. Bu bağlantılar güvenilir, tutarlı ve öngörülebilir şekilde yönetilmediğinde, entegrasyon başarısız olur ve müşteri memnuniyeti düşer.

API versiyonlama, yazılım güncellemeleriniz sırasında mevcut kullanıcıları olumsuz etkilemeden değişiklikler yapmanızı sağlayan bir yönetim disiplinidir. Breaking changes olarak bilinen bu türde değişiklikler, eski uygulamaları kırabileceğinden, profesyonel API yönetimi için versiyonlama stratejisi gereklidir.

Breaking vs Non-Breaking Changes: Temel Farklar

Yapılan her API değişikliği iki kategoriye ayrılır:

Breaking Changes (Geçiş Kırıcı Değişiklikler) mevcut istemci uygulamalarını çalışmaz duruma getirir. Endpoint'lerin silinmesi, yanıt formatının tamamen değiştirilmesi, yeni gerekli alanlar eklenmesi, mevcut alanların kaldırılması, HTTP durum kodlarının değiştirilmesi veya kimlik doğrulama mekanizmasının değiştirilmesi buna örnek olarak gösterilebilir.

Non-Breaking Changes (Geçiş Kırıcı Olmayan Değişiklikler) ise mevcut uygulamaları etkilemez. Yeni endpoint'ler eklenmesi, mevcut endpoint'lere opsiyonel yeni alanlar eklenmesi, yanıt hızı iyileştirmeleri ve iç yazılım geliştirmeleri bu kategoriye girer. Non-breaking değişiklikler versiyonlama gerektirmez ancak yine de kullanıcılarınıza bildirilmelidir.

Başlıca API Versiyonlama Stratejileri

Strateji Örnek Avantajlar Dezavantajlar Ideal Kullanım
URL Path /api/v1/users Açık, anlaşılır, SEO uyumlu URL'ler daha uzun Çoğu genel API
URL Query /api/users?version=1 Temiz URL yapısı Tutarsız olabilir Geriye uyumlu sistemler
Custom Header Accept-API-Version: 1 URL'ler temiz kalır Tarayıcıda test zor İç API'lar
Content Negotiation Accept: application/vnd.api.v1+json REST standardı uyumlu Karmaşık Standart API'lar
Semantic Versioning v2.1.3-beta.1 Detaylı sürüm kontrol Daha karmaşık DevOps, Microservices

URL Path Versiyonlama

URL path versiyonlama, en yaygın ve anlaşılır yöntemdir. Müşteriler https://api.example.com/v1/users veya https://api.example.com/v2/users gibi bağlantıların anlamını kolayca kavraya bilir.

Bu yöntemin avantajları şunlardır: API tüketicileri için anında görünürlük sağlar, analitik ve izleme sistemlerinde kolayca takip edilir, CDN caching stratejileri uygulanabilir ve HTTP caching headers ile sorunsuz çalışır. Dezavantajı olarak, desteklediğiniz her sürüm için tüm endpoint'leri yönetmeniz gerekir ve kod tekrarı riski oluşabilir.

Custom Header Versiyonlama

Bu yöntemde API sürümü HTTP header'ında belirtilir (örn. Accept-API-Version: v2). URL yapısı temiz kalır ve aynı endpoint birden fazla sürümü destekleyebilir. Ancak tarayıcıda test etmek zor olabilir ve istemciler header'ı göndermeyi unutabilir.

Content Negotiation

RFC 7231 standardına göre, Accept: application/vnd.example.v2+json gibi ifadeler kullanılır. Bu, en "REST-native" yaklaşımdır ancak uygulaması karmaşık olabilir.

Semantic Versioning ile Sürüm Yönetimi

Semantic Versioning (SemVer), sürüm numaralarını MAJOR.MINOR.PATCH formatında belirtir. MAJOR numarası breaking changes için, MINOR numarası backward-compatible yeni özellikler için, PATCH numarası ise hata düzeltmeleri için kullanılır.

Örneğin: Sürüm 1.0.0'dan başlayarak, hata düzeltmeleri 1.0.1'e çıkarılır. Yeni özellikler eklenmesi 1.1.0'ı oluşturur. Önemli değişiklikler 2.0.0 sürümünü meydana getirir. Pre-release sürümleri (v2.0.0-alpha.1, v2.0.0-beta.1) geliştirme aşamasında kullanılır.

Deprecation Politikası: Eski Sürümleri Yönetme

Bir API sürümünün veya endpoint'in kaldırılması belirli bir plan içinde yapılmalıdır. İyi bir deprecation süreci şu aşamalardan oluşur:

Announcement Phase (1. hafta): Değişiklik duyurulur ve ekipler haberdar edilir.

Deprecation Phase (1-3 ay): Eski sürümler çalışmaya devam eder ancak uyarı mesajları gönderilir. Müşterilerinize taşınma için yeterli zaman verilir.

Sunset Phase (3-6 ay): Eski sürümler istekleri reddetmeye başlar. Uyumlu olmayan çağrılar artık başarısız olur.

Removal Phase (6. ay sonrası): Eski sürümler tamamen silinir ve sistem kaynaklarından çıkarılır.

Uyarılar HTTP header'ları aracılığıyla iletilir. RFC 8594 standardına göre, deprecated API'lar şu header'ları döndürmelidir: Sunset tarihi, Deprecation flası, successor version için Link ve Warning mesajı.

Backward Compatibility Desenleri

Additive Changes: Mevcut yanıta yeni alanlar ekleme. Eski istemciler yeni alanları görmezden gelir, yeni istemciler bunlardan yararlanır.

Optional Fields: Yeni parametreleri isteğe bağlı hale getirme. Eski istemciler kullanmasa da sistem destekler.

Default Values: Yeni alanlar için mantıklı varsayılan değerler belirleme. Sistem, eksik alanları otomatik olarak doldurur.

Graceful Degradation: Deprecated alanları eski istemciler için çalışmaya devam etmesi. Sistem, aynı veriyi hem eski hem de yeni alan adlarında döndürür.

API Yaşam Döngüsü Aşamaları

Profesyonel bir API'nın yolculuğu şu aşamalardan geçer:

Alpha: İç test aşaması, massive değişiklikler beklenir, sadece internal kullanım.

Beta: Seçilmiş harici müşterilerle test, stabillik artmış ancak değişiklikler olabilir.

Release Candidate (RC): API stabilde, sadece kritik hata düzeltmeleri yapılır.

General Availability (GA): Stabil, full destek ve SLA garantileri ile sunulur.

Maintenance Mode: Yeni özellikler eklenmez, sadece güvenlik ve hata düzeltmeleri yapılır.

Deprecated: Kullanıcılar yeni sürüme geçmeye teşvik edilir, açık uyarılar gönderilir.

Sunset: API artık istek kabul etmez, tamamen kullanım dışı.

Monitoring ve Başarı Takibi

API versiyonlama başarısının anahtarı, hangi sürümlerin ne sıklıkta kullanıldığını anlamaktır. Her API çağrısını kaydetmeye başlayarak, hangi müşterilerin eski sürümleri kullanmaya devam ettiğini belirleyebilirsiniz. Bu verilerle, deprecation takvimini gerçekçi şekilde planlayabilir ve müşterilerinize kişiselleştirilmiş geçiş desteği sunabilirsiniz.

Best Practices

Backward Compatibility'yi Koruyun: Yanıt alanlarını asla silmeyin, deprecated olarak işaretleyin. Eski istemcileri minimum 6+ ay desteklemeye devam edin.

Clear Communication: Deprecation planını 3-6 ay öncesinden duyurun. Slack, email ve dokümantasyon üzerinden aktif iletişim kurun. Taşınma kılavuzları hazırlayın.

OpenAPI/Swagger Spesifikasyonları: Her sürümün detaylı teknik dokümantasyonu olmalı. Birden fazla dilde kod örnekleri sağlayın.

Otomatik Test: Her sürümün kendi test paketi olmalı. Backward compatibility'nin sağlanmasını otomatik şekilde doğrulayın.

Kubernetes'te Multi-Version Deployment

Modern ortamlarda, farklı API sürümleri ayrı container'larda çalışır. Kubernetes Services, gelen istekleri doğru sürüme yönlendirir. Her sürüm kendi replica set'ine sahip olabilir, bağımsız şekilde scale edilebilir ve yönetilebilir.

Gerçek Dünya Örneği: E-Commerce Platform

Bir e-commerce platformu başlangıçta simple endpoint'lerle başlar. Sürüm 1.0.0'da ürün listesi temel bilgilerle döner. Sürüm 1.1.0'da filtreleme ve kategori seçeneği eklenir (backward compatible). Sürüm 2.0.0'da ise response yapısı değişir - fiyat detayları nesne olur, metadata alanları eklenir, pagination yapısı güncellenir. Bu breaking change nedeniyle yeni versiyon yaratılır.

Versioning politikasında v1 maintenance mode'a alınır (sadece kritik buglar düzeltilir), v2 stable production sürümü olur (full destek), v3 ise beta aşamasında sunulabilir (yeni özellikler denenir).

Sonuç

API versiyonlama, yazılım geliştirmenin devamlılığını sağlayan kritik bir disiplindir. Basit başlasın (URL path versiyonlama + semantic versioning kombinasyonu tercih edilir), ama deprecation politikası çerçevesinde yönetilsin. Breaking changes'ler planlı, iletişimli ve istemci dostu şekilde yapıldığında, şirketleriniz yıllarca kararlı API'lar sunabilir.

Unutmayın: API versiyonlama "bir seçenek değil, bir zorunluluktur". Ürün büyüdükçe ve kullanıcılar çoğaldıkça, versiyonlama olmadan sistem sürdürülemez hale gelir.


Smart Maple ile API geliştirme hizmetlerinizi profesyonelleştirin. Node.js, Express ve NestJS uzmanı Ankara ekibimiz, scalable ve well-versioned API'lar tasarlar. Daha fazla bilgi için smart-maple.com adresini ziyaret edin.

İlgili Makaleler

10 Ağustos 2026

MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma

Giriş: MLOps Nedir ve Neden Önemlidir? Makine öğrenmesi modelleri geliştirmek günümüzde nispeten kolaydır. Açık kaynak kütüphaneleri kullanarak son derece başarılı modeller oluşturabiliriz. Ancak bu modelleri production ortamına taşıyarak, ölçeklendirebilir, güvenilir ve sürdürülebilir şekilde çalıştırmak tamamen farklı bir hikayedir. Araştırmalara göre, veri bilimcileri tarafından geliştirilen makine öğrenmesi modellerinin %87'si hiçbir zaman production ortamına ulaşmaz. Bu başarısızlı

Devamını Oku: MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma
9 Ağustos 2026

LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]

LLM Fine-Tuning: Kurumsal Yapay Zeka Stratejisinin Temel Taşı Büyük dil modelleri (LLM), genel amaçlı metin üretimi ve anlama konusunda etkileyici performans sergiliyor. Ancak kurumsal ortamlarda belirli bir alan, terminoloji veya iş sürecine uyum sağlamaları gerektiğinde, genel bilgileri çoğu zaman yetersiz kalıyor. Bu noktada fine-tuning, yani ince ayar süreci devreye giriyor. Fine-tuning sayesinde mevcut bir temel modeli, kendi verileriniz ve ihtiyaçlarınız doğrultusunda özelleştirmek

Devamını Oku: LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]
8 Ağustos 2026

Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI

Bilgisayarlı Görü Uygulamaları: Endüstriyel ve Medikal AI'nin Temel Teknolojisi Bilgisayarlı görü, makine öğrenmesinin en etkili alanlarından biridir. Türkiye'de yaşanan dijital dönüşüm sürecinde, özellikle üretim, sağlık ve lojistik sektörlerinde görü tabanlı otomasyon kritik hale gelmiştir. Smart Maple olarak Ankara'da geliştirdiğimiz çözümler, son beş yılda 150+ kuruluşunun üretim verimliliğini ortalama %35 oranında artırmıştır. Bu rehberde, bilgisayarlı görü teknolojisinin iş değeri

Devamını Oku: Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI