API Versioning روشی برای مدیریت تغییر قرارداد API در طول زمان است، به‌خصوص زمانی که کلاینت‌های قدیمی نمی‌توانند فوراً با تغییر سازگار شوند.

از تعریف تا کاربرد

اگر پاسخ /api/v1/users ساختار خاصی دارد و قرار است در نسخه جدید نام فیلد تغییر کند، می‌توان نسخه تازه‌ای ارائه کرد و برای مصرف‌کنندگان قبلی فرصت مهاجرت فراهم ساخت.

نسخه‌بندی در URL فقط یکی از روش‌هاست. Header و Content Negotiation نیز به کار می‌روند و نباید برای هر تغییر جزئی نسخه جدا ساخت.

نمونه دو نسخه API

GET /api/v1/products/42 HTTP/1.1
GET /api/v2/products/42 HTTP/1.1

نسخه‌بندی برای مدیریت تغییرهای ناسازگار مفید است. همیشه نیاز به نسخه تازه نیست, اما حذف فیلد یا تغییر معنی پاسخ می‌تواند کلاینت‌های قبلی را خراب کند.