QA Shop API Contract — Example Swagger / OpenAPI
The REST API contract of the QA Shop practice environment: 46 endpoints grouped by tag, each with the status codes you should expect. You write your test cases against this contract.
Browse a real REST API contract endpoint by endpoint: 46 endpoints grouped by tag, with request bodies and the exact 401, 403, 409 and 422 responses to expect.
The page reads the contract from a derivative generated at build time, so you can browse every endpoint without Docker installed. Importing the raw openapi.yaml into Postman or Swagger Editor requires the stack to be running.
What you can learn on this page
- Sistem endpoints — Sağlık ve keşif GET /health — Servis ve veritabanı sağlığı · GET /api/v1/openapi.yaml — Bu sözleşmenin kendisi · GET /api/v1 — API keşif noktası
- Sandbox endpoints — İzole veri alanı yönetimi — aç, durum gör, sıfırla, log oku POST /api/v1/sandbox — Yeni izole veri alanı aç · GET /api/v1/sandbox/state — Satır sayıları · POST /api/v1/sandbox/reset — Seed veriye dön · GET /api/v1/sandbox/logs — Denetim kaydı (log analizi prat
- Kimlik endpoints — Kayıt, giriş, oturum POST /api/v1/auth/register — Yeni kullanıcı kaydı · POST /api/v1/auth/login — Giriş yap, token al · GET /api/v1/auth/me — 🔒 Oturumdaki kullanıcı · POST /api/v1/auth/logout — 🔒 Oturumu kapat · POST /api/v1/auth/refresh — 🔒 Token yenile
- Katalog endpoints — Ürün, varyant, kategori, marka, arama GET /api/v1/products — Ürün listesi · GET /api/v1/products/{id} — Ürün detayı · GET /api/v1/products/{id}/variants — Ürünün varyantları ve stoğu · GET /api/v1/categories — Kategori ağacı · GET /api/v1/categories/{id}/produ
- Sepet endpoints — Sepet ve satırları — stok rezervasyonu burada gerçekleşir POST /api/v1/carts — Sepet aç · GET /api/v1/carts/{id} — Sepet detayı ve toplamlar · POST /api/v1/carts/{id}/items — Sepete ürün ekle · PATCH /api/v1/carts/{id}/items/{itemId} — Satır adedini güncelle ·
- Sipariş endpoints — Checkout, listeleme, iptal, fatura, yaşam döngüsü (ödeme → kargo → teslim → iade) POST /api/v1/orders — 🔒 Checkout — sepeti siparişe çevir · GET /api/v1/orders — 🔒 Kendi siparişlerin · GET /api/v1/orders/{id} — 🔒 Sipariş detayı · POST /api/v1/orders/{id}/ca
- Adres endpoints — Adres defteri — varsayılan adres kuralı tek satırdan fazlasını etkiler GET /api/v1/addresses — 🔒 Adreslerim · POST /api/v1/addresses — 🔒 Adres ekle · PATCH /api/v1/addresses/{id} — 🔒 Adres güncelle · DELETE /api/v1/addresses/{id} — 🔒 Adres sil
- Yorum endpoints — Ürün yorumları ve moderasyon — onaysız yorum listede ve ortalamada görünmez GET /api/v1/products/{id}/reviews — Ürün yorumları · POST /api/v1/products/{id}/reviews — 🔒 Yorum yaz · GET /api/v1/products/{id}/rating — Ortalama puan ve dağılım · PATCH /api/v1/rev
- Kusur endpoints — Kontrollü bug anahtarları — testinin gerçekten kırmızıya döndüğünü kanıtlamak için GET /api/v1/sandbox/bugs — Açılabilecek kusurların kataloğu · PATCH /api/v1/sandbox/bugs — Kusur aç / kapat · POST /api/v1/sandbox/bugs/hidden — Gizli tur başlat · POST /api/v1/
- Status codes in the contract — Error paths are not closed with 200. Codes used in the contract: 200, 201, 204, 400, 401, 402, 403, 404, 409, 410, 422, 503. 401 not authenticated, 403 not authorized, 409 state does not allow it, 422 a business rule rejected it.