Skip to content

Simulate incoming Swift payment

Request

Simulates an incoming Swift transfer into a profile's account details. This will create a payment into the user's account details and balance for the specified amount and currency. Using sandbox, you can test the initial tech build for webhook subscriptions, balance statements, and sweeping funds.

If the request is successful the transfer is logged in our back office, which triggers a swift-in#credit event and results in a balance update.

While most fields are optional, default values will be provided as needed.

Security
UserToken
Path
profileIdinteger, (int64)required

The profile ID.

Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Example:f47ac10b-58cc-4372-a567-0e02b2c3d479
Bodyapplication/jsonrequired
currencyCodestring^[A-Z]{3}$required

Currency received by Wise. 3-letter ISO currency code.

Example:"EUR"
amountnumber, > 0required

Amount received by Wise.

Example:100
instructedCurrencyCodestring^[A-Z]{3}$

Currency sent by the sender. 3-letter ISO currency code. If not provided, it is assumed to be the same as currencyCode.

Example:"EUR"
instructedAmountnumber, > 0

Amount sent by the sender. If not provided, it is assumed to be the same as amount plus same currency fees. Any outstanding fees in other currencies are ignored.

Required if instructedCurrencyCode is provided.

Example:101
beneficiaryNamestring, [ 1 .. 140 ] characters

Name of the ultimate beneficiary.

Example:"John Doe"
beneficiaryAccountstring

Account number of the ultimate beneficiary. It can be either a local account number or an IBAN. If the provided IBAN resolves to a BIC that does not match any connected test BICs, simulation is not allowed and an error is returned.

Example:"8599680548"
beneficiaryAddressobject

Address of the ultimate beneficiary.

senderNamestring, [ 1 .. 140 ] characters

Name of the sender.

Example:"Jane Doe"
senderBicstring^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$

BIC of the sender's bank. Cannot be provided together with senderBank.

senderBankBIC (object) or LEI (object) or Clearing system (object) or Name and address (object)
Any of:

Details of the sender's bank. Cannot be provided together with senderBic.

senderAccountstring

Account number of the sender. It can be either an IBAN or local account number.

Example:"DE89370400440532013000"
senderAddressobject

Address of the sender.

paymentReferencestring, <= 35 characters

Custom payment reference.

Example:"Test123"
chargesArray of objects

List of fees declared by correspondents (e.g., handling fee).

previousInstructingAgentsArray of strings, <= 3 items

List of previous instructing agents. Maximum 3 items.

curl -i -X POST \
  'https://api.wise.com/v1/simulation/profiles/{profileId}/swift-in' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
  -d '{
    "currencyCode": "EUR",
    "amount": 100
  }'

Responses

Swift payment simulated successfully.

Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Echoed back when X-External-Correlation-Id was included in the request. Learn more.

Example:"f47ac10b-58cc-4372-a567-0e02b2c3d479"
x-trace-idstring

Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.

Example:"fba501b6d453b96789f52338f019341f"
Bodyapplication/json
Response
{ "id": 123, "messageReference": null, "mur": null, "uetr": "f87c3c37-d97b-4da6-a788-94004414e648", "messageType": "pacs.008.001.08", "sender": null, "receiver": null, "state": "RECEIVED", "direction": "INCOMING", "jsonMessage": null, "finMessage": null, "processTime": "2026-02-27T09:24:38.484276Z", "amount": 100, "currency": "EUR", "valueDate": null, "payoutInstructionId": null, "transferId": null, "actor": "SYSTEM", "actorId": null, "actorOktaId": null, "source": "SWIFT_CLOUD", "attributes": null, "ackMessage": false }