Use a transaction request to send funds to a recipient.

Before you begin

Make sure you have:

  • A funded Vitesse account
  • Recipient details
  • The destination country and currency
  • A supported payment route

The required payment fields depend on the destination country, currency, and route type.

For more information, see Rules.

To retrieve the applicable rules through the API, see Rules API.

Create a transaction request

Create a transaction request.

POST /api/transactionrequests

For full request and response details, see Create transaction request.

Example request

This request sends €100 from a EUR account to a recipient in the UK.

POST https://staging-api.vitessepsp.com/api/transactionrequests

Request body:

{
  "SendValue": 100.00,
  "SendCurrency": "EUR",
  "Recipient": {
    "Name": "Victoria Lau",
    "RecipientReference": "Claim-51837",
    "Country": "GB",
    "Currency": "GBP",
    "Account": {
      "SortCode": "112233",
      "AccountNumber": "22233445"
    }
  }
}

Specify the transaction route

The RouteType determines how the transaction is delivered.

If not specified, the API defaults to BankAccount.

Supported routes include:

RouteTypeDescription
BankAccountStandard bank transfer
ChequeElectronic cheque delivered via secure link
PostalChequePhysical cheque printed and mailed

Each route type has specific required fields.

Provide recipient details

You can provide recipient details directly in the request, or reference a stored recipient.

For more information, see Manage recipients.

Control the transaction amount

You can specify either SendValue or ReceiveValue.

  • Specify SendValue to control the amount debited from your account, for example:
    {
      "SendValue": 100.00,
      "SendCurrency": "EUR"
    }
  • Specify ReceiveValue to control the amount delivered to the recipient, for example:
    {
      "ReceiveValue": 100.00,
      "SendCurrency": "EUR"
    }

For cross-currency transactions, Vitesse calculates the corresponding send or receive amount using the applicable FX rate.

Transaction response

If the request succeeds, the API returns a 201 Created response containing the transaction details.

Example response (truncated):

{
  "TransactionId": "747101ce-2d0c-41bd-ae4a-ba5a0c267c70",
  "TransactionCreatedUTC": "2026-05-13T10:15:00Z",
  "Status": "Pending",
  "SendCurrency": "EUR",
  "SendValue": 100.00,
  "Merchant": "Blue Plain Insurance",
  "Recipient": {
    "Country": "GB",
    "Currency": "GBP",
    "Name": "Victoria Lau",
    "RecipientReference": "Claim-51837"
  },
  "Route": {
    "DestinationCurrency": {
      "Currency": "GBP",
      "Value": 85.18
    },
    "ExchangeRate": 0.8518381869,
    "SourceCurrency": {
      "Currency": "EUR",
      "Value": 100.00
    }
  },
  "Events": [
    {
      "EventType": "TransactionCreated",
      "TimestampUTC": "2026-05-13T10:15:00Z"
    }
  ]
}

Understanding the response

The response includes:

  • TransactionId – unique transaction identifier
  • Status – current transaction status
  • Recipient – recipient details supplied in the request
  • Route – payment and FX information
  • Events – recorded processing events

Monitor a transaction

When a transaction is created, the API returns a TransactionId.

Use this identifier to retrieve the latest transaction details and status.

GET /api/transactionrequests/{id}

For more information, see Retrieve a transaction.

You can also subscribe to webhooks to receive status updates automatically.

For more information, see Webhooks.

Next steps

After creating a transaction, you can:

  • Retrieve a transaction
  • Search transactions
  • Review transaction events
  • Configure webhooks

Troubleshooting

For common errors and debugging guidance, see:


Did this page help you?