Manage account movements
Account movements are used to transfer money from one account to another.
For more information, such as to understand the workflow and statuses, see Account movements.
If the endpoint returns AccountMovementDisabled or 404, contact Support.
Create an account movement
Create an account movement request.
POST /api/accountmovements
For full request and response details, see Create account movement.
Example request
POST https://staging-api.vitessepsp.com/api/accountmovementsRequest body:
{
"DebitAccountId": 4152,
"CreditAccountId": 4111,
"DebitAmount": 5000.00,
"PaymentReference": "PMT-20260603-001",
"MerchantReference": "CLM-5838386",
"Narrative": "Move funds to carrier funding account"
}You can specify either DebitAmount or CreditAmount.
Specify DebitAmount to control the amount debited from the debit account. Specify CreditAmount to control the amount credited to the credit account.
If the accounts use different currencies, Vitesse calculates the corresponding debit or credit amount using the applicable FX rate.
Example response
{
"AccountMovementId": 98321,
"Created": {
"By": "System",
"On": "2026-06-03T10:15:00Z"
},
"CreditAccount": {
"AccountId": 4111,
"Currency": "GBP",
"Name": "Insurova - Carrier Funding"
},
"CreditAmount": 3925.00,
"DebitAccount": {
"AccountId": 4152,
"Currency": "USD",
"Name": "Blue Plain - Canada Property 1"
},
"DebitAmount": 5000.00,
"ExpiresOn": "2026-06-03T10:30:00Z",
"Fee": 0.00,
"IsDebitAmount": true,
"MerchantReference": "CLM-5838386",
"Narrative": "Move funds to carrier funding account",
"PaymentReference": "PMT-20260603-001",
"Rate": 0.785,
"RequestFromAPI": true,
"Status": "Pending"
}The response includes the AccountMovementId, account details, debit and credit amounts, FX rate, fees, expiry time, and current status.
Account movement requests expire if they are not approved before ExpiresOn. The default expiry time is 15 minutes. You cannot update an expired account movement.
For Transaction API integrations, you must validate the account movement before creating it. Created account movements remain
Pendinguntil approved.
Validate an account movement
Validate the account movement request before approving it.
POST /api/accountmovements/validate
For full request and response details, see Validate account movement.
Example request
POST https://staging-api.vitessepsp.com/api/accountmovements/validateRequest body:
{
"DebitAccountId": 4152,
"CreditAccountId": 4111,
"DebitAmount": 5000.00,
"PaymentReference": "PMT-20260603-001",
"MerchantReference": "CLM-5838386",
"Narrative": "Move funds to carrier funding account"
}Approve or cancel an account movement
Approve or cancel an account movement.
You can only approve or cancel account movements with a
Pendingstatus.
PUT /api/accountmovements/{accountMovementId}
For full request and response details, see Approve or cancel account movement.
Example request
PUT https://staging-api.vitessepsp.com/api/accountmovements/98321Request body to approve an account movement:
{
"Status": "Approved"
}Request body to cancel an account movement:
{
"Status": "Cancelled"
}List account movements
Retrieve account movements for your organisation.
GET /api/accountmovements
For full request and response details, see List account movements.
Example request
GET https://staging-api.vitessepsp.com/api/accountmovements?count=25Example response
{
"AccountMovements": [
{
"AccountMovementId": 98321,
"Created": {
"By": "System",
"On": "2026-06-03T10:15:00Z"
},
"CreditAccount": {
"AccountId": 4111,
"Currency": "GBP",
"Name": "Insurova - Carrier Funding"
},
"CreditAmount": 3925.00,
"DebitAccount": {
"AccountId": 4152,
"Currency": "USD",
"Name": "Blue Plain - Canada Property 1"
},
"DebitAmount": 5000.00,
"ExpiresOn": "2026-06-03T10:30:00Z",
"Fee": 0.00,
"IsDebitAmount": true,
"MerchantReference": "CLM-5838386",
"Narrative": "Move funds to carrier funding account",
"PaymentReference": "PMT-20260603-001",
"Rate": 0.785,
"RequestFromAPI": true,
"Status": "Completed"
}
],
"Links": []
}Retrieve an account movement
Retrieve a specified account movement.
GET /api/accountmovements/{accountMovementId}
For full request and response details, see Retrieve account movement.
Example request
GET https://staging-api.vitessepsp.com/api/accountmovements/98321Example response
{
"AccountMovementId": 98321,
"Created": {
"By": "System",
"On": "2026-06-03T10:15:00Z"
},
"CreditAccount": {
"AccountId": 4111,
"Currency": "GBP",
"Name": "Insurova - Carrier Funding"
},
"CreditAmount": 3925.00,
"DebitAccount": {
"AccountId": 4152,
"Currency": "USD",
"Name": "Blue Plain - Canada Property 1"
},
"DebitAmount": 5000.00,
"ExpiresOn": "2026-06-03T10:30:00Z",
"Fee": 0.00,
"IsDebitAmount": true,
"MerchantReference": "CLM-5838386",
"Narrative": "Move funds to carrier funding account",
"PaymentReference": "PMT-20260603-001",
"Rate": 0.785,
"RequestFromAPI": true,
"Status": "Completed",
"Updated": {
"By": "System",
"On": "2026-06-03T10:17:00Z"
}
}Pagination and filtering
Account movements are returned in pages.
Use the following query parameters to control the results:
| Filter | Description |
|---|---|
count | Number of movements to return, maximum 100 |
maxId | Return movements with IDs lower than the specified value |
startDate and endDate | Return movements within a date range |
startEntryId and endEntryId | Return movements within an entry ID range |
If more results are available, the response includes a Links object containing a Next Page URL. Use this URL to retrieve the next page of results.
Example requests
GET https://staging-api.vitessepsp.com/api/accountmovements?maxId=98321&count=25GET https://staging-api.vitessepsp.com/api/accountmovements?startDate=2026-06-01T00:00:00Z&endDate=2026-06-03T23:59:59Z&count=25GET https://staging-api.vitessepsp.com/api/accountmovements?startEntryId=900000&endEntryId=902500&count=25Updated 30 days ago