Go-List for Upgrading to v3.0
1. Update version in all your authentication requests
To upgrade to our version 3.0 of the API all you need to do is change the basiq-version header in the /token
response to 3.0
2. Include token scope in all your authentication requests
You can now specify either a CLIENT_ACCESS or SERVER_ACCESS scope in the /token
request.
Read more about authentication requests [ here ]
example authentication request:
curl --location --request POST 'https://au-api.basiq.io/token' \
--header 'Authorization: Basic [YOUR-API-KEY]' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'basiq-version: 3.0' \
--data-urlencode 'scope=SERVER_ACCESS' \
3. Upgrade to the Consent UI
3.0 version of the API uses Basiq's Consent UI - you no longer need to manage creating connections via the /connections
endpoint.
Read more about the Consent UI [ here ]
example authentication request with userId bound to CLIENT_ACCESS token:
curl --location --request POST 'https://au-api.basiq.io/token' \
--header 'Authorization: Basic [YOUR-API-KEY]' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'basiq-version: 3.0' \
--data-urlencode 'scope=CLIENT_ACCESS' \
--data-urlencode 'userId=1234567-1234-1234-1234-123456781234'
example code on configuring Consent UI url:
// Redirect to the external Basiq Consent UI to connect
async function goToConsent(action = null) {
let userId = sessionStorage.getItem("userId");
const token = await getClientToken(userId);
window.location = (`https://consent.basiq.io/home?&token=${token}&action=${action}`);
}
<Button onClick={goToConsent}>Connect your accounts</Button>
4. Configure your Consent UI and Consent Policy
You can modify the Consent UI to suit your needs - this includes updating the Consent Policy and updating the UI with your own branding.
Read more about the Consent UI [ here ]
Read more about the Consent Policy Scopes [ here ]
5. Learn about /events
and Data Governance
/events
and Data GovernanceWith the the inclusion of the Consent UI and the increase of Data Governance please read the following pages
Events API [ here ]
Data Governance [ here ]
6. Retrieve a user's consent
Version 3.0 now supports the ability to fetch and delete a user's consent object.
Learn how to manage this data object in the API [ here ]
7. How to utilise the Consent Flow
The Consent UI allows the passing of flags in order to complete certain actions
.
Read more about the Consent Flow [ here ]
8. MFA Support for DDC Connectors
The Consent UI handles MFA for first time connections.
When refreshing connections if MFA is prompted you will need to handle this but it's quite simple!
The job response will notify you of an MFA prompt
example /job
response with MFA step:
HTTP/1.1 200 OK
Content-Type: application/json
{
"type": "job",
"id": "61723",
"created": "2021-06-08T09:10:32.000Z",
"updated": "2021-06-08T09:14:28.000Z",
"steps": [
{
"title": "verify-credentials",
"status": "success",
"result": [
{
"type": "link",
"url": "/users/ea3a81/connections/8fce3b"
}
]
},
{
"title": "mfa-challenge",
"status": "in-progress",
"result": [
{
"type": "mfa",
"method": "token",
"description": "A SMS code has been sent to your device, please enter valid number",
"input": [
"OTP Password"
],
"expiryMs": 3600,
"links": {
"response": "/jobs/61723/mfa"
}
}
]
},
{
"title": "retrieve-accounts",
"status": "pending",
"result": null
},
{
"title": "retrieve-transactions",
"status": "pending",
"result": null
}
],
"links": {
"self": "/jobs/61723",
"source": "/users/ea3a81/connections/8fce3b"
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"type": "job",
"id": "61723",
"created": "2021-06-08T09:10:32.000Z",
"updated": "2021-06-08T09:14:28.000Z",
"steps": [
{
"title": "verify-credentials",
"status": "success",
"result": [
{
"type": "link",
"url": "/users/ea3a81/connections/8fce3b"
}
]
},
{
"title": "mfa-challenge",
"status": "in-progress",
"result": {
"type": "mfa",
"method": "security-questions",
"description": "security-questions",
"input": [
"What's your favourite company?",
"What's the ID of this institution?"
],
"expiryMs": 120000,
"links": {
"response": "https://au-api.basiq.io/jobs/61723/mfa"
}
}
},
{
"title": "retrieve-accounts",
"status": "pending",
"result": null
},
{
"title": "retrieve-transactions",
"status": "pending",
"result": null
}
],
"links": {
"self": "/jobs/61723",
"source": "/users/ea3a81/connections/8fce3b"
}
}
example /mfa
request:
curl --location --request POST 'https://au-api.basiq.io/jobs/{job.id}/mfa' \
--header 'Authorization: Bearer {{client-access-token}}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"mfa-response": ["1234"]
}'
See the API Reference Page [ here ]
Updated 8 months ago