Migrate from v1 to v2

Recommendation When migrating to v2 it is strongly recommended to start using the OAuth 2.0 access token flow and authenticate using a Bearer token. See the OAuth 2.0 access token documentation for details.

When migrating from v1 endpoints to v2, refer to the mapping table below for the new endpoints.

v1 Endpointv2 Endpoint
GET /v1/accountsGET /financial-data/v2/accounts
PUT /v1/accounts/{id}PATCH /financial-data/v2/accounts/{id}
GET /v1/accounts/{id}GET /financial-data/v2/accounts/{id}
GET /v1/counterpartiesGET /payments/v2/counterparties
POST /v1/counterpartiesPOST /payments/v2/counterparties
DELETE /v1/counterparties/{id}DELETE /payments/v2/counterparties/{id}
GET /v1/counterparties/{id}GET /payments/v2/counterparties/{id}
GET /v1/counterparties:getByExternalId/{eid}GET /payments/v2/counterparties/external:{eid}
PUT /v1/counterparties/{id}PATCH /payments/v2/counterparties/{id}
GET /v1/counterparties/{id}/eventsGET /payments/v2/counterparties/{id}/events
GET /v1/credit-transfersGET /payments/v2/credit-transfers
POST /v1/credit-transfersPOST /payments/v2/credit-transfers
GET /v1/credit-transfers/{id}GET /payments/v2/credit-transfers/{id}
GET /v1/credit-transfers:getByExternalId/{eid}GET /payments/v2/credit-transfers/external:{eid}
PUT /v1/credit-transfers/{id}/approvals/{approvalStepId}POST /payments/v2/credit-transfers/{id}:approve
DELETE /v1/credit-transfers/{id}/approvalsPOST /payments/v2/credit-transfers/{id}:reject
GET /v1/credit-transfers/{id}/eventsGET /payments/v2/credit-transfers/{id}/events
GET /v1/direct-debitsGET /payments/v2/direct-debits
POST /v1/direct-debitsPOST /payments/v2/direct-debits
GET /v1/direct-debits/{id}GET /payments/v2/direct-debits/{id}
GET /v1/direct-debits:getByExternalId/{eid}GET /payments/v2/direct-debits/external:{eid}
PUT /v1/direct-debits/{id}/approvals/{approvalStepId}POST /payments/v2/direct-debits/{id}:approve
DELETE /v1/direct-debits/{id}/approvalsPOST /payments/v2/direct-debits/{id}:reject
GET /v1/direct-debits/{id}/eventsGET /payments/v2/direct-debits/{id}/events
GET /v1/external-accountsGET /payments/v2/external-accounts
POST /v1/external-accountsPOST /payments/v2/external-accounts
DELETE /v1/external-accounts/{id}DELETE /payments/v2/external-accounts/{id}
GET /v1/external-accounts:getByExternalId/{eid}GET /payments/v2/external-accounts/external:{eid}
GET /v1/external-accounts/{id}GET /payments/v2/external-accounts/{id}
PUT /v1/external-accounts/{id}PATCH /payments/v2/external-accounts/{id}
GET /v1/mandatesGET /payments/v2/mandates
POST /v1/mandatesPOST /payments/v2/mandates
GET /v1/mandates:getByExternalId/{eid}GET /payments/v2/mandates/external:{eid}
GET /v1/mandates/{id}GET /payments/v2/mandates/{id}
POST /v1/mandates/{id}:cancelPOST /payments/v2/mandates/{id}:cancel
GET /v1/mandates/{id}/eventsGET /payments/v2/mandates/{id}/events
GET /v1/transactionsGET /financial-data/v2/transactions
GET /v1/transactions/{id}GET /financial-data/v2/transactions/{id}
GET /v1/transactions/{id}/eventsGET /financial-data/v2/transactions/{id}/events
💡

Tip

When using v2 endpoints, external IDs can be passed as identifiers by prefixing them with external:. Example: GET /payments/v2/credit-transfers/external:myExternalId


What’s Next