> ## 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.

# Partially update credit card collection

> Changes only the sent fields of the voucher.

Send **only the fields you want to change**; fields you do not send keep their current values. Rules and examples: [partial update](/en/v1/guides/partial-update).

* A field that is not sent stays unchanged, a field sent as `null` is cleared.
* Lists are not merged: when `Lines` is sent it replaces all lines (with the same line-identity rule as a full update), when it is not sent the lines stay as they are.
* Validation runs on the whole merged record; setting a required field to `null` is rejected.

## Error codes

Codes this endpoint can return. The [general errors](/en/v1/guides/result-codes) that apply to every endpoint (authentication, permissions, request headers, daily limit) are not repeated here.

| Code   | HTTP | Meaning                                                                                                                                                               |
| ------ | ---- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `0002` | 400  | Request body could not be read (malformed JSON, wrong field type)                                                                                                     |
| `0003` | 400  | A field exceeds its maximum length (the message names the field and the limit)                                                                                        |
| `0580` | 400  | A value given as text (a code or a name) matches more than one record; add the detail that tells them apart (for example `City` for a district, `Country` for a city) |
| `8700` | 404  | Credit card collection not found                                                                                                                                      |
| `8701` | 400  | `VoucherNumber` is required                                                                                                                                           |
| `8702` | 400  | `VoucherNumber` is already used in the company (among all bank voucher types)                                                                                         |
| `8703` | 400  | `VoucherNumber` cannot be "Next" on update                                                                                                                            |
| `8704` | 400  | `Date` is required                                                                                                                                                    |
| `8705` | 400  | `BankAccountCode` is required                                                                                                                                         |
| `8706` | 400  | `BankAccountCode` was not found                                                                                                                                       |
| `8707` | 400  | At least one line is required                                                                                                                                         |
| `8708` | 400  | The voucher has been posted to accounting and can no longer be updated or deleted                                                                                     |
| `8709` | 400  | The voucher has been settled by a bank repayment voucher and can no longer be updated or deleted                                                                      |
| `8710` | 400  | `SharingCode` is not one of the user's sharing codes                                                                                                                  |
| `8800` | 400  | Line `CustomerCode` is required                                                                                                                                       |
| `8801` | 400  | Customer not found for the line                                                                                                                                       |
| `8802` | 400  | Line `Amount` must be greater than 0                                                                                                                                  |
| `8803` | 400  | Line `ExchangeRate` (or `CustomerExchangeRate`) is required and must be greater than 0                                                                                |
| `8804` | 400  | Line `PosChargeDate` is required                                                                                                                                      |
| `8805` | 400  | Line `RepaymentPlanName` was not found                                                                                                                                |
| `8806` | 400  | Line `CustomerCurrencyCode` was not found                                                                                                                             |
| `8807` | 400  | Line `CustomerAmount x CustomerExchangeRate` does not equal `Amount x ExchangeRate`                                                                                   |
| `8808` | 400  | Line `CustomerAmount` and `CustomerCurrencyCode` must be sent together                                                                                                |
| `8809` | 400  | The line's customer record has been closed, operation cancelled                                                                                                       |
| `8810` | 400  | A payment plan has been created for the line's customer record, operation cancelled                                                                                   |


## OpenAPI

````yaml api-reference/openapi.json PATCH /api/v1/finance/credit-card-collections/{creditCardCollectionId}
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: 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 Statement
  - name: Customer Telephones
paths:
  /api/v1/finance/credit-card-collections/{creditCardCollectionId}:
    patch:
      tags:
        - Credit Card Collections
      summary: Partially update credit card collection
      description: >-
        Changes only the fields sent in the body (JSON Merge Patch). Fields that
        are not sent keep their current values; a field sent as null is cleared.
        Lists are not merged: when Lines is sent it replaces all lines (with the
        same line-identity rule as a full update), when it is not sent the lines
        stay as they are.
      parameters:
        - name: creditCardCollectionId
          in: path
          description: Credit card collection ID.
          required: true
          schema:
            type: string
            format: uuid
        - name: X-UserID
          in: header
          description: >-
            ID of the Noyax user the request is made on behalf of. Written to
            the audit fields of created, updated and deleted records.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-CompanyID
          in: header
          description: >-
            ID of the company. The user must be assigned to this company. All
            reads and writes are limited to this company.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-PeriodID
          in: header
          description: >-
            ID of the accounting period. Optional for customer endpoints; if
            sent, it is written to created records.
          schema:
            minimum: 1
            type: integer
            format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditCardCollectionRequestDto'
          text/json:
            schema:
              $ref: '#/components/schemas/CreditCardCollectionRequestDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreditCardCollectionRequestDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResultOfCreditCardCollectionDetailDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '8709'
                Message: >-
                  The voucher has already been settled by a bank repayment
                  voucher and can no longer be updated.
                Errors:
                  - Code: '8709'
                    Message: >-
                      The voucher has already been settled by a bank repayment
                      voucher and can no longer be updated.
        '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.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '8700'
                Message: Credit card collection not found.
                Errors:
                  - Code: '8700'
                    Message: Credit card collection not found.
        '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:
    CreditCardCollectionRequestDto:
      type: object
      properties:
        VoucherNumber:
          type:
            - 'null'
            - string
          description: >-
            Required. Voucher number, unique within the company among all bank
            vouchers. Send "Next" on create to generate it from the company's
            bank voucher number series. At most 20 characters.
          example: Next
        Date:
          type:
            - 'null'
            - string
          description: >-
            Required. Voucher date. If a time is sent it is stored as the
            voucher time, otherwise the current time is used.
          format: date-time
          example: '2026-09-24T16:02:00'
        BankAccountCode:
          type:
            - 'null'
            - string
          description: >-
            Required. Bank account name (Name from GET
            /api/v1/finance/bank-accounts). All lines are recorded against this
            account.
          example: TEST POS
        Description:
          type:
            - 'null'
            - string
          description: Description. At most 1000 characters.
        SharingCode:
          type:
            - 'null'
            - string
          description: >-
            Sharing code that limits who can see the voucher. Empty means
            visible to everyone; otherwise it must be one of the user's sharing
            codes.
        Lines:
          type: array
          items:
            $ref: '#/components/schemas/CreditCardCollectionLineRequestDto'
          description: Required, at least one line.
    DataResultOfCreditCardCollectionDetailDto:
      required:
        - Success
        - ResultCode
        - Data
      type: object
      properties:
        Success:
          type: boolean
          description: Whether the operation succeeded.
          example: true
        ResultCode:
          type: string
          description: >-
            "0000" on success. On failure, the code of the first error; all
            errors are listed in Errors.
          example: '0000'
        Message:
          type:
            - 'null'
            - string
          description: >-
            Error message when Success is false. Messages of all errors are
            joined into a single text.
        Data:
          $ref: '#/components/schemas/CreditCardCollectionDetailDto'
    ErrorResult:
      type: object
      properties:
        Success:
          type: boolean
          description: Whether the operation succeeded.
          example: false
        ResultCode:
          type:
            - 'null'
            - string
          description: >-
            "0000" on success. On failure, the code of the first error; all
            errors are listed in Errors.
        Message:
          type:
            - 'null'
            - string
          description: >-
            Error message when Success is false. Messages of all errors are
            joined into a single text.
        Errors:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ResultError'
          description: All errors with their codes. Only present when Success is false.
    CreditCardCollectionLineRequestDto:
      type: object
      properties:
        CustomerCode:
          type:
            - 'null'
            - string
          description: >-
            Required. Customer code (the customer's CustomerCode from GET
            /api/v1/customers).
          example: C-0001
        Amount:
          type: number
          description: >-
            Required. Amount, in the bank account's own currency. Must be
            greater than 0.
          format: double
          example: 800
        ExchangeRate:
          type:
            - 'null'
            - number
          description: >-
            Exchange rate of the bank account's currency against the company's
            default currency. Required, and must be greater than 0, only when
            the bank account's currency differs from the default currency;
            otherwise treated as 1.
          format: double
          example: 1
        PosChargeDate:
          type:
            - 'null'
            - string
          description: Required. Date the card was charged (POS çekim tarihi).
          format: date-time
          example: '2026-09-24T16:03:00'
        RepaymentPlanName:
          type:
            - 'null'
            - string
          description: >-
            Repayment plan name, from GET
            /api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans of the
            voucher's own bank account. Optional; when sent, the value date
            (Valor) is computed as the voucher Date plus the plan's DayCount.
        Description:
          type:
            - 'null'
            - string
          description: Description. At most 255 characters.
        CustomerAmount:
          type:
            - 'null'
            - number
          description: >-
            Overrides the amount recorded on the customer's own account (send
            together with CustomerCurrencyCode and CustomerExchangeRate, or
            leave all three empty to record the customer movement with the same
            amount, currency and rate as the bank movement). CustomerAmount
            multiplied by CustomerExchangeRate must equal Amount multiplied by
            ExchangeRate.
          format: double
        CustomerCurrencyCode:
          type:
            - 'null'
            - string
          description: >-
            Currency code for the customer movement override (from GET
            /api/v1/definitions/currencies). Send together with CustomerAmount
            and CustomerExchangeRate.
        CustomerExchangeRate:
          type:
            - 'null'
            - number
          description: >-
            Exchange rate for the customer movement override. Required, and must
            be greater than 0, when CustomerCurrencyCode differs from the
            company's default currency.
          format: double
    CreditCardCollectionDetailDto:
      type: object
      properties:
        Id:
          type: string
          description: Voucher ID.
          format: uuid
        VoucherNumber:
          type:
            - 'null'
            - string
          description: Voucher number.
        Date:
          type:
            - 'null'
            - string
          description: Voucher date.
          format: date-time
        BankAccountCode:
          type:
            - 'null'
            - string
          description: Bank account name.
        BankAccountId:
          type:
            - 'null'
            - string
          description: Bank account ID.
          format: uuid
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Currency code of the bank account (and of every line's Amount).
        CurrencyId:
          type:
            - 'null'
            - string
          description: Currency ID of the bank account.
          format: uuid
        ExchangeRate:
          type: number
          description: >-
            Weighted average exchange rate across the lines: sum(Amount x
            ExchangeRate) / sum(Amount).
          format: double
        Amount:
          type: number
          description: Total amount (sum of the lines' Amount).
          format: double
        Description:
          type:
            - 'null'
            - string
          description: Description.
        SharingCode:
          type:
            - 'null'
            - string
          description: Sharing code that limits who can see the voucher.
        SharingCodeId:
          type:
            - 'null'
            - string
          description: Sharing code ID.
          format: uuid
        IsPosted:
          type: boolean
          description: >-
            Whether the voucher has been posted to accounting. A posted voucher
            cannot be updated or deleted.
        IsRepaid:
          type: boolean
          description: >-
            Whether this collection has already been settled by a bank repayment
            voucher. A settled voucher cannot be updated or deleted.
        CreateDate:
          type:
            - 'null'
            - string
          format: date-time
        ModifyDate:
          type:
            - 'null'
            - string
          format: date-time
        Lines:
          type: array
          items:
            $ref: '#/components/schemas/CreditCardCollectionLineDto'
          description: Lines, in line order.
      description: Response data. Null when Success is false.
    ResultError:
      required:
        - Code
        - Message
      type: object
      properties:
        Code:
          type: string
          description: Error code. See the result codes page for the full list.
        Message:
          type: string
          description: Error description.
    CreditCardCollectionLineDto:
      type: object
      properties:
        CustomerName:
          type:
            - 'null'
            - string
          description: Customer name.
        Valor:
          type:
            - 'null'
            - string
          description: >-
            Value date (Valor): Date plus the repayment plan's DayCount. Null
            when no repayment plan was given.
          format: date-time
        CustomerId:
          type:
            - 'null'
            - string
          format: uuid
        RepaymentPlanId:
          type:
            - 'null'
            - string
          format: uuid
        CustomerCurrencyId:
          type:
            - 'null'
            - string
          format: uuid
        CustomerCode:
          type:
            - 'null'
            - string
          description: >-
            Required. Customer code (the customer's CustomerCode from GET
            /api/v1/customers).
          example: C-0001
        Amount:
          type: number
          description: >-
            Required. Amount, in the bank account's own currency. Must be
            greater than 0.
          format: double
          example: 800
        ExchangeRate:
          type:
            - 'null'
            - number
          description: >-
            Exchange rate of the bank account's currency against the company's
            default currency. Required, and must be greater than 0, only when
            the bank account's currency differs from the default currency;
            otherwise treated as 1.
          format: double
          example: 1
        PosChargeDate:
          type:
            - 'null'
            - string
          description: Required. Date the card was charged (POS çekim tarihi).
          format: date-time
          example: '2026-09-24T16:03:00'
        RepaymentPlanName:
          type:
            - 'null'
            - string
          description: >-
            Repayment plan name, from GET
            /api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans of the
            voucher's own bank account. Optional; when sent, the value date
            (Valor) is computed as the voucher Date plus the plan's DayCount.
        Description:
          type:
            - 'null'
            - string
          description: Description. At most 255 characters.
        CustomerAmount:
          type:
            - 'null'
            - number
          description: >-
            Overrides the amount recorded on the customer's own account (send
            together with CustomerCurrencyCode and CustomerExchangeRate, or
            leave all three empty to record the customer movement with the same
            amount, currency and rate as the bank movement). CustomerAmount
            multiplied by CustomerExchangeRate must equal Amount multiplied by
            ExchangeRate.
          format: double
        CustomerCurrencyCode:
          type:
            - 'null'
            - string
          description: >-
            Currency code for the customer movement override (from GET
            /api/v1/definitions/currencies). Send together with CustomerAmount
            and CustomerExchangeRate.
        CustomerExchangeRate:
          type:
            - 'null'
            - number
          description: >-
            Exchange rate for the customer movement override. Required, and must
            be greater than 0, when CustomerCurrencyCode differs from the
            company's default currency.
          format: double
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````