---
title: "Update transactions in batch"
method: PUT
path: "/v2/transactions/batch"
tags: ["Transactions"]
---

# Update transactions in batch

`PUT /v2/transactions/batch`

## Request body

- UpdateTransactionRequest[]
  - `amount` number, float, nullable — Transaction amount. Negative amounts are allowed for refunds, chargebacks, and credits. Zero amounts are allowed for auth-only, declined, and pre-authorization transactions. Required when creating new transactions, optional for updates.
  - `amount_usd` number, float — Amount in USD, if not provided will be calculated using the latest exchange rate using data from Open Exchange Rates (https://openexchangerates.org)
  - `currency` string, iso-4217 — ISO 4217 currency code. Required when creating new transactions, optional for updates.
  - `is_test` boolean — Set to true if this is a test transaction
  - `method` 'WIRE' | 'ACH' | 'SWIFT' | 'SEPA' | 'APPLE_PAY' | 'GOOGLE_PAY' | 'CHECK_DEPOSIT' | 'INTERNAL_TRANSFER' | 'RTP' | 'FEDNOW' | 'PROV_X_TRANSFER' | 'CARD' — Payment method used for the transaction. Required when creating new transactions, optional for updates. Each method may have different processing times, fees, and regulatory requirements.
  - `receiver_country` string, iso-3166-1 — ISO 3166-1 alpha-2 country code of the receiver. Required when receiver_id is provided.
  - `receiver_id` string, nullable — Identifier of the receiver (e.g., account number, customer ID). Required if sender_id is not provided.
  - `sender_country` string, iso-3166-1 — ISO 3166-1 alpha-2 country code of the sender. Required when sender_id is provided.
  - `sender_id` string, nullable — Identifier of the sender (e.g., account number, customer ID). This ID should match the identifier used in your customer data sent to Cable. Required if receiver_id is not provided.
  - `status` 'CREATED' | 'PENDING' | 'SETTLED' | 'FAILED' | 'REJECTED' | 'REFUNDED' — Transaction status. Required when creating new transactions, optional for updates.
  - `timestamp` string, date-time, required — When the transaction was processed in your system, in ISO 8601 format. For updates, use when the event occurred, not when you're reporting it.
  - `tx_id` string, required — Unique identifier for the transaction. This is the primary key for the transaction record and should be unique across all transactions. Updates to a transaction should be made using this identifier.
  - `type` 'DEPOSIT' | 'WITHDRAWAL' — Transaction type. Required when creating new transactions, optional for updates.

## Response `200`

Batch processing result

- WriteOperationResponse
  - `message` string, required — Provides additional information about the operation result.
  - `organization_id` string, required — The organization ID for which the operation was performed.
  - `success` boolean, required — Indicates if the write operation was successful.
  - `write_count` integer, required — The number of records written to the database.

## Other responses

- `400` — Invalid transaction data in batch
- `401` — Unauthorized request
- `404` — Transaction not found in batch
- `429` — Rate limit exceeded
- `500` — Server error
- `default` — General error

---

[API](https://skmtc.dev/cable/apis/cable-api.md) · [All operations](https://skmtc.dev/cable/apis/cable-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cable/cable-api/revisions/3222cd28dba5/schema)
