Accounts APITransactions

Create a transaction

POST
/accounts/{accountId}/transactions

Authorization

BearerAuth
headerAuthorizationBearer <JWT>

Path Parameters

accountId*string

Unique identifier of the account.

Formatuuid

Header Parameters

Idempotency-Key*string

It helps preventing duplicates in your POST requests. It is recommend using a UUID for the key, however you may use any other unique identifier you choose.

Lengthlength <= 160
X-Volt-Api-Version*1

Version of the API used. Currently, version 1 is the only version.

Value in1
X-JWS-Signature*string

Detached JWS signature for request integrity and authenticity.

X-Volt-Testing-Scenario?string

[SANDBOX ONLY] used to trigger specific transaction failure or verification mocks.

Value in"PAYOUT_REJECTED""ACCOUNT_HOLDER_VERIFICATION_CLOSE_MATCH""ACCOUNT_HOLDER_VERIFICATION_NO_MATCH""ACCOUNT_HOLDER_VERIFICATION_ERROR""ONBOARDING_REJECTED""ONBOARDING_ADDITIONAL_INFO_REQUIRED""ONBOARDING_ADDITIONAL_INFO_REQUIRED_NAME_MISMATCH""ONBOARDING_EXPIRED""ORDER_NAMED_ACCOUNTS_FAILED"

Request Body

application/json
  1. body
type*string
amount*amount

The total value of the transaction represented in minor units (e.g. 100 for 1.00 EUR). Must be a positive integer.

Formatint64
Range1 <= value
currency*CurrencyCode

Three-letter ISO 4217 currency code.

Match^[A-Z]{3}$
paymentReference*PaymentReference

The reconciliation reference that appears on the bank statement. This is crucial for matching the transaction with external banking records. Maximum length: 35 (EU) or 18 (UK).

Match^(?=.*\S)[a-zA-Z0-9\/\-?:().,'+ ]*$
Length1 <= length <= 35
internalReference?|

Unique identifier of the transaction in the partner's system. Useful for automated reconciliation and logging.

Match^[a-zA-Z0-9!@#$%^&*()_+={\[\]};:?|\-]*$
Lengthlength <= 100
beneficiary*
communication?

Response Body

Transaction created successfully.

application/json
  1. response

Response containing the identifier of the created transaction.

id?string

Unique ID of the transaction.

Formatuuid
curl -X POST 'https://accounts.sandbox.volt.io/accounts/497f6eca-6276-4993-bfeb-53cbbbba6f08/transactions' \  -H 'Idempotency-Key: 85136c79cbf9fe36bb9d05d0639c70c265c18d37' \  -H 'X-Volt-Api-Version: 1' \  -H 'X-JWS-Signature: eyJhbGciOXXXXX' \  -H 'Content-Type: application/json' \  -d '{  "type": "PAYOUT",  "amount": 1000,  "currency": "EUR",  "paymentReference": "Reconciliation-1",  "internalReference": "INT-99",  "beneficiary": {    "name": "John Doe",    "email": "email@email.com",    "accountIdentifiers": {      "iban": "DE07500105176551562526",      "swiftBic": "123456"    },    "address": {      "addressLine1": "123, Main Street",      "addressLine2": "",      "city": "Berlin",      "postalCode": "12332",      "country": "DE"    }  },  "communication": {    "notifications": {      "url": "https://mywebsite.com/webhooks"    }  }}'
Example Response
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"}