TransactionLink AIS
Verify your user's identity with their bank accounts
How does it work?
Upon your user consent, TransactionLink connects to their bank to download their data.
More about this service you can find here


Configuration: Redirect and embedded
The AIS app can be configured to follow two different flows.
Every flow returns different data, and it's up to you to decide which one suits your use-case.
The redirect flow
In this flow the user is redirected to the bank's website, where he consents for the data download.
This flow is the most common choice as it provides more robustness and allows you to subscribe to the future account updates including new transactions for up to 90 days.
However, it doesn't provide detailed personal data like personal identity number, so it's KYC capabilities are limited.
The embedded flow
In this flow all the interactions happen within TransactionLink's widget.
The data download happens only once and transactions history is limited to three months.
On the other hand you're able to get more of the personal data for example identity number.
Supported banks
To check the list of supported banks please go to this section.
Response content
{
"ais": {
"identity": {
"firstName": "Anna",
"lastName": "Nowak",
"personalIdentityNumber": "81021118350",
"personAddresses": {
"registry": {
"city": "Pcim",
"country": "Poland",
"postalCode": "32-432",
"street": "Pcim 143"
}
},
"citizenship": "Poland",
"gender": "M",
"birthDate": "1981-02-11",
"resourceType": "PERSON"
},
"accounts": [
{
"id": "ad09b363-8614-4b4a-820a-e9f325043932",
"number": "PL28114020040000330279698727",
"name": "Konto Firmowe",
"openedAt": "2017-10-15T15:26:26.752Z",
"currency": "PLN",
"availableBalance": 18965887,
"bookingBalance": 18965887,
"overdraftLimit": 0,
"bic": "IEEAPLPAXXX",
"bankName": "Idea Bank S.A.",
"transactions": [
{
"id": "e2867fc8-fddf-4157-ab64-aba306e9674e",
"accountId": "ad09b363-8614-4b4a-820a-e9f325043932",
"amount": 7795,
"currency": "PLN",
"title": "Faktura za wynajem",
"tradedAt": "2022-04-20T19:47:12.966Z",
"status": "DONE",
"accountNumber": "PL28114020040000330279698727",
"description": "additional info",
"bookedAt": "2022-04-20T19:47:12.966Z",
"counterpartyAccount": "PL23116022600319418058981335",
"counterpartyName": "Sklep Alexander",
"counterpartyBic": "IEEAPLPAXXX",
"counterpartyBankName": "Bank Millenium SA",
"category": "TRANSFER",
"postTransactionBalance": 6613.29
},
]
}
]
}
}
openapi: 3.0.1
info:
title: Transactionlink AIS model definition
version: v1s
paths: {}
components:
schemas:
ais:
type: object
properties:
identity:
oneOf:
- $ref: '#/components/schemas/IdentityOrganization'
- $ref: '#/components/schemas/IdentityParty'
- $ref: '#/components/schemas/IdentityPerson'
accounts:
type: array
items:
$ref: '#/components/schemas/Account'
IdentityParty:
type: object
properties:
resourceType:
type: string
enum:
- PERSON
- PARTY
- ORGANIZATION
additionalProperties: false
IdentityOrganization:
type: object
properties:
name:
type: string
nip:
type: string
regon:
type: string
addresses:
type: object
properties:
registry:
$ref: '#/components/schemas/Address'
resourceType:
type: string
enum:
- PERSON
- PARTY
- ORGANIZATION
additionalProperties: false
IdentityPerson:
type: object
properties:
firstName:
type: string
lastName:
type: string
personalIdentityNumber:
type: string
personAddresses:
type: object
properties:
registry:
$ref: '#/components/schemas/Address'
citizenship:
type: string
gender:
type: string
birthDate:
type: string
format: date
resourceType:
type: string
enum:
- PERSON
- PARTY
- ORGANIZATION
additionalProperties: false
Account:
type: object
properties:
id:
type: string
number:
type: string
name:
type: string
openedAt:
type: string
format: date-time
example: '2017-10-15T15:26:26.752Z'
currency:
type: string
description: ISO
availableBalance:
type: number
format: double
bookingBalance:
type: number
format: double
overdraftLimit:
type: number
format: double
bic:
type: string
bankName:
type: string
transactions:
type: array
items:
$ref: '#/components/schemas/Transaction'
Address:
type: object
properties:
city:
type: string
country:
type: string
postalCode:
type: string
street:
type: string
Transaction:
type: object
properties:
id:
type: string
accountId:
type: string
amount:
type: number
format: double
currency:
type: string
description: ISO
title:
type: string
tradedAt:
type: string
format: date-time
example: '2017-10-15T15:26:26.752Z'
status:
type: string
enum:
- DONE
- PENDING
- REJECTED
accountNumber:
type: string
description:
type: string
bookedAt:
type: string
format: date-time
example: '2017-10-15T15:26:26.752Z'
counterpartyAccount:
type: string
counterpartyName:
type: string
counterpartyBic:
type: string
counterpartyBankName:
type: string
category:
type: string
enum:
- CARDPAYMENT
- TRANSFER
- GOOGLEPAY
- APPLEPAY
- BLIK
- OTHER
postTransactionBalance:
type: number
format: double
Updated 15 days ago