Migrate from v1 to v2

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

When migrating from v1 endpoints to v2 see 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

Note that when using v2 endpoints external IDs can be passed as ids with the external: prefix.