deprecated

Counterparty, counterparty account, and virtual account objects migration

We are introducing new Account holder, External account, and Internal account objects and deprecating existing Counterparty, Counterparty account, and Virtual account objects.

Object deprecations

Former object (removed starting Jan. 24, 2025)Current object
CounterpartyAccount holder
Counterparty accountExternal account
Virtual accountInternal account (type = “virtual”)

Counterparty → account holder

Counterparty is replaced by Account holder. The Counterparty object is deprecated and will be removed on January 24, 2025. In the meantime, Counterparty and Account holder objects are fully interoperable. All your existing Counterparty objects have already been replicated as Account holders in Numeral and will share the same UUIDs.

Object changes

Counterparty propertiesChangesAccount holder propertiesNotes
object = counterpartyUpdatedobject = account_holder
nameN/Aname
counterparty_accountsRemoved-Use the new GET /external_accounts?account_holder_id=xxx endpoint and filter to retrieve the external accounts related to a given account holder.
virtual_accountsRemoved-Use the new GET /internal_accounts?account_holder_id=xxx endpoint and filter to retrieve the internal accounts related to a given account holder.

API endpoints changes

Former endpointChangesNew endpoint
GET /counterpartiesDeprecatedGET /account_holders
GET /counterparties/:idDeprecatedGET /account_holders/:id
POST /counterpartiesDeprecatedPOST /account_holders
POST /counterparties/:id/disableDeprecatedPOST /account_holders/:id/disable
POST /counterparties/:idDeprecatedPOST /account_holders/:id
-New filterGET /external_accounts?account_holder=:id
GET /virtual_accounts?counterparty_id=:idDeprecatedGET /internal_accounts?account_holder=:id
GET /payment_orders?counterparty_id=:idDeprecatedGET /payment_orders?account_holder_id=:id
GET /expected_payments?counterparty_id=:idDeprecatedGET /expected_payments?account_holder_id=:id

Counterparty account → external account

Counterparty account is replaced by External account. The Counterparty account therefore deprecated and will be removed on January 24, 2025. In the meantime, Counterparty account and External account objects are fully interoperable. All your existing Counterparty accounts objects have already been replicated as External accounts in Numeral and will share the same UUIDs.

Object changes

Counterparty account propertiesChangesExternal account properties
object = counterparty_accountUpdatedobject = external_account
counterparty_idUpdatedaccount_holder_id
Other propertiesN/ASame properties

API endpoints changes

Former endpointChangesNew endpoint
GET /counterparty_accountsDeprecatedGET /external_accounts
GET /counterparty_accounts/:idDeprecatedGET /external_accounts/:id
POST /counterparty_accountsDeprecatedPOST /external_accounts
POST /counterparty_accounts/:id/disableDeprecatedPOST /external_accounts/:id/disable
POST /counterparty_accounts/:id/approveDeprecatedPOST /external_accounts/:id/approve
POST /counterparty_accounts/:id/denyDeprecatedPOST /external_accounts/:id/deny
POST /counterparty_accounts/:idDeprecatedPOST /external_accounts/:id
POST /counterparty_accounts/:id/verifyDeprecatedPOST /external_accounts/:id/verify
GET /counterparties?counterparty_account_id=:idDeprecatedGET /account_holders?external_account_id=:id
GET /payment_orders?counterparty_account_id=:idDeprecatedGET /payment_orders?external_account_id=:id
GET /expected_payments?counterparty_account_id=:idDeprecatedGET /expected_payments?external_account_id=:id

Virtual account → internal account

Virtual account is replaced by Internal account. The Virtual account object is deprecated and will be removed on January 24, 2025. In the meantime, Virtual account and Internal account objects are fully interoperable. All your existing Virtual accounts objects have already been replicated as Internal accounts in Numeral and will share the same UUIDs.

Object changes

Virtual account propertiesChangesInternal account properties
object = virtual_accountUpdatedobject = internal_account
counterparty_idUpdatedaccount_holder_id
virtual_account_numberUpdatedaccount_number, required
N/ANew propertytype, required. Existing Virtual accounts will be migrated as Internal accounts with type = “virtual”. Can also take “own”, but only applicable to indirect participants
N/ANew propertyholder_name, required
N/ANew propertybank_code, optional
N/ANew propertyholder_address, optional
N/ANew propertycreditor_identifier, optional
Other propertiesN/ASame properties

API endpoints changes

Former endpointChangesNew endpoint
GET /virtual_accountsDeprecatedGET /internal_accounts
GET /virtual_accounts/:idDeprecatedGET /internal_accounts/:id
POST /virtual_accountsDeprecatedPOST /internal_accounts
POST /virtual_accounts/:id/disableDeprecatedPOST /internal_accounts/:id/disable
POST /virtual_accounts/:id/assignReplacedPOST /internal_accounts/:id
POST /virtual_accounts/:id/unassignReplacedPOST /internal_accounts/:id
POST /virtual_accounts/:idDeprecatedPOST /internal_accounts/:id
GET /counterparties?virtual_account_id=:idDeprecatedGET /account_holders?internal_account_id=:id
GET /expected_payments?virtual_account_number=:account_numberReplacedGET /expected_payments?internal_account_id=:id
GET /transactions?virtual_account_number=:account_numberNew filterGET /transactions?internal_account=:id