{
  "openapi": "3.0.1",
  "info": {
    "title": "Kumpara Developer API",
    "description": "Kumpara entegrasyon API'si.\n\n**Kimlik:** `Authorization: Bearer kp_live_…` (API anahtarı; Ayarlar › API Anahtarları'ndan üretilir). Her anahtar TEK şirkete bağlıdır ve yalnız verilen yetkilerle (scope) çalışır.\n\n**Yazma istekleri `Idempotency-Key` başlığı ister** — aynı anahtarla tekrarlanan istek işi bir kez uygular.\n\n**Tutarlar** string ondalık olarak döner (kayan nokta yuvarlaması olmasın diye) ve para birimi ayrı alandadır. **Listeler** cursor ile sayfalanır (`meta.nextCursor`), offset yoktur. **Hatalar** RFC 9457 `application/problem+json` biçiminde ve kararlı bir `code` alanı taşır.",
    "contact": {
      "name": "Kumpara",
      "url": "https://kumpara.net"
    },
    "version": "v1"
  },
  "paths": {
    "/health": {
      "get": {
        "tags": [
          "BusinessOS.PublicApi"
        ],
        "operationId": "get_health",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/cash-accounts": {
      "get": {
        "tags": [
          "Cash"
        ],
        "operationId": "Cash_Accounts",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Değerler: cash, bank, pos, creditcard.",
            "schema": {
              "enum": [
                "cash",
                "bank",
                "pos",
                "creditcard"
              ],
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/cash-accounts/{id}/ledger-entries": {
      "get": {
        "tags": [
          "Cash"
        ],
        "summary": "Hesabın nakit ledger hareketleri (append-only; salt-okunur).",
        "operationId": "Cash_CashLedger",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/payments": {
      "get": {
        "tags": [
          "Cash"
        ],
        "operationId": "Cash_Payments",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "cashAccountId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PaymentsWrite"
        ],
        "operationId": "PaymentsWrite_Create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsWritePaymentBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsWritePaymentBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsWritePaymentBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/payments/{id}": {
      "get": {
        "tags": [
          "Cash"
        ],
        "operationId": "Cash_Payment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/warehouses": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "operationId": "Catalog_Warehouses",
        "parameters": [
          {
            "name": "isActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/categories": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "operationId": "Catalog_Categories",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "description": "Değerler: sales, expense, product, customer, supplier, employee, cashtransaction.",
            "schema": {
              "enum": [
                "sales",
                "expense",
                "product",
                "customer",
                "supplier",
                "employee",
                "cashtransaction"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/reference/{type}": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "summary": "Referans listeleri: `units` (birim + UBL karşılığı), `vat-rates`, `countries`, `cities`,\r\n`currencies`, `withholding-codes` (★ tevkifat), `variant-axes`, `variant-values`.\r\nOwner kataloğu + işletme override'ı birleştirilmiş hâlde döner (iç panelin gördüğü liste).",
        "operationId": "Catalog_Reference",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "description": "Değerler: units, vat-rates, countries, cities, currencies, withholding-codes, variant-axes, variant-values.",
            "required": true,
            "schema": {
              "enum": [
                "units",
                "vat-rates",
                "countries",
                "cities",
                "currencies",
                "withholding-codes",
                "variant-axes",
                "variant-values"
              ],
              "type": "string"
            }
          },
          {
            "name": "parentCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/changes": {
      "get": {
        "tags": [
          "Changes"
        ],
        "operationId": "Changes_List",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "types",
            "in": "query",
            "description": "Virgülle ayrılmış liste. Değerler: contact, product, sales_invoice, purchase_invoice, payment, e_document, incoming_e_document.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/cheques": {
      "get": {
        "tags": [
          "ChequesAndStockRead"
        ],
        "summary": "Çek/senet listesi. `direction`: `received` (müşteri çeki — portföyümüzde) / `issued` (verdiğimiz çek).\r\n\n★ Kumpara farkı: <b>teminat</b> ile <b>ödeme</b> çeki ayrıdır (`purpose`). Teminat belgesi cari defterine\r\nYAZILMAZ ve fatura kapatamaz — önce \"ödemeye dönüştür\" gerekir.",
        "operationId": "ChequesAndStockRead_Cheques",
        "parameters": [
          {
            "name": "direction",
            "in": "query",
            "description": "Değerler: received, issued.",
            "schema": {
              "enum": [
                "received",
                "issued"
              ],
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "dueFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dueTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/stock-movements": {
      "get": {
        "tags": [
          "ChequesAndStockRead"
        ],
        "summary": "Stok defteri satırları (append-only). Her satır bir belgeye bağlıdır (`source`); düzeltme ters kayıttır.\r\nSeviye sorgusu için `/v1/stock-levels` kullanın — burası hareket geçmişidir.",
        "operationId": "ChequesAndStockRead_StockMovements",
        "parameters": [
          {
            "name": "productId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "warehouseId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/taxpayers/actions/lookup": {
      "post": {
        "tags": [
          "ChequesAndStockRead"
        ],
        "summary": "VKN/TCKN'den GİB mükellef bilgisi: e-Fatura mükellefi mi, unvan, vergi dairesi, NACE, adres.\r\n\nPlatform kimliğiyle sorgulanır — şirketin kendi entegratör bağlantısı olmasa da çalışır. Sağlayıcı\r\nyapılandırılmamışsa `available: false` döner (hata değil). Bu uç GİB'in kamuya açık verisini okur,\r\nkontör TÜKETMEZ.",
        "operationId": "ChequesAndStockRead_LookupTaxpayer",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChequesAndStockReadTaxpayerLookupBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChequesAndStockReadTaxpayerLookupBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChequesAndStockReadTaxpayerLookupBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/e-credits": {
      "get": {
        "tags": [
          "ChequesAndStockRead"
        ],
        "summary": "e-Belge kontör bakiyesi. <b>Kontör tenant havuzundadır</b> (abonelik tenant bazlı) — şirket başına değil.\r\nGiden ve gelen HER e-belgeden düşer; sistemde oluşturulan ama GİB'e gitmeyen belgeden düşmez.",
        "operationId": "ChequesAndStockRead_Credits",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/contacts/{id}/ledger-entries": {
      "get": {
        "tags": [
          "ContactLedger"
        ],
        "summary": "Carinin defter satırları (append-only), kararlı sırada ve cursor ile sayfalı.",
        "operationId": "ContactLedger_LedgerEntries",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/contacts/{id}/open-items": {
      "get": {
        "tags": [
          "ContactLedger"
        ],
        "summary": "Carinin AÇIK (kapanmamış) faturaları + vade aşımı; ayrıca artan iade/avans kredisi.",
        "operationId": "ContactLedger_OpenItems",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/aging": {
      "get": {
        "tags": [
          "ContactLedger"
        ],
        "summary": "Yaşlandırma — açık kalemlerin vade kovalarına dağılımı (0-30 / 31-60 / 61-90 / 90+ gün ve vadesi gelmemiş).\r\n`contactId` verilmezse şirketin tamamı.",
        "operationId": "ContactLedger_Aging",
        "parameters": [
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Liste: keyset (cursor) sayfalama + `updatedAfter` delta + tip/arama filtresi. Sıralama sabit: (UpdatedAt|CreatedAt, Id).",
        "operationId": "Contacts_List",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Değerler: customer, supplier, customer_and_supplier, employee, other.",
            "schema": {
              "enum": [
                "customer",
                "supplier",
                "customer_and_supplier",
                "employee",
                "other"
              ],
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "taxNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ContactsWrite"
        ],
        "operationId": "ContactsWrite_Create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/contacts/{id}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "operationId": "Contacts_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "ContactsWrite"
        ],
        "operationId": "ContactsWrite_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/contacts/{id}/balance": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Bakiye — append-only cari ledger'ın toplamı (borç − alacak), para birimi bazında. Kartta tutulan bir bakiye alanı YOKTUR;\r\nbu uç her çağrıda ledger'dan hesaplar (iç panelle aynı kaynak).",
        "operationId": "Contacts_Balance",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/contacts/actions/upsert": {
      "post": {
        "tags": [
          "ContactsWrite"
        ],
        "summary": "Dış kimlikle upsert — entegratörün kendi id'si (`externalRef`) yerine burada <b>VKN/TCKN</b> ya da <b>cari kodu</b>\r\neşleştirme anahtarı olarak kullanılır (ikisi de aynı şirkette tekil). Kayıt varsa güncellenir, yoksa oluşturulur.",
        "operationId": "ContactsWrite_Upsert",
        "parameters": [
          {
            "name": "matchBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactsWriteContactBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/delivery-notes": {
      "get": {
        "tags": [
          "DeliveryNotes"
        ],
        "operationId": "DeliveryNotes_List",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Değerler: draft, shipped, cancelled.",
            "schema": {
              "enum": [
                "draft",
                "shipped",
                "cancelled"
              ],
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DeliveryNotes"
        ],
        "summary": "Siparişten taslak irsaliye oluşturur. Stok etkisi YOKTUR — çıkış sevkte (`actions/ship`) doğar.",
        "operationId": "DeliveryNotes_Create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryNotesCreateBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryNotesCreateBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryNotesCreateBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/delivery-notes/{id}": {
      "get": {
        "tags": [
          "DeliveryNotes"
        ],
        "operationId": "DeliveryNotes_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "DeliveryNotes"
        ],
        "summary": "Taşıma/sevk bilgisini günceller (metadata; stok/defter etkilemez).",
        "operationId": "DeliveryNotes_UpdateShipping",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryNotesShippingBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryNotesShippingBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryNotesShippingBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/delivery-notes/{id}/actions/ship": {
      "post": {
        "tags": [
          "DeliveryNotes"
        ],
        "summary": "SEVK ET — belge numarası (IRS) verilir, stok çıkışı yazılır, siparişin sevk edilen miktarı artar.\r\nNegatif stok politikası `Block` ise yetersiz stokta 409 döner ve hiçbir şey değişmez.",
        "operationId": "DeliveryNotes_Ship",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/delivery-notes/{id}/actions/cancel": {
      "post": {
        "tags": [
          "DeliveryNotes"
        ],
        "summary": "İPTAL = ters kayıt. Sevk edilmişse stok çıkışı geri verilir ve siparişin sevk miktarı azalır.",
        "operationId": "DeliveryNotes_Cancel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/e-documents": {
      "get": {
        "tags": [
          "EDocuments"
        ],
        "operationId": "EDocuments_List",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Değerler: queued, sent, gtbpending, accepted, rejected, failed, cancelled.",
            "schema": {
              "enum": [
                "queued",
                "sent",
                "gtbpending",
                "accepted",
                "rejected",
                "failed",
                "cancelled"
              ],
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Değerler: e_invoice, e_archive, e_despatch.",
            "schema": {
              "enum": [
                "e_invoice",
                "e_archive",
                "e_despatch"
              ],
              "type": "string"
            }
          },
          {
            "name": "sourceInvoiceId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/e-documents/{id}": {
      "get": {
        "tags": [
          "EDocuments"
        ],
        "operationId": "EDocuments_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/e-documents/{id}/xml": {
      "get": {
        "tags": [
          "EDocuments"
        ],
        "summary": "Gönderilen UBL-TR XML (dosya deposundan; belge gönderilmeden önce yoktur).",
        "operationId": "EDocuments_Xml",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/e-documents/{id}/pdf": {
      "get": {
        "tags": [
          "EDocuments"
        ],
        "summary": "Entegratörden PDF (görüntü). Sağlayıcı henüz üretmediyse 409.",
        "operationId": "EDocuments_Pdf",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/incoming-e-documents": {
      "get": {
        "tags": [
          "EDocuments"
        ],
        "operationId": "EDocuments_Incoming",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Değerler: e_invoice, e_archive, e_despatch.",
            "schema": {
              "enum": [
                "e_invoice",
                "e_archive",
                "e_despatch"
              ],
              "type": "string"
            }
          },
          {
            "name": "supplierTaxNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isRead",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/incoming-e-documents/{id}": {
      "get": {
        "tags": [
          "EDocuments"
        ],
        "operationId": "EDocuments_IncomingGet",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/e-documents/{id}/actions/cancel": {
      "post": {
        "tags": [
          "EDocumentsWrite"
        ],
        "summary": "Kesilmiş e-belgeyi iptal eder (e-Arşiv yasal süre içinde; kabul edilmiş e-Fatura GİB'de iptal edilemiyorsa\r\niade faturası gerekir — o durumda sağlayıcı hatası aynen iletilir).\r\n\nFatura defterini DEĞİŞTİRMEZ; defter iptali için `POST /v1/sales-invoices/{id}/actions/cancel`\r\nçağrılır (ve o uç, aktif e-belge varken zaten 409 verir — sıra: önce e-belge, sonra fatura).",
        "operationId": "EDocumentsWrite_CancelEDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteCancelBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteCancelBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteCancelBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/incoming-e-documents/actions/sync": {
      "post": {
        "tags": [
          "EDocumentsWrite"
        ],
        "summary": "Gelen kutusunu sağlayıcıdan çeker (idempotent — aynı belge ikinci kez oluşturulmaz, güncellenir).\r\n`days` varsayılan 30, üst sınır 180. `documentType`: `e_invoice` (varsayılan) | `e_despatch`.",
        "operationId": "EDocumentsWrite_Sync",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteSyncBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteSyncBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteSyncBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/incoming-e-documents/{id}/actions/answer": {
      "post": {
        "tags": [
          "EDocumentsWrite"
        ],
        "summary": "Gelen ticari e-Faturaya KABUL/RED yanıtı gönderir (temel faturada yanıt yoktur; itiraz harici yolla yapılır).\r\n\n<b>Yasal süre:</b> RED, belgenin gelen kutusuna düştüğü günden itibaren e-Fatura'da 8, e-İrsaliye'de 7\r\ngün içinde yapılabilir; süre dolduysa 409 döner (GİB de reddeder — iade faturası yolu kalır). KABUL süresizdir.",
        "operationId": "EDocumentsWrite_Answer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteAnswerBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteAnswerBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EDocumentsWriteAnswerBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/incoming-e-documents/{id}/actions/mark-read": {
      "post": {
        "tags": [
          "EDocumentsWrite"
        ],
        "summary": "Gelen belgeyi okundu işaretler (sağlayıcıda da). Kontör düşmez.",
        "operationId": "EDocumentsWrite_MarkRead",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/incoming-e-documents/{id}/actions/ignore": {
      "post": {
        "tags": [
          "EDocumentsWrite"
        ],
        "summary": "Gelen belgeyi \"yoksayıldı\" işaretler (alış faturasına dönüştürülmeyecek). Yerel karardır; GİB'e gitmez.",
        "operationId": "EDocumentsWrite_Ignore",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/me": {
      "get": {
        "tags": [
          "Me"
        ],
        "operationId": "Me_Me",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/capabilities": {
      "get": {
        "tags": [
          "Me"
        ],
        "summary": "Bu şirkette hangi yeteneklerin açık olduğu — entegratör akışını buna göre kurar (e-belge var mı, kontör kaç).",
        "operationId": "Me_Capabilities",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{id}/variants": {
      "post": {
        "tags": [
          "OpeningAndVariantsWrite"
        ],
        "summary": "Ürüne varyant ekler. Kod/barkod ürün kartlarıyla AYNI isim uzayında tekildir; aynı eksen iki kez seçilemez;\r\naynı eksen/değer kombinasyonunda ikinci varyant açılamaz (409).",
        "operationId": "OpeningAndVariantsWrite_CreateVariant",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteVariantBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteVariantBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteVariantBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "★ Varyantlar (eksen/değer ikilileri owner kataloğundan; SKU ve barkod varyant başına).",
        "operationId": "Products_Variants",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/product-variants/{variantId}": {
      "patch": {
        "tags": [
          "OpeningAndVariantsWrite"
        ],
        "summary": "Varyantı günceller. `attributes` TAM listedir — gönderilmeyen eksen silinir.",
        "operationId": "OpeningAndVariantsWrite_UpdateVariant",
        "parameters": [
          {
            "name": "variantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteVariantBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteVariantBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteVariantBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/contacts/{id}/actions/set-opening-balance": {
      "post": {
        "tags": [
          "OpeningAndVariantsWrite"
        ],
        "summary": "Cari açılış bakiyesi. Cari başına BİR KEZ — ters kayıtlandıysa yenisi girilebilir.",
        "operationId": "OpeningAndVariantsWrite_SetOpeningBalance",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteOpeningBalanceBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteOpeningBalanceBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteOpeningBalanceBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/contacts/{id}/actions/reverse-opening-balance": {
      "post": {
        "tags": [
          "OpeningAndVariantsWrite"
        ],
        "summary": "Açılış bakiyesini ters kayıtla geri alır (satır silinmez; karşı kayıt yazılır).",
        "operationId": "OpeningAndVariantsWrite_ReverseOpeningBalance",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteReverseBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteReverseBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteReverseBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{id}/actions/set-opening-stock": {
      "post": {
        "tags": [
          "OpeningAndVariantsWrite"
        ],
        "summary": "Ürün açılış stoğu. Ürün+varyant+depo başına BİR KEZ — ters kayıtlandıysa yenisi girilebilir.",
        "operationId": "OpeningAndVariantsWrite_SetOpeningStock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteOpeningStockBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteOpeningStockBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteOpeningStockBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{id}/actions/reverse-opening-stock": {
      "post": {
        "tags": [
          "OpeningAndVariantsWrite"
        ],
        "summary": "Açılış stoğunu ters kayıtla geri alır (hareket silinmez).",
        "operationId": "OpeningAndVariantsWrite_ReverseOpeningStock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteReverseStockBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteReverseStockBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpeningAndVariantsWriteReverseStockBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/orders": {
      "get": {
        "tags": [
          "Orders"
        ],
        "operationId": "Orders_List",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Değerler: open, partially_delivered, delivered, invoiced, cancelled.",
            "schema": {
              "enum": [
                "open",
                "partially_delivered",
                "delivered",
                "invoiced",
                "cancelled"
              ],
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "orderedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orders"
        ],
        "operationId": "Orders_Create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrdersOrderBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrdersOrderBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrdersOrderBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/orders/{id}": {
      "get": {
        "tags": [
          "Orders"
        ],
        "operationId": "Orders_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Orders"
        ],
        "summary": "Açık (sevksiz) siparişi yeniden yazar — `lines` TAM listedir, eksik satır silinmiş sayılır.",
        "operationId": "Orders_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrdersOrderBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrdersOrderBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrdersOrderBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/orders/{id}/actions/cancel": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Siparişi iptal eder. Kaynak teklif/proforma varsa dönüşüm bayrağı geri alınır.",
        "operationId": "Orders_Cancel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/payments/{id}/actions/allocate": {
      "post": {
        "tags": [
          "PaymentsWrite"
        ],
        "summary": "Mevcut tahsilat/ödemeyi açık bir faturaya kapatır. Ledger YAZMAZ (yalnız kapama bağıntısı).",
        "operationId": "PaymentsWrite_Allocate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsWriteAllocateBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsWriteAllocateBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsWriteAllocateBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products": {
      "get": {
        "tags": [
          "Products"
        ],
        "operationId": "Products_List",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "barcode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProductsWrite"
        ],
        "operationId": "ProductsWrite_Create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{id}": {
      "get": {
        "tags": [
          "Products"
        ],
        "operationId": "Products_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "ProductsWrite"
        ],
        "operationId": "ProductsWrite_Update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{id}/stock": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Stok seviyeleri — depo (ve varsa varyant) bazında `SUM(giriş) − SUM(çıkış)`. Kartta tutulan bir \"mevcut stok\"\r\nalanı YOKTUR; ledger toplamıdır. `warehouseId` ile tek depoya süzülür.",
        "operationId": "Products_Stock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "warehouseId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/actions/upsert": {
      "post": {
        "tags": [
          "ProductsWrite"
        ],
        "summary": "Barkod ya da ürün kodu ile upsert — e-ticaret senkronunda aynı ürünün ikinci kez açılmasını engeller.",
        "operationId": "ProductsWrite_Upsert",
        "parameters": [
          {
            "name": "matchBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsWriteProductBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/purchase-invoices": {
      "get": {
        "tags": [
          "PurchaseInvoices"
        ],
        "operationId": "PurchaseInvoices_List",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Değerler: draft, approved, cancelled.",
            "schema": {
              "enum": [
                "draft",
                "approved",
                "cancelled"
              ],
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierInvoiceNo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "issuedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "issuedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PurchaseInvoices"
        ],
        "operationId": "PurchaseInvoices_Create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseInvoicesInvoiceBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseInvoicesInvoiceBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseInvoicesInvoiceBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/purchase-invoices/{id}": {
      "get": {
        "tags": [
          "PurchaseInvoices"
        ],
        "operationId": "PurchaseInvoices_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/purchase-invoices/{id}/actions/approve": {
      "post": {
        "tags": [
          "PurchaseInvoices"
        ],
        "summary": "Taslak alış faturasını onaylar (numara + cari alacak + stok girişi, tek transaction).",
        "operationId": "PurchaseInvoices_Approve",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sales-invoices": {
      "get": {
        "tags": [
          "SalesInvoices"
        ],
        "operationId": "SalesInvoices_List",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Değerler: draft, approved, cancelled.",
            "schema": {
              "enum": [
                "draft",
                "approved",
                "cancelled"
              ],
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "issuedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "issuedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SalesInvoicesWrite"
        ],
        "operationId": "SalesInvoicesWrite_Create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteInvoiceBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteInvoiceBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteInvoiceBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sales-invoices/{id}": {
      "get": {
        "tags": [
          "SalesInvoices"
        ],
        "operationId": "SalesInvoices_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sales-invoices/{id}/ledger-entries": {
      "get": {
        "tags": [
          "SalesInvoices"
        ],
        "summary": "Faturanın cari ledger satırları — append-only kayıtlar (salt-okunur; düzeltme yalnız ters kayıtla).",
        "operationId": "SalesInvoices_LedgerEntries",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sales-invoices/{id}/actions/approve": {
      "post": {
        "tags": [
          "SalesInvoicesWrite"
        ],
        "summary": "Taslak faturayı onaylar (numara + cari ledger + stok çıkışı, tek transaction).",
        "operationId": "SalesInvoicesWrite_Approve",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sales-invoices/{id}/cancel-eligibility": {
      "get": {
        "tags": [
          "SalesInvoicesWrite"
        ],
        "summary": "İptal ön kontrolü (salt-okunur, yan etkisiz): fatura iptal edilebilir mi? Edilemezse her engel kararlı kodla döner\r\n(`edocument_active`, `return_pending`, `payment_bound`, `orphan_shipped_stock`,\r\n`period_closed`, `invalid_state`). `resolvable: true` olan engel bir parametreyle aşılabilir.",
        "operationId": "SalesInvoicesWrite_CancelEligibility",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sales-invoices/{id}/actions/cancel": {
      "post": {
        "tags": [
          "SalesInvoicesWrite"
        ],
        "summary": "Onaylı faturayı iptal eder = <b>ters kayıt</b>. Cari alacaklandırılır, stok çıkışları geri verilir, bağlı\r\nirsaliye/sipariş yeniden faturalanabilir olur. Defter satırı SİLİNMEZ (append-only).\r\n\nAktif e-belge varsa 409 — GİB'deki belge defterle birlikte iptal olmaz, önce e-belge iptal edilmelidir.",
        "operationId": "SalesInvoicesWrite_Cancel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteCancelBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteCancelBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteCancelBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sales-invoices/{id}/actions/issue-e-document": {
      "post": {
        "tags": [
          "SalesInvoicesWrite"
        ],
        "summary": "Onaylı satış faturasından GİDEN e-belge keser (e-Fatura / e-Arşiv).\r\n\nTip verilmezse alıcının VKN'si GİB'de sorgulanır: e-Fatura mükellefiyse e-Fatura (posta kutusu etiketiyle),\r\ndeğilse e-Arşiv. İhracat faturasında senaryo IHRACAT olur ve her kalemde Incoterm aranır.\nHer gönderim <b>kontör</b> düşer (tenant havuzundan); kontör yetmezse 402 `insufficient_credit`.\r\nAynı fatura için aktif e-belge varsa 409 — çift kesim yapılmaz (mükerrer GİB belgesi geri alınamaz).",
        "operationId": "SalesInvoicesWrite_IssueEDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteIssueEDocumentBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteIssueEDocumentBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SalesInvoicesWriteIssueEDocumentBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/stock-levels": {
      "get": {
        "tags": [
          "StockLevels"
        ],
        "summary": "Stok seviyeleri (ürün × depo × varyant). Filtreler: `warehouseId`, `productId`, `updatedAfter`\r\n(o tarihten sonra HAREKET görmüş seviyeler), `nonZeroOnly`.",
        "operationId": "StockLevels_List",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "nonZeroOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    },
    "/v1/stock-levels/actions/set": {
      "post": {
        "tags": [
          "StockLevels"
        ],
        "summary": "Bir ürün/varyantın bir depodaki miktarını MUTLAK değere çeker. Fark sunucuda hesaplanır ve sayım + düzeltme\r\nhareketi olarak yazılır (defter append-only). Idempotency-Key zorunlu.",
        "operationId": "StockLevels_Set",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "İstek tekrarını önleyen benzersiz anahtar (ör. UUID). Aynı anahtarla gelen ikinci istek işi TEKRAR UYGULAMAZ — ağ hatasında güvenle yeniden deneyebilirsiniz.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3f1c7e2a-9b44-4d21-8f6e-1a2b3c4d5e6f"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StockLevelsSetBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StockLevelsSetBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StockLevelsSetBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "İstek okunamadı ya da parametre geçersiz (`invalid_request`, `invalid_value`, `invalid_parameter`, `invalid_cursor`, `invalid_filter`, `missing_parameter`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "401": {
            "description": "API anahtarı geçersiz, süresi dolmuş ya da iptal edilmiş (`unauthorized`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "403": {
            "description": "Anahtarda gerekli yetki yok (`insufficient_scope`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "404": {
            "description": "Kayıt ya da uç yok; başka şirkete ait kayıt da 404 döner (`not_found`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "409": {
            "description": "Çakışma — aynı `Idempotency-Key` hâlâ işleniyor (`idempotency_in_progress`) ya da tekillik ihlali (`duplicate_code`, `duplicate_tax_number`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "422": {
            "description": "İş kuralı ihlali (`validation_failed`, `negative_quantity`, `negative_unit_price`, `empty_line`, `warehouse_required`, `currency_not_enabled`, `allocation_failed`).",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          },
          "429": {
            "description": "İstek sınırı aşıldı (`rate_limit_exceeded`). `Retry-After` başlığına bakın.",
            "headers": {
              "X-Request-Id": {
                "description": "Bu isteğin kimliği; hata gövdesindeki `requestId` ile aynıdır. Destek talebinde paylaşın.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Bu kova için dakikalık sınır.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Pencere içinde kalan istek hakkı.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Pencerenin sıfırlanmasına kalan saniye.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProblem"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ChequesAndStockReadTaxpayerLookupBody": {
        "type": "object",
        "properties": {
          "taxNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContactsWriteAddressBody": {
        "type": "object",
        "properties": {
          "line": {
            "type": "string",
            "nullable": true
          },
          "district": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContactsWriteContactBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "enum": [
              "customer",
              "supplier",
              "customer_and_supplier",
              "other"
            ],
            "type": "string",
            "description": "Değerler: customer, supplier, customer_and_supplier, other.",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "taxNumber": {
            "type": "string",
            "nullable": true
          },
          "taxOffice": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/ContactsWriteAddressBody"
          },
          "preferredCurrency": {
            "type": "string",
            "nullable": true
          },
          "riskLimit": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "paymentTermDays": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "categoryId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "naceCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactsWriteNaceBody"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "İstek gövdesi — sunucu hesaplı alan yok; bakiye/kod üretimi burada yapılmaz."
      },
      "ContactsWriteNaceBody": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DeliveryNotesCreateBody": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryNotesLineBody"
            },
            "nullable": true
          },
          "carrier": {
            "type": "string",
            "nullable": true
          },
          "shippingAddress": {
            "type": "string",
            "nullable": true
          },
          "shippingPostalCode": {
            "type": "string",
            "nullable": true
          },
          "plateNumber": {
            "type": "string",
            "nullable": true
          },
          "driverName": {
            "type": "string",
            "nullable": true
          },
          "driverNationalId": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Taşıma bilgileri e-İrsaliye için gerekir (plaka, sürücü, taşıyıcı); sonradan da tamamlanabilir."
      },
      "DeliveryNotesLineBody": {
        "type": "object",
        "properties": {
          "orderLineId": {
            "type": "string",
            "format": "uuid"
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          }
        },
        "additionalProperties": false
      },
      "DeliveryNotesShippingBody": {
        "type": "object",
        "properties": {
          "deliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "carrier": {
            "type": "string",
            "nullable": true
          },
          "shippingAddress": {
            "type": "string",
            "nullable": true
          },
          "shippingPostalCode": {
            "type": "string",
            "nullable": true
          },
          "plateNumber": {
            "type": "string",
            "nullable": true
          },
          "driverName": {
            "type": "string",
            "nullable": true
          },
          "driverNationalId": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EDocumentsWriteAnswerBody": {
        "type": "object",
        "properties": {
          "answer": {
            "enum": [
              "accept",
              "reject"
            ],
            "type": "string",
            "description": "Değerler: accept, reject.",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EDocumentsWriteCancelBody": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EDocumentsWriteSyncBody": {
        "type": "object",
        "properties": {
          "days": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "documentType": {
            "enum": [
              "e_invoice",
              "e_archive",
              "e_despatch"
            ],
            "type": "string",
            "description": "Değerler: e_invoice, e_archive, e_despatch.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpeningAndVariantsWriteAttributeBody": {
        "type": "object",
        "properties": {
          "axisCode": {
            "type": "string",
            "nullable": true
          },
          "valueCode": {
            "type": "string",
            "nullable": true
          },
          "valueText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpeningAndVariantsWriteOpeningBalanceBody": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "decimal"
          },
          "side": {
            "enum": [
              "debit",
              "credit"
            ],
            "type": "string",
            "description": "Değerler: debit, credit.",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Açılış bakiyesi gövdesi. `side`: \"debit\" → cari BİZE borçlu; \"credit\" → BİZ cariye borçluyuz.\r\n`currency` boşsa carinin tercih ettiği para birimi, `exchangeRate` boşsa 1 kullanılır."
      },
      "OpeningAndVariantsWriteOpeningStockBody": {
        "type": "object",
        "properties": {
          "warehouseId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "unitCost": {
            "type": "number",
            "format": "decimal"
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpeningAndVariantsWriteReverseBody": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "nullable": true
          },
          "reversalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpeningAndVariantsWriteReverseStockBody": {
        "type": "object",
        "properties": {
          "warehouseId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "reversalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpeningAndVariantsWriteVariantBody": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "nullable": true
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpeningAndVariantsWriteAttributeBody"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Varyant gövdesi. `attributes` eksen/değer seçimleridir (ör. RENK=RENK-KIRMIZI, BEDEN=BEDEN-L)."
      },
      "OrdersLineBody": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "unitPrice": {
            "type": "number",
            "format": "decimal"
          },
          "discountRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "vatRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "variantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Sipariş satırı — tutar alanı YOK (sunucu hesaplar)."
      },
      "OrdersOrderBody": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "format": "uuid"
          },
          "warehouseId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "orderDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrdersLineBody"
            },
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentsWriteAllocateBody": {
        "type": "object",
        "properties": {
          "invoiceType": {
            "enum": [
              "sales_invoice",
              "purchase_invoice"
            ],
            "type": "string",
            "description": "Değerler: sales_invoice, purchase_invoice.",
            "nullable": true
          },
          "invoiceId": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "sourceAmount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "targetAmount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "rateDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Kapama gövdesi — aynı para biriminde `amount`; çapraz kurda `sourceAmount` (kasa) + `targetAmount` (fatura)."
      },
      "PaymentsWriteAllocationLineBody": {
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "number",
            "format": "decimal"
          }
        },
        "additionalProperties": false,
        "description": "Çok-fatura dağıtımı satırı."
      },
      "PaymentsWritePaymentBody": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "format": "uuid"
          },
          "cashAccountId": {
            "type": "string",
            "format": "uuid"
          },
          "direction": {
            "enum": [
              "incoming",
              "outgoing"
            ],
            "type": "string",
            "description": "Değerler: incoming, outgoing.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "decimal"
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "invoiceType": {
            "enum": [
              "sales_invoice",
              "purchase_invoice"
            ],
            "type": "string",
            "description": "Değerler: sales_invoice, purchase_invoice.",
            "nullable": true
          },
          "invoiceId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "allocationAmount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "settlementAmount": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "settlementCurrency": {
            "type": "string",
            "nullable": true
          },
          "settlementToBaseRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "allocations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentsWriteAllocationLineBody"
            },
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "advanceOffset": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Tahsilat/ödeme gövdesi. `amount` + `currency` kasa/banka hesabının para birimindedir.\r\nKapama üç yoldan biriyle yapılır: (a) `invoiceId`+`invoiceType` tek fatura,\r\n(b) `allocations[]` çok fatura, (c) tek fatura + `settlement*` ile çapraz kur."
      },
      "ProductsWriteProductBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "enum": [
              "stock",
              "service"
            ],
            "type": "string",
            "description": "Değerler: stock, service.",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "unitCode": {
            "type": "string",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "nullable": true
          },
          "gtip": {
            "type": "string",
            "nullable": true
          },
          "categoryId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "criticalStockLevel": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "salePrice": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "purchasePrice": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "purchaseCurrency": {
            "type": "string",
            "nullable": true
          },
          "vatRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Uca özgü gövde — nesne ya da dizi."
          },
          "meta": {
            "type": "object",
            "properties": {
              "requestId": {
                "type": "string",
                "description": "Yanıttaki `X-Request-Id` ile aynı; destek talebinde paylaşılır."
              },
              "nextCursor": {
                "type": "string",
                "description": "Sonraki sayfa imleci; son sayfada `null`.",
                "nullable": true
              },
              "hasMore": {
                "type": "boolean",
                "description": "Sonraki sayfa var mı."
              },
              "count": {
                "type": "integer",
                "description": "Bu sayfadaki kayıt sayısı."
              },
              "checkpoint": {
                "type": "string",
                "description": "Yalnız `/v1/changes`: sonraki çağrıda `since` olarak verilir.",
                "nullable": true
              },
              "replayed": {
                "type": "boolean",
                "description": "Aynı `Idempotency-Key` tekrarı: gövde ilk çağrının yanıtıdır, iş TEKRAR YAPILMADI."
              }
            }
          }
        },
        "description": "Tüm başarılı yanıtların zarfı. `data` uca göre değişir (nesne ya da dizi); `meta` sayfalama ve istek kimliği taşır."
      },
      "PublicProblem": {
        "required": [
          "type",
          "title",
          "status",
          "code"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Hata kataloğu adresi."
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "detail": {
            "type": "string",
            "description": "İnsan okuyacak açıklama — kararlı DEĞİLDİR.",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "Kararlı makine kodu (snake_case)."
          },
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string",
                  "description": "JSON pointer (ör. `/lines`)."
                },
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              }
            },
            "description": "Alan bazlı hatalar.",
            "nullable": true
          }
        },
        "description": "RFC 9457 problem+json. `code` DONDURULMUŞ sözlüktür: dokümante edilen kod değişmez; istemci `code` üzerinden dallanmalıdır, `detail` metnine göre değil."
      },
      "PurchaseInvoicesInvoiceBody": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "format": "uuid"
          },
          "warehouseId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "issueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseInvoicesLineBody"
            },
            "nullable": true
          },
          "supplierInvoiceNo": {
            "type": "string",
            "nullable": true
          },
          "categoryId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "withholdingCode": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "approve": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Alış faturası gövdesi. `approve: true` ise aynı çağrıda onaylanır (numara + cari alacak + stok girişi).\r\n`supplierInvoiceNo` tedarikçinin kendi belge numarasıdır — mutabakat ve mükerrer kontrolü için önerilir."
      },
      "PurchaseInvoicesLineBody": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "unitPrice": {
            "type": "number",
            "format": "decimal"
          },
          "discountRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "vatRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "withholdingCode": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "variantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Alış faturası satırı — tutar alanı YOK (sunucu hesaplar)."
      },
      "SalesInvoicesWriteCancelBody": {
        "type": "object",
        "properties": {
          "reverseBoundPayments": {
            "type": "boolean"
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "İptal gövdesi. `reverseBoundPayments` true ise bağlı tahsilat kapamaları AYNI işlemde geri alınır."
      },
      "SalesInvoicesWriteInvoiceBody": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "format": "uuid"
          },
          "warehouseId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "issueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "withholdingCode": {
            "type": "string",
            "nullable": true
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesInvoicesWriteLineBody"
            },
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "approve": {
            "type": "boolean"
          },
          "isExport": {
            "type": "boolean"
          },
          "exportKind": {
            "type": "string",
            "nullable": true
          },
          "incotermCode": {
            "type": "string",
            "nullable": true
          },
          "transportModeCode": {
            "type": "string",
            "nullable": true
          },
          "originCountryCode": {
            "type": "string",
            "nullable": true
          },
          "destinationCountry": {
            "type": "string",
            "nullable": true
          },
          "destinationCity": {
            "type": "string",
            "nullable": true
          },
          "vatExemptionReasonCode": {
            "type": "string",
            "nullable": true
          },
          "orderId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "deliveryNoteIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Fatura gövdesi. `approve` true ise aynı çağrıda onay akışı çalışır."
      },
      "SalesInvoicesWriteIssueEDocumentBody": {
        "type": "object",
        "properties": {
          "documentType": {
            "enum": [
              "e_invoice",
              "e_archive",
              "e_despatch"
            ],
            "type": "string",
            "description": "Değerler: e_invoice, e_archive, e_despatch.",
            "nullable": true
          },
          "scenario": {
            "enum": [
              "ticari",
              "temel",
              "earsiv",
              "ihracat"
            ],
            "type": "string",
            "description": "Değerler: ticari, temel, earsiv, ihracat.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "E-belge kesme gövdesi — ikisi de boşsa sunucu karar verir (mükellef sorgusu + ihracat dalı)."
      },
      "SalesInvoicesWriteLineBody": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "unitPrice": {
            "type": "number",
            "format": "decimal"
          },
          "discountRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "vatRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "withholdingCode": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "productVariantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "gtip": {
            "type": "string",
            "nullable": true
          },
          "packageQuantity": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "packagingTypeCode": {
            "type": "string",
            "nullable": true
          },
          "vatExemptionCode": {
            "type": "string",
            "nullable": true
          },
          "incotermCode": {
            "type": "string",
            "nullable": true
          },
          "transportModeCode": {
            "type": "string",
            "nullable": true
          },
          "orderLineId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "deliveryNoteLineId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Fatura satırı — tutar alanı YOK (sunucu hesaplar)."
      },
      "StockLevelsSetBody": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "warehouseId": {
            "type": "string",
            "format": "uuid"
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Mutlak miktar gövdesi — `quantity` hedeflenen SON miktardır, fark değil."
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "http",
        "description": "API anahtarınız: `Authorization: Bearer kp_live_…`",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "ApiKey": [ ]
    }
  ],
  "tags": [
    {
      "name": "Cash",
      "description": "`/v1/cash-accounts` (kasa/banka/POS/kredi kartı hesapları + bakiye + hareketler) ve `/v1/payments`\r\n            (tahsilat/ödeme + fatura kapamaları). Salt-okunur Faz 1.\r\n            \n★ Kumpara farkı: bakiye append-only nakit ledger'dan hesaplanır (hesapta tutulmaz); tahsilat/ödeme\r\n            <b>allocation</b>'larla faturalara bağlanır (kısmi kapama, çapraz para birimi), ters kaydedilen hareketler\r\n            (`status=reversed`) listede görünür ama bakiyeye/kapamaya sayılmaz."
    },
    {
      "name": "Catalog",
      "description": "`/v1/warehouses`, `/v1/categories` ve `/v1/reference/{type}` — belge kurarken ihtiyaç duyulan sabit listeler.\r\n            ★ Kumpara farkı: birim / KDV oranı / ülke / şehir / varyant ekseni **owner kataloğundan** gelir (hardcode yok, işletme\r\n            override edebilir); ayrıca **tevkifat kodları** ve **birim kodu ↔ UBL karşılığı** tek uçtan alınır — entegratör\r\n            e-belge alanlarını doğru doldurabilsin diye."
    },
    {
      "name": "Changes",
      "description": "`GET /v1/changes` — delta senkron akışı: son çağrıdan bu yana değişen kayıtların <b>tipi + kimliği</b> (thin event).\r\n            Entegratör bu listeyi alır, ihtiyaç duyduğu kaydı kendi ucundan (`/v1/contacts/{id}` gibi) okur.\r\n            \nKaynak: kayıtların `UpdatedAt ?? CreatedAt` damgası (ayrı bir olay tablosu v1.1'de gelecek). Bu yüzden:\r\n            (a) her çağrıda `since` zorunlu, (b) sonuç <b>kararlı sıralı</b> (damga, id) ve cursor ile sayfalanır,\r\n            (c) commit sırası ile damga sırası arasındaki boşluğa karşı <b>5 dakikalık örtüşme</b> önerilir (çağıran son\r\n            damgadan 5 dk geri gider; tekrar gelen kayıt zararsızdır çünkü okuma idempotenttir)."
    },
    {
      "name": "ChequesAndStockRead",
      "description": "Salt-okunur tamamlayıcı uçlar: `/v1/cheques` (çek/senet), `/v1/stock-movements` (üçüncü defter),\r\n`/v1/taxpayers/actions/lookup` (GİB mükellef sorgusu) ve `/v1/e-credits` (e-belge kontörü).\r\n\nHiçbiri mutasyon yapmaz; bu yüzden `Idempotency-Key` istemezler."
    },
    {
      "name": "ContactLedger",
      "description": "`/v1/contacts/{id}/ledger-entries`, `/open-items` ve `/v1/aging` — cari mutabakatının üç ayağı.\r\n            \n<b>Neden gerekliydi:</b>`/v1/contacts/{id}/balance` tek bir sayı veriyordu; mali müşavir/ERP tarafında\r\n            \"bu bakiye NEDEN bu?\" sorusunun cevabı (satırlar) ve \"hangi fatura açık kaldı?\" (açık kalemler) okunamıyordu.\n<b>Append-only defter:</b> satırlar değiştirilemez; düzeltme ters kayıttır. Bu uçlar salt-okunurdur.\n<b>Açık kalem hesabı kapama-farkındadır:</b> aktif kapama (allocation) varsa kalan = fatura − Σ kapama;\r\n            kapama yoksa ama ödeme varsa FIFO geri düşüşü uygulanır. Satış tarafında taban `payableTotal` (tevkifat\r\n            düşülmüş), alış tarafında `grandTotal` — cari defterle AYNI taban."
    },
    {
      "name": "Contacts",
      "description": "`/v1/contacts` — cari kartları (müşteri/tedarikçi/personel). Salt-okunur Faz 1 yüzeyi: liste (cursor + delta filtresi),\r\n            tekil kayıt ve bakiye. Bakiye <b>ledger'dan</b> hesaplanır (kartta tutulmaz); PII alanları (TCKN, adres, telefon) yalnız\r\n            `pii:read` yetkisi varsa döner, yoksa maskelenir."
    },
    {
      "name": "ContactsWrite",
      "description": "`/v1/contacts` yazma uçları (Faz 2): oluştur, güncelle, <b>dış kimlikle upsert</b>.\r\n            \nKurallar iç panelle AYNI: ünvan zorunlu, aynı şirkette cari kodu ve VKN tekil, personel carisi API'den açılmaz\r\n            (yalnız Personel modülü), NACE biçimi doğrulanır. Bakiye/ledger buradan DEĞİŞMEZ (kart verisi).\n<b>Kısmi güncelleme:</b>`PATCH` ve `upsert`'in mevcut-kayıt dalında gövdede GÖNDERİLMEYEN alan\r\n            mevcut değerini korur. Bunun sonucu: bir alanı API'den NULL'a çekmek mümkün değildir (panelden yapılır).\r\n            Aksi tasarım denendiğinde `{\"name\":\"X\"}` gibi bir gövde VKN/kod/e-posta/adresi siliyor ve tipi\r\n            `customer`'a çeviriyordu — sessiz veri kaybı.\n`Idempotency-Key` zorunlu — aynı anahtarla ikinci çağrı iş yapmaz (409 `idempotency_replayed`).\r\n            Dış sistem yeniden denerken çift kart açılmaz. `externalRef` ile upsert kullanılırsa anahtar yine gereklidir."
    },
    {
      "name": "DeliveryNotes",
      "description": "`/v1/delivery-notes` — irsaliye (sevk). Zincirin orta halkası: sipariş → <b>irsaliye</b> → fatura.\r\n            \n<b>Stok çıkışı burada doğar.</b> Sevk ile fatura onayı aynı malı iki kez düşürmez: satış tarafı toplam çıkış\r\n            = max(Σ sevk, Σ onaylı fatura); her belge yalnız kendi farkını yazar. Bu yüzden önce fatura onaylandıysa sevk\r\n            hiç stok hareketi üretmeyebilir — bu doğru davranıştır.\n<b>Yetki:</b> taslak oluşturma/güncelleme `sales:write`; <b>sevk</b> ve <b>iptal</b> stok defterine\r\n            yazdığı için `stock:write` ister."
    },
    {
      "name": "EDocuments",
      "description": "`/v1/e-documents` — giden e-Fatura / e-Arşiv / e-İrsaliye (salt-okunur Faz 1: liste, detay, UBL XML, PDF)\r\n            ve `/v1/incoming-e-documents` — gelen kutusu. ★ Kumpara farkı: aynı API'de hem gönderilen hem gelen belge,\r\n            entegratör bağımsız (BirFatura/Mysoft aynı şema), GİB numarası + ETTN + sağlayıcı durumu tek yerde.\r\n            \nKontör: her <b>giden</b> ve her <b>gelen</b> e-belge 1 kontör tüketir (işletme havuzundan); Kumpara içinde\r\n            oluşturulan belge (fatura kaydı vb.) kontör tüketmez — `GET /v1/capabilities` bakiyeyi döner."
    },
    {
      "name": "EDocumentsWrite",
      "description": "e-Belge yazma uçları: giden belgenin <b>iptali</b> ve <b>gelen kutusu</b> işlemleri (senkron, yanıt, okundu, yoksay).\r\n\n<b>Kontör kuralı:</b> giden ve gelen HER e-belge kontör düşer (tenant havuzundan). Senkron yeni belge çektiğinde\r\nçekilen belge başına düşer; iptal ve okundu işaretleme düşmez.\n<b>Geri alınamazlık:</b> GİB'e giden her işlem (iptal, KABUL/RED yanıtı) geri alınamaz — bu yüzden hepsi\r\n`Idempotency-Key` ister ve tekrar eden istek ikinci kez GÖNDERMEZ."
    },
    {
      "name": "Me",
      "description": "`GET /v1/me` — anahtarın bağlamı (işletme, şirket, scope'lar, ortam) ve `GET /v1/capabilities` — bu şirkette\r\n            nelerin açık olduğu (e-belge bağlantısı, kontör, baz para birimi, modüller). Entegratörün ilk çağıracağı iki uç."
    },
    {
      "name": "OpeningAndVariantsWrite",
      "description": "Devreye alma ve varyant yazma uçları:\r\n`POST /v1/products/{id}/variants`, `PATCH /v1/product-variants/{id}`,\r\n`POST /v1/contacts/{id}/actions/set-opening-balance` + `reverse-opening-balance`,\r\n`POST /v1/products/{id}/actions/set-opening-stock` + `reverse-opening-stock`.\r\n\n<b>Neden ters kayıt uçları var:</b> açılış kayıt başına tektir ve defterler append-only'dir. Ters kayıt\r\nolmadan entegratör kendi hatasını düzeltemez; cari/stok sonsuza dek yanlış kalırdı. Ters kayıttan sonra\r\nyeni açılış girilebilir."
    },
    {
      "name": "Orders",
      "description": "`/v1/orders` — sipariş okuma ve yazma. E-ticaret zincirinin ilk halkası:\r\n            <b>sipariş → irsaliye (sevk) → fatura</b>. Satır bağları sunucuda korunur, böylece kalan sevk/fatura miktarı\r\n            tek kaynaktan türetilir ve aynı mal iki kez faturalanamaz.\r\n            \n<b>Tek çekirdek:</b> kurallar BusinessOS.Application.Sales.IOrderCommands içindedir; iç panel (`/api/orders`) da\r\n            aynı servisi çağırır.\n<b>Sipariş para mutasyonu DEĞİLDİR</b> — defterlere hiçbir şey yazmaz. Stok çıkışı sevkte, cari borç\r\n            fatura onayında doğar. Bu yüzden sipariş yazma `sales:write` ile yapılır, `sales:approve` istemez.\nFaturaya dönüştürmek için `POST /v1/sales-invoices` gövdesinde `orderId` (ve satırlarda\r\n            `orderLineId`) gönderin; kalan miktar aşılırsa sunucu 422 döner."
    },
    {
      "name": "PaymentsWrite",
      "description": "`/v1/payments` yazma uçları — tahsilat / ödeme ve fatura kapaması.\r\n            \n<b>Tek çekirdek:</b> kurallar BusinessOS.Application.Cash.IPaymentCommands içindedir; iç panel (`/api/payments`,\r\n            `/api/payment-allocations`) da AYNI servisi çağırır.\n<b>Korunan bağıntılar</b> — entegratör panelde olanın aynısını alır: kasa/banka ledger + cari ledger çifti,\r\n            otomatik tahsilat/tediye makbuzu (tenant ayarı açıksa yanıtta `voucher` döner), fatura kapaması\r\n            (tek / çok-fatura / çapraz kur + realized FX önizlemesi), personel avans mahsubu, FIFO saat damgası.\n<b>Sunucu otoritesi:</b> kasa hareketi DAİMA kasa hesabının para birimindedir; farklı para birimli fatura\r\n            `settlement*` alanlarıyla çapraz kurdan kapatılır ve kasaya giren tutar sunucuda doğrulanır (uyuşmazsa 422)."
    },
    {
      "name": "Products",
      "description": "`/v1/products` — ürün/hizmet kartları, varyantları ve stok seviyeleri (salt-okunur Faz 1).\r\n            ★ Kumpara farkı: varyant ekseni/değeri owner referans kataloğundan gelir; birim kodu hem katalog kodu hem\r\n            UBL karşılığıyla (`unit.ublCode`) döner — e-belge tarafıyla aynı dönüştürücü (BusinessOS.Application.EDocuments.UblUnitCodes).\r\n            \nStok seviyesi ürün kartında TUTULMAZ; append-only `StockMovement` toplamından hesaplanır (iç panelle aynı kaynak)."
    },
    {
      "name": "ProductsWrite",
      "description": "`/v1/products` yazma uçları (Faz 2): oluştur, güncelle, barkod/kod ile upsert. Kart verisidir — <b>stok hareketi\r\n            üretmez</b> (stok yalnız belge akışıyla değişir: irsaliye/fatura/sayım/transfer).\r\n            \nBirim kodu owner kataloğundan doğrulanır ve e-belge karşılığı (BusinessOS.Application.EDocuments.UblUnitCodes) yanıtta döner;\r\n            bilinmeyen birim reddedilir ki e-belgede sessizce \"adet\"e düşmesin."
    },
    {
      "name": "PurchaseInvoices",
      "description": "`/v1/purchase-invoices` — alış faturaları (salt-okunur). Satış tarafıyla simetrik; toplamlar ve vergiler\r\n            sunucuda hesaplanmış snapshot'tır.\r\n            \n<b>Neden gerekliydi:</b>`GET /v1/changes` akışı `purchase_invoice` tipini yayıyordu ama o kimliği\r\n            okuyacak uç yoktu — entegratör \"değişti\" bilgisini alıp belgeyi göremiyordu (kırık sözleşme).\n★ Kumpara farkı: <b>sorumlu sıfatıyla tevkifat</b> (`withheldVat`) ve ödenecek tutar ayrı; gelen e-Faturadan\r\n            dönüştürülen faturada `sourceIncomingEDocumentId` izi; banka mutabakatından üretilen giderde `createdFromBankLineId`.\n<b>Cari ledger tabanı notu:</b> alışta cari borcu bugün `grandTotal` üzerinden yazılır (satışta\r\n            `payableTotal`). Kapama kapasitesi de aynı tabanı kullanır; `payment.basis` alanı bunu açıkça söyler."
    },
    {
      "name": "SalesInvoices",
      "description": "`/v1/sales-invoices` — satış faturaları (salt-okunur Faz 1). Toplamlar ve vergiler SUNUCUDA hesaplanır; burada\r\n            yalnız snapshot okunur.\r\n            \n★ Kumpara farkı (Paraşüt/Logo'da karşılığı yok ya da eksik): <b>satır bazlı tevkifat</b> (kod + oran + tevkif edilen KDV),\r\n            <b>satır bazlı KDV istisna kodu</b>, <b>çok para birimi + kur snapshot'ı</b> (her satırda orijinal + baz tutar),\r\n            <b>ihracat alanları</b> (Incoterm, taşıma modu, menşe/varış, GÇB), <b>ödenecek tutar</b> (`payableTotal` = brüt − tevkifat;\r\n            cari ledger bu tabanı kullanır) ve <b>belge zinciri</b> (teklif/sipariş/irsaliye/proforma kaynakları)."
    },
    {
      "name": "SalesInvoicesWrite",
      "description": "`/v1/sales-invoices` yazma uçları (Faz 2) — fatura oluşturma ve onaylama.\r\n            \n<b>Tek çekirdek:</b> iş kuralları BusinessOS.Application.Sales.ISalesInvoiceCommands içindedir; iç panel (`/api/sales/invoices`)\r\n            da AYNI servisi çağırır. Bu controller yalnız (a) scope kontrolü, (b) gövde → komut dönüşümü, (c) RFC 9457 hata biçimi yapar.\n<b>İki yol:</b>`approve: true` ile fatura tek çağrıda oluşturulup onaylanır (numara + cari ledger + stok çıkışı);\r\n            `approve: false` (varsayılan) taslak bırakır ve `POST /v1/sales-invoices/{id}/actions/approve` ile sonra onaylanır.\r\n            Onay `sales:approve` yetkisi ister — `sales:write` tek başına taslak açabilir, para mutasyonu yapamaz.\n<b>Idempotency:</b> her iki uçta `Idempotency-Key` ZORUNLU. Oluşturmada anahtar taslağın yazıldığı transaction'da\r\n            saklanır (aynı anahtar → 409 `idempotency_replayed`, çift fatura yok); onayda anahtar para transaction'ının kendi\r\n            idempotency kaydıdır (tekrar → aynı yanıt, `replayed: true`).\n<b>Tutarlar sunucuda:</b> gövdede toplam/KDV/tevkifat tutarı GÖNDERİLMEZ; yalnız miktar/fiyat/oran/kod gelir.\r\n            Tevkifat oranı, GTİP, kur ve numara sunucu kataloğundan üretilir."
    },
    {
      "name": "StockLevels",
      "description": "`/v1/stock-levels` — toplu stok seviyesi okuma ve <b>mutlak miktar yazma</b>.\r\n            \n<b>Neden toplu uç:</b> e-ticaret entegratörünün asıl işi binlerce SKU'yu eşitlemektir; ürün başına\r\n            `/v1/products/{id}/stock` çağırmak 5.000 SKU için 5.000 istek demektir.\n<b>Mutlak yazma bir SAYIMDIR:</b> stok defteri append-only olduğu için miktar üzerine yazılmaz —\r\n            sunucu farkı hesaplar ve tek satırlık sayım + `Adjustment` hareketi üretir. Yanıt önceki miktarı, yazılan\r\n            miktarı ve farkı döner; böylece dış senkronun ne değiştirdiği denetlenebilir kalır."
    }
  ]
}