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.
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
description: Party identity type - unknown indeed, it can be PERSON/ORGANIZATION
enum:
- PARTY
additionalProperties: false
IdentityOrganization:
type: object
properties:
name:
type: string
description: Organization name
nip:
type: string
description: Organization NIP number
regon:
type: string
description: Organization REGON number
addresses:
type: object
description: Address details
properties:
registry:
$ref: '#/components/schemas/Address'
resourceType:
type: string
description: Organization resource type
enum:
- ORGANIZATION
additionalProperties: false
IdentityPerson:
type: object
properties:
firstName:
type: string
description: First name
lastName:
type: string
description: Last name
personalIdentityNumber:
type: string
description: Identity number
personAddresses:
type: object
description: Address details
properties:
registry:
$ref: '#/components/schemas/Address'
gender:
type: string
description: Gender
birthDate:
type: string
format: date
description: Date of birth
resourceType:
type: string
description: Person resource type
enum:
- PERSON
additionalProperties: false
Account:
type: object
properties:
id:
type: string
description: Unique identifier
number:
type: string
descripiton: Account number (IBAN)
name:
type: string
description: Account name
openedAt:
type: string
format: date-time
description: Account open date
example: '2017-10-15T15:26:26.752Z'
currency:
type: string
description: Account currency (ISO 4217)
availableBalance:
type: number
format: double
description: Account available balance
bookingBalance:
type: number
format: double
description: Account booked balance
overdraftLimit:
type: number
format: double
description: Account overdraft limit
bic:
type: string
description: BIC - Bank Identifier Code
bankName:
type: string
description: Bank name
transactions:
type: array
items:
$ref: '#/components/schemas/Transaction'
Address:
type: object
properties:
city:
type: string
description: City
country:
type: string
description: Country
postalCode:
type: string
description: Postal code
street:
type: string
description: Street
Transaction:
type: object
properties:
id:
type: string
description: Unique identifier of transaction
accountId:
type: string
description: Unique identifier of related account to this transaction
amount:
type: number
format: double
description: Transaction amount
currency:
type: string
description: Transaction currency (ISO 4217)
title:
type: string
description: Transaction title
tradedAt:
type: string
format: date-time
example: '2017-10-15T15:26:26.752Z'
description: Transaction trade date
status:
type: string
description: Transaction status
enum:
- DONE
- PENDING
- REJECTED
accountNumber:
type: string
description: Account number (IBAN) of related account to transaction
description:
type: string
description: Transaction description
bookedAt:
type: string
format: date-time
example: '2017-10-15T15:26:26.752Z'
description: Transaction booking date
counterpartyAccount:
type: string
description: Accont number of counterparty
counterpartyName:
type: string
description: Counterparty name
counterpartyBic:
type: string
description: Coutnerparty BIC (Bank Identifier Code)
counterpartyBankName:
type: string
description: Counterparty bank name
category:
type: string
description: Transaction category type
enum:
- CARDPAYMENT
- TRANSFER
- GOOGLEPAY
- APPLEPAY
- BLIK
- OTHER
postTransactionBalance:
description: Balance after processing this transaction
type: number
format: double
Updated 2 months ago