# Batch update card transactions

> Updates multiple card transactions in a single operation

`PATCH https://api.light.inc/v1/card-transactions/batch-update`

## Note

Asynchronous. The call authorises every id up front (one id you may not update makes the whole request 403 ), queues the work and returns an empty body immediately; nothing in the response tells you whether any update succeeded. Items are processed independently: one failing item does not stop the others, and a failure that is a validation error is written to that transaction's failureContext , where a later GET shows it. Poll updatedAt or failureContext on the transactions to confirm. There is no cap on the list length. This is the only endpoint that accepts postingDate , and it is write-only from the card side: no card-transaction response returns it. Read it back on the ledger line ( GET /v1/ledger-transaction-lines , postingDate ) once the transaction is posted. Line updates here take description , accountId , taxCodeId and customProperties only; edits to a posted transaction fail into failureContext rather than being rejected up front.

## Authorization

- API key
- Bearer token

See https://light.inc/docs/getting-started/authentication.

## Request body

`application/json;charset=UTF-8`

- `customProperties.valueIds` — Catalogue value ids for this group. Required; send `[]` (with an empty `inlineValues`) to clear the group. `SINGLE_SELECT` and `MULTI_SELECT` groups accept nothing else. See [Custom properties on writes](/docs/getting-started/pagination-filtering-errors#custom-properties-on-writes).
- `customProperties.inlineValues` — Literal values for `TEXT`, `NUMERIC`, `BOOLEAN` and `DATE` groups, as strings (`yyyy-MM-dd` for dates). Rejected on select groups with `CUSTOM_PROPERTY_VALUE_TYPE_MISMATCH`. See [Custom properties on writes](/docs/getting-started/pagination-filtering-errors#custom-properties-on-writes).
- `lines.customProperties.valueIds` — Catalogue value ids for this group. Required; send `[]` (with an empty `inlineValues`) to clear the group. `SINGLE_SELECT` and `MULTI_SELECT` groups accept nothing else. See [Custom properties on writes](/docs/getting-started/pagination-filtering-errors#custom-properties-on-writes).
- `lines.customProperties.inlineValues` — Literal values for `TEXT`, `NUMERIC`, `BOOLEAN` and `DATE` groups, as strings (`yyyy-MM-dd` for dates). Rejected on select groups with `CUSTOM_PROPERTY_VALUE_TYPE_MISMATCH`. See [Custom properties on writes](/docs/getting-started/pagination-filtering-errors#custom-properties-on-writes).
- `postingDate` — Writable here and nowhere else on the card side, and returned by no card-transaction response. Read it back on the ledger line (`GET /v1/ledger-transaction-lines`, `postingDate`) once the transaction is posted.

```json
[
  {
    "cardTransactionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "customProperties": [
      {
        "groupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "valueIds": [
          "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        ],
        "inlineValues": [
          "string"
        ]
      }
    ],
    "lines": [
      {
        "lineId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "customProperties": [
          {
            "groupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "valueIds": [],
            "inlineValues": []
          }
        ],
        "description": "string",
        "accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "taxCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
      }
    ],
    "postingDate": "2026-01-15",
    "description": "string"
  }
]
```

Values above are generated from the schema: the shapes and types are real, the values are placeholders, and fields that exclude each other are all shown. Do not send it unchanged.

## Response

This endpoint returns no content.

## Code

```bash
curl -X PATCH "https://api.light.inc/v1/card-transactions/batch-update" \
  -H "Authorization: Basic YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
  {
    "cardTransactionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "customProperties": [
      {
        "groupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "valueIds": [
          "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        ],
        "inlineValues": [
          "string"
        ]
      }
    ],
    "lines": [
      {
        "lineId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "customProperties": [
          {
            "groupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "valueIds": [],
            "inlineValues": []
          }
        ],
        "description": "string",
        "accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "taxCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
      }
    ],
    "postingDate": "2026-01-15",
    "description": "string"
  }
]'
```

---

Full page: https://light.inc/docs/api-reference/v1--card-transactions/batch-update-card-transactions · Index: https://light.inc/docs/llms.txt
