Legacy Endpoint Migration Guide
Migrate from legacy Verto sandbox endpoints to the new service-specific routes for login, beneficiaries, listings, payment requests, and wallets.
Use this guide to migrate your integration from legacy Verto sandbox endpoints to the new service-specific sandbox endpoints.
The legacy sandbox routes use https://api-v3-sandbox.vertofx.com as the shared host. The new routes split traffic across service-specific hosts for company authentication, beneficiaries, payments, currencies, and wallets.
Prerequisites
Before you start the migration:
- Review your current integration and list every request that uses
https://api-v3-sandbox.vertofx.com. - Confirm which service each request belongs to: authorization, beneficiary, listing, withdrawal, or wallet.
- Update your environment configuration so base URLs can be changed per service instead of stored as one shared API host.
- Test each migrated route in sandbox before moving the same pattern to production.
Migration steps
1. Replace the shared legacy host
Replace the shared legacy sandbox host with the new host for each service.
| Service | Legacy host | New sandbox host |
|---|---|---|
| Authorization | https://api-v3-sandbox.vertofx.com | https://api-company-sandbox.vertofx.com |
| Beneficiary | https://api-v3-sandbox.vertofx.com | https://api-beneficiary-sandbox.vertofx.com |
| Listing: purpose codes | https://api-v3-sandbox.vertofx.com | https://api-payment-preview.vertofx.dev |
| Listing: currencies | https://api-v3-sandbox.vertofx.com | https://api-currency-sandbox.vertofx.com |
| Withdrawal service | https://api-v3-sandbox.vertofx.com | https://api-payment-preview.vertofx.dev |
| Wallet service | https://api-v3-sandbox.vertofx.com | https://api-wallet-sandbox.vertofx.com |
2. Update endpoint paths
Update each legacy path to its new service-specific path. Some resources also use new naming conventions.
For beneficiary endpoints, beneficiaries becomes recipients, and path parameters change from {beneficiaryId} to {recipientId}.
For wallet endpoints, include {companyId} in the route before the wallet path.
3. Keep authentication separate from service calls
Use the migrated company login route to authenticate first:
POST https://api-company-sandbox.vertofx.com/users/loginAfter login, use the returned authentication context required by your integration when calling the service-specific APIs.
4. Test migrated requests by service
Migrate and test one service at a time:
- Start with authorization so your bearer token flow works.
- Migrate read-only listing routes, such as purpose codes and currencies.
- Migrate beneficiary read operations before create, update, or delete operations.
- Migrate wallet list and detail routes.
- Migrate payment request creation and lookup routes last, after dependency services are working.
Endpoint mapping
Use this table to replace each legacy sandbox route with its new sandbox route.
| Section | Title | Method | Legacy API route | New API route |
|---|---|---|---|---|
| Authorization | Login | POST | https://api-v3-sandbox.vertofx.com/users/login | https://api-company-sandbox.vertofx.com/users/login |
| Beneficiary | Create a Beneficiary | POST | https://api-v3-sandbox.vertofx.com/profile/v2.1/beneficiaries | https://api-beneficiary-sandbox.vertofx.com/recipients |
| Beneficiary | Get all Beneficiaries | GET | https://api-v3-sandbox.vertofx.com/profile/v2.1/beneficiaries | https://api-beneficiary-sandbox.vertofx.com/recipients |
| Beneficiary | Update a Beneficiary | PUT | https://api-v3-sandbox.vertofx.com/profile/v2.1/beneficiaries/{beneficiaryId} | https://api-beneficiary-sandbox.vertofx.com/recipients/{recipientId} |
| Beneficiary | Get a Beneficiary | GET | https://api-v3-sandbox.vertofx.com/profile/v2.1/beneficiaries/{beneficiaryId} | https://api-beneficiary-sandbox.vertofx.com/recipients/{recipientId} |
| Beneficiary | Delete a Beneficiary | DELETE | https://api-v3-sandbox.vertofx.com/profile/v2.1/beneficiaries/{beneficiaryId} | https://api-beneficiary-sandbox.vertofx.com/recipients/{recipientId} |
| Listing Service | Get all Purpose Codes | GET | https://api-v3-sandbox.vertofx.com/profile/v2.1/purpose | https://api-payment-preview.vertofx.dev/payments/purpose-codes |
| Listing Service | Get all Currencies | GET | https://api-v3-sandbox.vertofx.com/profile/v2.1/currencies | https://api-currency-sandbox.vertofx.com/currencies/list |
| Withdrawal Service | Create a Payment Request | POST | https://api-v3-sandbox.vertofx.com/profile/v2.1/request | https://api-payment-preview.vertofx.dev/payments/create |
| Withdrawal Service | Create a Payment Request (v2.2) | POST | https://api-v3-sandbox.vertofx.com/profile/v2.2/request | https://api-payment-preview.vertofx.dev/payments/create |
| Withdrawal Service | Get all Payment Requests | GET | https://api-v3-sandbox.vertofx.com/profile/v2.1/request | https://api-payment-preview.vertofx.dev/payments/list |
| Withdrawal Service | Get a Payment Request | GET | https://api-v3-sandbox.vertofx.com/profile/v2.1/request/{requestID} | https://api-payment-preview.vertofx.dev/payments/list |
| Wallet Service | Get all Wallets (v2.2) | GET | https://api-v3-sandbox.vertofx.com/profile/v2.2/wallets | https://api-wallet-sandbox.vertofx.com/{companyId}/wallets |
| Wallet Service | Get a Wallet (v2.2) | GET | https://api-v3-sandbox.vertofx.com/profile/v2.2/wallets/{wallet_id} | https://api-wallet-sandbox.vertofx.com/{companyId}/wallets/{walletId} |
Route changes to account for
Beneficiary routes now use recipients
Beneficiary routes now use /recipients on the beneficiary service host.
| Legacy term | New term |
|---|---|
beneficiaries | recipients |
{beneficiaryId} | {recipientId} |
Update any route builders, logs, retry metadata, and reconciliation records that store the old beneficiary route or path parameter name.
Wallet routes now include companyId
Wallet routes now include {companyId} in the path:
GET https://api-wallet-sandbox.vertofx.com/{companyId}/wallets
GET https://api-wallet-sandbox.vertofx.com/{companyId}/wallets/{walletId}Store companyId from your authentication flow and pass it when building wallet service requests.
Payment request lookup route changed
The legacy single payment request route included {requestID} in the path:
GET https://api-v3-sandbox.vertofx.com/profile/v2.1/request/{requestID}The new route points to the payment list endpoint:
GET https://api-payment-preview.vertofx.dev/payments/listUpdate your client code so payment request lookups use the new payment service route.
Migration checklist
Before you finish the migration, confirm that you have:
- Replaced the shared legacy host with service-specific hosts.
- Updated beneficiary paths from
/beneficiariesto/recipients. - Updated beneficiary path parameters from
{beneficiaryId}to{recipientId}. - Added
{companyId}to wallet list and detail routes. - Updated payment request creation to use
/payments/create. - Updated payment request listing and lookup calls to use
/payments/list. - Tested authorization before testing dependent service requests.
- Verified that sandbox configuration uses the new hosts consistently across environments.
Related guides
- Authentication: Choose an authentication method and obtain a bearer token.
- Environments: Review sandbox and production environment details.
- Beneficiary Management Guide: Create and manage beneficiary records with the merged Beneficiary service.
- Wallets: Manage wallets and use the migrated wallet routes.
- Send: Send funds to beneficiaries and track payout state changes.
- Currency Guides: Review supported currencies and corridor guidance.
Updated 3 days ago
