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/accountmovements

Request 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 Pending until 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/validate

Request 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 Pending status.

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/98321

Request 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=25

Example 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/98321

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": "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:

FilterDescription
countNumber of movements to return, maximum 100
maxIdReturn movements with IDs lower than the specified value
startDate and endDateReturn movements within a date range
startEntryId and endEntryIdReturn 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=25
GET https://staging-api.vitessepsp.com/api/accountmovements?startDate=2026-06-01T00:00:00Z&endDate=2026-06-03T23:59:59Z&count=25
GET https://staging-api.vitessepsp.com/api/accountmovements?startEntryId=900000&endEntryId=902500&count=25

Did this page help you?