Migrating to Akoya API v2
Notice
Akoya has launched the v2 of its endpoints (in beta through October 2022). This document is intended to help data recipients currently using v1 to migrate to v2.
Migration considerations
Overview
Changes you may need to make to migrate to Akoya API v2:
- Versioning support. Akoya limits breaking changes to major API versions. To reduce the need for large, breaking-change updates, Akoya will continue to improve its products by releasing minor updates on a continual basis. These minor updates are non-breaking, backward-compatible improvements. When migrating to Akoya API v2, please plan for these minor version updates and implement in a way to allow for these non-breaking changes. Please see the versioning guide for more details.
- Transaction pagination. With Akoya API v1, paging through transaction data could require different implementations per provider. To standardize paging, we’ve introduced link-based pagination. All paging implementations from Akoya API v1 will need to be migrated to using Akoya-generated links instead. For more information, see: Link-based pagination.
- Endpoint path names. Akoya has introduced products to allow a more streamlined approach to data access. To support our new products, all new endpoints include the Akoya version in the path and no longer include the FDX version. We’ve also named the endpoints to more closely coincide with our products rather than using a single FDX
/accounts
endpoint. For example, if your use case requires balance data, the endpoint will now be:https://products.ddp.akoya.com/balances/v2/
. For a full list of endpoints, see: [Endpoint summary] (#endpoint-summary "Endpoint summary") - Data element support.
- In the near future, to support our new products, the following data elements will no longer be available through the Akoya API v1 /accounts endpoint. However, these data elements will be available in the Payments product:
accountNumber
routingTransitNumber
- Data elements available through the Akoya API v1 /accounts details calls will now be available through either the Accounts info, Balances, or Investment products. Please consider your use case to determine which products will continue to provide the data your app requires.
As a general guide, detailed data for all account categories except investment accounts can be retrieved through the Balances product. If you need more detailed investment data, please consider the Investments product instead.
- In the near future, to support our new products, the following data elements will no longer be available through the Akoya API v1 /accounts endpoint. However, these data elements will be available in the Payments product:
- FDX lightweight call. The new
/accounts-info
endpoint will replace the FDX accounts lightweight call. Differentiating between details and lightweight with a parameter using the/accounts
endpoint is no longer necessary.
While the list above covers the most significant migration considerations, please read the full details below to determine if other changes may impact your app.
Update details
Current support
Akoya API v1 sunset in sandbox
The Akoya API v1 data endpoints have been retired in sandbox. Please see this changelog post for further details.
- Akoya API v1, modeled after FDX’s “Financial Data Exchange (FDX) v4.1”
- Akoya API v2, modeled after FDX’s “Financial Data Exchange (FDX) v4.5” where possible with a few variations specific to Akoya
Akoya API v2
-
Data elements follow FDX 4.5 guidelines where possible.
- Exception: Akoya does not support
annuityAccount
inheriting from accounts.
- Exception: Akoya does not support
-
All new endpoints include the Akoya version in the path and no longer include the FDX version.
- Example:
https://products.ddp.akoya.com/balances/v2/
- Example:
-
Link-based pagination standardization.
-
Akoya endpoints
-
/accounts-info/v2/{providerId}/
-
/accounts/v2/{providerId}/
-
/balances/v2/{providerId}/
-
/transactions/v2/{providerId}/{accountId}
-
/payments/v2/{providerId}/{accountId}/payment-networks
-
/customers/v2/{providerId}/current
-
/statements/v2/{providerId}/{accountId}
-
/statements/v2/{providerId}/{accountId}/{statementId}
-
Endpoint summary
Akoya product | Endpoint path | Akoya products included in results |
---|---|---|
Accounts Info | /accounts-info/v2/{providerId}/ | Account Info only |
Balances | /balances/v2/{providerId}/ | Account Info + Balances |
Investments | /accounts/v2/{providerId}/ | Account Info + Balances + Investments |
Customer info | /customers/v2/{providerId}/current | Customers |
Payment networks | /payments/v2/{providerId}/{accountId}/payment-networks | Payments |
Transactions | /transactions/v2/{providerId}/{accountId} | Transactions |
Statements | /statements/v2/{providerId}/{accountId} | Statements |
Statements | /statements/v2/{providerId}/{accountId}/{statementId} | Statements |
Endpoint details:
Accounts Info (/accounts-basic/v2/{providerId}/
) New
/accounts-basic/v2/{providerId}/
) New- A list of accounts with basic info data
- Replaces the FDX accounts lightweight concept
- Typical use: populating an account selection screen for the end-user or high-level information for a list of accounts
- Responses include
- A basic version of account info data elements such as
accountType
,productName
,status
, orcurrency
. - Returns multiple accounts or query specific accounts
- Supports all account categories
- A basic version of account info data elements such as
Balances (/balances/v2/{providerId}/
) New
/balances/v2/{providerId}/
) New- Account info and balances data
- Typical use: displaying balance information to the end-user or conducting balance checks before initiating a payment
- Responses include
- Both account info and balances data elements such as
accountType
,currency
,balanceAsOf
,availableBalance
,currentBalance
,creditLine
, oravailableCredit
. - Returns multiple accounts or query specific accounts
- Supports all account categories
- Both account info and balances data elements such as
Investments (/accounts/v2/{providerId}/
) New
/accounts/v2/{providerId}/
) New- A comprehensive version of account info, balances, and investments data
- Typical use: retrieve a comprehensive view of all account information for PFM or Wealth Management
- Responses include
- a comprehensive version of account info, balances, and investments data elements such as
marginBalance
,availableCashBalance
,holdings
(e.g.,holdingType
,symbol
,units
), orcontribution
(e.g.,employerYearToDate
,employeeYearToDate
). - Returns multiple accounts or query specific accounts
- Supports all account categories
- a comprehensive version of account info, balances, and investments data elements such as
Transactions (/transactions/v2/{providerId}/{accountId}
) Updated
/transactions/v2/{providerId}/{accountId}
) Updated- Added ability to page transaction results in a standardized way
- The versioning has been updated to
/v2
- all
200
responses will return apageLinks
object with links (when applicable) for paging backward and forward in results (see: link to pagination documentation) - Responses include
- From a single account, a list of transactions data elements such as
transactionId
,postedTimestamp
,description
,category
,amount
, ortransactionType
. - Supports all applicable account categories
- From a single account, a list of transactions data elements such as
Payment Networks (/payments/v2/{providerId}/{accountId}/payment-networks
) No Changes
/payments/v2/{providerId}/{accountId}/payment-networks
) No Changes- No changes to the data elements
- The versioning has been updated to
/v2
- Responses include
- Payment network related data elements such as
bankId
(i.e., routing number),identifier
(i.e., account number),identifierType
(e.g., tokenized account number), ortype
(e.g., US_ACH, US_RTP) - Returns a single account
- Supports all applicable account categories
- Payment network related data elements such as
Customer Info (/customers/v2/{providerId}/current
) Updated
/customers/v2/{providerId}/current
) Updated- Added support for the
CustomerToAccountRelationship
FDX entity which includes:accounts
array of:accountId
Id of end-user’s accountrelationship
relationship between the listed account and the current customer, for example: PRIMARY, SECONDARY_JOINT, or POWER_OF_ATTORNEY
- No changes to the existing data elements
- The versioning has been updated to
/v2
- Responses include
- Customer info related data elements such as
name
,email
,addresses
,telephones
, orrelationships
(i.e., account holder relationship to an account) - Returns end-user information which is not account category specific
- Customer info related data elements such as
Statement List (/statements/{version}/{providerId}/{accountId}
) New
/statements/{version}/{providerId}/{accountId}
) New- Allows retrieval of statements for your end-user's consented accounts (up to two years of historical statements, depend on provider)
- Typical use: retrieve a list of statements for the consented account
- Responses include
- An array of statements, where each includes
accountId,
statementId,
description,
andstatus.
- links to GET individual statements in PDF, GIF, JPG, TIFF, or PNG format
- An array of statements, where each includes
Statement (/statements/{version}/{providerId}/{accountId}/{statementId}
) New
/statements/{version}/{providerId}/{accountId}/{statementId}
) New- Allows the retrieval of an individual statement in PDF, GIF, JPG, TIFF, or PNG format by passing in the
statementId
path parameter obtained in the Statement List response. The file format is specified by including a value for Accept in the header. Accepted values are:- application/pdf
- image/gif
- image/jpg
- image/tiff
- image/png
- Typical use: retrieve a statement image for the consented account
- Responses include:
- an image of the account statement identified by
statementId
- an image of the account statement identified by
Updated over 1 year ago