> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.noyax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cari bakiye

> Şirket genelinde, cari başına döviz bazlı bakiye raporu.

Salt okunur rapordur: bu sayfadaki hiçbir şey API üzerinden oluşturulamaz, güncellenemez ya da silinemez.

* `AsOfDate` (opsiyonel, tarih + saat, ISO 8601 — ör. `2026-09-25T14:30:00`) yalnızca bu tarih-saatten **kesinlikle önceki** hareketleri sayar; gönderilmezse geçerli tarih ve saat kullanılır. Örneğin `2026-09-25T00:00:00` gönderirseniz 25'in kendisi (00:00'dan itibaren) ve sonrası hariç tutulur, yalnızca 24'e kadarki hareketler dahil olur; `2026-09-25T14:30:00` gönderirseniz 25 Eylül saat 14:30'a kadarki (o an hariç) hareketler dahil olur — saat kısmını değiştirerek aynı günün istediğiniz noktasındaki bakiyeyi alabilirsiniz.
* `StartDate` **yoktur**: bu, [Cari işlemleri](/tr/v1/finance/customers/transactions) raporundan farklıdır — orada tarih aralığı vardır, burada yalnızca tek bir kesme noktası vardır ve bütün geçmiş hareketler bu noktaya kadar toplanır.
* Yanıt cari başına gruplanır: her cari için `CustomerCode`/`CustomerName` ve `Balances` (döviz başına `Debit`/`Credit`/`Balance`) listesi döner. Bir cari birden fazla dövizde hareket gördüyse `Balances` birden fazla girdi içerir.
* Yalnızca `AsOfDate`'ten önce **en az bir hareketi olan** cariler listede yer alır; hiç hareketi olmayan cariler dönmez.
* `ExcludeZeroBalance` (opsiyonel, varsayılan `false`) `true` ise bakiyesi tam olarak `0` olan döviz satırları `Balances`'tan çıkarılır; bir carinin **her** dövizi `0`'a netleşiyorsa o cari listeden tamamen çıkar (boş `Balances` ile dönmez). Bu filtre sayfalamadan **önce** uygulanır, yani `TotalCount` ve sayfa içeriği de bu filtreye göre hesaplanır.
* `MinAbsoluteBalance` (opsiyonel, sayı) gönderilirse, mutlak değeri bu eşiğe **eşit ya da küçük** olan döviz satırları `Balances`'tan çıkarılır (ör. `100` gönderirseniz `-100` ile `100` arası, uçlar dahil, tamamen elenir — yalnızca mutlak değeri kesin `100`'den büyük olanlar kalır). Küçük kalıntı bakiyeleri (ör. kuruş farkları) ayıklamak için kullanılır; `ExcludeZeroBalance` ile birlikte de kullanılabilir. Bu filtre de sayfalamadan **önce** uygulanır.
* Sayfalama `page`/`pageSize` (en fazla 50) **cari sayısı** üzerinden yapılır; bir carinin tüm dövizleri her zaman aynı sayfadadır. Arama parametresi yoktur.
* `Balance` = `Debit - Credit`; pozitif değer carinin borçlu olduğunu gösterir.

## Hata kodları

Bu endpoint'e özel bir hata kodu yoktur. Her endpoint için geçerli olan [genel hatalar](/tr/v1/guides/result-codes) (kimlik doğrulama, yetki, istek header'ları, günlük limit) yine geçerlidir.


## OpenAPI

````yaml api-reference/openapi.tr.json GET /api/v1/finance/customers/balances
openapi: 3.1.1
info:
  title: Noyax API
  description: Server-to-server API for integrations to access Noyax data.
  version: '1.0'
servers:
  - url: https://dev.noyax.com/services/noyax_api
security:
  - Bearer: []
tags:
  - name: Sections
  - name: Warehouses
  - name: Quotes
  - name: Product Critical Stock
  - name: Product groups
  - name: Product Parameter Definitions
  - name: Product Parameters
  - name: Product Prices
  - name: Products
  - name: Orders
  - name: Bank Accounts
  - name: Bank Internal Transfers
  - name: Bank Openings
  - name: Banks
  - name: Bank Transfers
  - name: Credit Card Collections
  - name: Customer Balances
  - name: Customer Transactions
  - name: Repayment Plans
  - name: Despatches
  - name: Cities
  - name: Countries
  - name: Currencies
  - name: Districts
  - name: Line Groups
  - name: Shipment Definitions
  - name: Units
  - name: VAT rates
  - name: Customer Addresses
  - name: Customer Bank Accounts
  - name: Customer Definitions
  - name: Customer Group Members
  - name: Customer Links
  - name: Customer Parameters
  - name: Customer Representatives
  - name: Customers
  - name: Customer Telephones
paths:
  /api/v1/finance/customers/balances:
    get:
      tags:
        - Customer Balances
      summary: Cari bakiyelerini listele
      description: >-
        AsOfDate'ten önce en az bir hareketi olan her cariyi, döviz başına
        bakiyesiyle (Borç toplamı eksi Alacak toplamı) döner. Salt okunur
        rapordur; burada hiçbir şey API üzerinden oluşturulamaz, güncellenemez
        ya da silinemez.
      parameters:
        - name: page
          in: query
          description: Sayfa numarası, 1'den başlar. Varsayılan 1.
          schema:
            type: integer
            format: int32
            default: 1
        - name: pageSize
          in: query
          description: Sayfa başına kayıt, en fazla 50. Varsayılan 50.
          schema:
            type: integer
            format: int32
            default: 50
        - name: asOfDate
          in: query
          description: >-
            Yalnızca bu tarih ve saatten kesinlikle önceki hareketler dahil
            edilir (ör. 25'i gönderirseniz 25'in kendisi ve sonrası hariç
            tutulur). ISO 8601 formatında, örneğin 2026-09-25T14:30:00.
            Gönderilmezse geçerli tarih ve saat kullanılır.
          schema:
            type: string
            format: date-time
        - name: excludeZeroBalance
          in: query
          description: >-
            true ise bakiyesi tam olarak 0 olan dövizler Balances'ta yer almaz;
            her dövizi 0'a netleşen bir cari de listeden tamamen çıkar.
            Varsayılan false.
          schema:
            type: boolean
            default: false
        - name: minAbsoluteBalance
          in: query
          description: >-
            Gönderilirse, bakiyesinin mutlak değeri buna eşit ya da küçük olan
            dövizler Balances'ta yer almaz (ör. 100 gönderilirse -100 ile 100
            arası, uçlar dahil, tamamen elenir); tüm dövizleri bu şekilde elenen
            bir cari de listeden tamamen çıkar. excludeZeroBalance ile birlikte
            kullanılabilir. Eşik istemiyorsanız göndermeyin.
          schema:
            type: number
            format: double
        - name: X-UserID
          in: header
          description: >-
            İsteğin adına yapıldığı Noyax kullanıcısının ID'si. Oluşturulan,
            güncellenen ve silinen kayıtların denetim alanlarına yazılır.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-CompanyID
          in: header
          description: >-
            Şirketin ID'si. Kullanıcı bu şirkete tanımlı olmalıdır. Bütün okuma
            ve yazma işlemleri bu şirketle sınırlıdır.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-PeriodID
          in: header
          description: >-
            Muhasebe döneminin ID'si. Cari endpoint'lerinde isteğe bağlıdır;
            gönderilirse oluşturulan kayıtlara yazılır.
          schema:
            minimum: 1
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DataResultOfPagedResultDtoOfCustomerBalanceDto
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0201'
                Message: X-UserID header is required.
                Errors:
                  - Code: '0201'
                    Message: X-UserID header is required.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0102'
                Message: Token has expired. Obtain a new token using the refresh token.
                Errors:
                  - Code: '0102'
                    Message: >-
                      Token has expired. Obtain a new token using the refresh
                      token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0110'
                Message: You do not have permission for this operation.
                Errors:
                  - Code: '0110'
                    Message: You do not have permission for this operation.
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0120'
                Message: Daily request limit (10000) exceeded.
                Errors:
                  - Code: '0120'
                    Message: Daily request limit (10000) exceeded.
components:
  schemas:
    DataResultOfPagedResultDtoOfCustomerBalanceDto:
      required:
        - Success
        - ResultCode
        - Data
      type: object
      properties:
        Success:
          type: boolean
          description: İşlemin başarılı olup olmadığı.
          example: true
        ResultCode:
          type: string
          description: >-
            Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors
            içinde listelenir.
          example: '0000'
        Message:
          type:
            - 'null'
            - string
          description: >-
            Success false olduğunda hata mesajı. Bütün hataların mesajları tek
            metinde birleştirilir.
        Data:
          $ref: '#/components/schemas/PagedResultDtoOfCustomerBalanceDto'
    ErrorResult:
      type: object
      properties:
        Success:
          type: boolean
          description: İşlemin başarılı olup olmadığı.
          example: false
        ResultCode:
          type:
            - 'null'
            - string
          description: >-
            Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors
            içinde listelenir.
        Message:
          type:
            - 'null'
            - string
          description: >-
            Success false olduğunda hata mesajı. Bütün hataların mesajları tek
            metinde birleştirilir.
        Errors:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ResultError'
          description: >-
            Kodlarıyla birlikte bütün hatalar. Yalnızca Success false olduğunda
            bulunur.
    PagedResultDtoOfCustomerBalanceDto:
      type: object
      properties:
        Page:
          type: integer
          description: Bulunduğunuz sayfa numarası.
          format: int32
          example: 1
        PageSize:
          type: integer
          description: Sayfa başına kayıt sayısı.
          format: int32
          example: 50
        TotalCount:
          type: integer
          description: Sorguya uyan toplam kayıt sayısı.
          format: int32
          example: 128
        Items:
          type: array
          items:
            $ref: '#/components/schemas/CustomerBalanceDto'
          description: Bu sayfadaki kayıtlar.
      description: Response data. Null when Success is false.
    ResultError:
      required:
        - Code
        - Message
      type: object
      properties:
        Code:
          type: string
          description: Hata kodu. Tam liste için sonuç kodları sayfasına bakın.
        Message:
          type: string
          description: Hata açıklaması.
    CustomerBalanceDto:
      type: object
      properties:
        CustomerId:
          type: string
          description: Cari ID'si.
          format: uuid
        CustomerCode:
          type:
            - 'null'
            - string
          description: Cari kodu.
        CustomerName:
          type:
            - 'null'
            - string
          description: Cari adı.
        Balances:
          type: array
          items:
            $ref: '#/components/schemas/CustomerBalanceAmountDto'
          description: Carinin AsOfDate'e kadar hareket gördüğü her döviz için bir kayıt.
    CustomerBalanceAmountDto:
      type: object
      properties:
        CurrencyId:
          type: string
          description: >-
            Bu bakiyenin dövizinin ID'si, GET /api/v1/definitions/currencies
            içinden.
          format: uuid
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Dövizin kısa kodu.
          example: TRY
        IsDefault:
          type: boolean
          description: Şirketin varsayılan dövizi olup olmadığı.
        Debit:
          type: number
          description: AsOfDate'e kadar bu dövizdeki Borç toplamı.
          format: double
        Credit:
          type: number
          description: AsOfDate'e kadar bu dövizdeki Alacak toplamı.
          format: double
        Balance:
          type: number
          description: Bu dövizde Borç eksi Alacak.
          format: double
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````