Skip to main content

Fena Account and Transaction Data API Specification (1.0.1)

Download OpenAPI specification:Download

API Documentation for Fena Data Account and Transaction

Supported UK Banks

UK Banks Provider Name Status
Lloyds Personal ob-lloyds-personal Active
Revolut ob-revolut Active
Santander ob-santander Active
Halifax ob-halifax-personal Active
Natwest ob-natwest Active
TSB ob-tsb Active
HSBC Personal ob-hsbc-personal Active
Bank of Scotland Personal ob-bos-personal Active
Monzo ob-monzo Active
First Direct ob-first-direct Active
Royal Bank of Scotland ob-rbs Active
Ulster ob-ulster Active
Nationwide ob-nationwide Active
Starling starling Active
Lloyds Business ob-lloyds-business Active
Barclys Business ob-barclays-business Active
Bank of Scotland Business ob-bos-business Active
HSBC Business ob-hsbc-business Inactive
Virgin Money ob-virgin-money Inactive
Lloyds Sandbox ob-sandbox-lloyds Inactive
Metro Personal ob-metro-personal Inactive

Supported EU Banks

EU Banks Provider Name Status
UBB Bank bg-ubb Inactive
Raiffeisen Bank bg-raiffeisen Inactive
DSK Bank bg-dskbank Inactive
UniCredit Bank bg-unicredit Inactive
PostBank bg-postbank Inactive

Authentication

Fena only supports API Key authentication:

  • API Key

clientId

Security Scheme Type API Key
Header parameter name: client_id

clientSecret

Security Scheme Type API Key
Header parameter name: client_secret

Create Account Access Consents

Authorizations:
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Request Body schema: application/json
provider
required
string
Enum: "ob-sandbox-lloyds" "ob-lloyds-personal" "ob-barclays-personal" "ob-barclays-business" "ob-revolut" "ob-santander" "ob-halifax-personal" "ob-natwest" "ob-tsb" "ob-hsbc-personal" "ob-hsbc-business" "ob-bos-personal" "ob-lloyds-business" "ob-bos-business" "ob-monzo" "ob-virgin-money" "ob-first-direct" "ob-rbs" "ob-ulster" "ob-metro-personal" "ob-nationwide" "starling"

Provider name

Responses

Request samples

Content type
application/json
{
  • "provider": "ob-sandbox-lloyds"
}

Response samples

Content type
application/json; charset=utf-8
{
  • "result": {
    }
}

Get Account Access Consents

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "Data": {
    },
  • "Risk": { },
  • "Links": {},
  • "Meta": {
    }
}

Delete Account Access Consents

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "result": {
    }
}

Accounts

Get Accounts

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
Example
{
  • "Data": {
    }
}

Balances

Get Balances

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

accountId
required
string

ID of the account.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
Example
{
  • "Data": {
    }
}

Transactions

Get Transactions

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

accountId
required
string

ID of the account.

query Parameters
transactionStartDate
string <date-time>

ID of the account.

transactionEndDate
string <date-time>

ID of the account.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "Data": {
    }
}

Create EU Account Access Consents

Authorizations:
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Request Body schema: application/json
provider
required
string
Enum: "bg-ubb" "bg-postbank" "bg-dskbank"

Provider name

psuId
string [ 1 .. 255 ] characters

User's id used by a provider in its own system. It might be a username, phone number or email (depends on what provider requires). Needed for providers: bg-raiffeisen (username)

psuIpAddress
string

IP Address of the user who sent the request to the customer. Needed for providers: bg-ubb, bg-raiffeisen, bg-unicredit, bg-postbank, bg-dskbank

Responses

Request samples

Content type
application/json
{
  • "provider": "bg-ubb",
  • "psuId": "vasyagladush",
  • "psuIpAddress": "192.168.0.1"
}

Response samples

Content type
application/json; charset=utf-8
{
  • "result": {
    }
}

Get EU Account Access Consents

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "access": {
    },
  • "recurringIndicator": true,
  • "validUntil": "2018-12-25",
  • "frequencyPerDay": 2,
  • "consentStatus": "valid",
  • "_links": {
    }
}

Delete EU Account Access Consents

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "result": {
    }
}

EU Accounts

Get Accounts

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "accounts": [
    ]
}

Get Account

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

accountId
required
string

ID of the account.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "resourceId": "BG10STSA11223344556677",
  • "iban": "BG10STSA11223344556677",
  • "currency": "BGN",
  • "product": "РС ЛИДЕР С РО 0406",
  • "name": "salary",
  • "_links": {
    }
}

EU Balances

Get Balances

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

accountId
required
string

ID of the account.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "account": {
    },
  • "balances": [
    ]
}

EU Transactions

Get Transactions

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

accountId
required
string

ID of the account.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "account": {
    },
  • "transactions": {
    }
}

Get Transaction

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

accountId
required
string

ID of the account.

transactionId
required
string

ID of the transaction.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "transactionId": "string",
  • "bookingDate": "2019-08-24",
  • "valueDate": "2019-08-24",
  • "transactionAmount": {
    },
  • "creditorName": "string",
  • "creditorAccount": {
    },
  • "debtorName": "string",
  • "debtorAccount": {
    },
  • "remittanceInformationUnstructured": "string"
}

Domestic Standing Order Consents

Create Domestic Standing Order Consents

Authorizations:
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Request Body schema: application/json
One of
provider
required
string
Enum: "ob-sandbox-lloyds" "ob-lloyds-personal" "ob-barclays-personal" "ob-barclays-business" "ob-revolut" "ob-santander" "ob-halifax-personal" "ob-natwest" "ob-tsb" "ob-hsbc-personal" "ob-hsbc-business" "ob-bos-personal" "ob-lloyds-business" "ob-bos-business" "ob-monzo" "ob-virgin-money" "ob-first-direct" "ob-rbs" "ob-ulster" "ob-metro-personal" "ob-nationwide"

Provider name

required
object

Responses

Request samples

Content type
application/json
Example
{
  • "provider": "ob-sandbox-lloyds",
  • "Data": {
    }
}

Response samples

Content type
application/json; charset=utf-8
Example
{
  • "Data": {
    },
  • "Risk": {
    },
  • "Links": {},
  • "Meta": {
    }
}

Get Domestic Standing Order Consents

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "Data": {
    },
  • "Risk": {
    },
  • "Links": {},
  • "Meta": {
    }
}

Domestic Standing Orders

Create Domestic Standing Orders

Authorizations:
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
Example
{
  • "ConsentId": "79569aa8-49c6-435a-8037-6fc8226da8cb"
}

Get Domestic Standing Orders

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "Data": {
    },
  • "Risk": {
    },
  • "Links": {},
  • "Meta": {
    }
}

Single Immediate Payment Initiation

Get Single Immediate Payment Initiation

Authorizations:
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Bulk Payment Consents

Create Bulk Payment Consents

Authorizations:
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Request Body schema: application/json
provider
required
string
Enum: "ob-barclays-business" "ob-revolut" "ob-natwest" "ob-hsbc-business" "ob-rbs" "ob-ulster" "ob-svb" "ob-clydesdale" "ob-yorkshire" "ob-lloyds-business" "ob-santander" "ob-sandbox-rbs" "ob-sandbox-natwest"

Identifier of provider bank.

customerPaymentId
required
string <uuid>

Payment ID passed from client.

futurePaymentDate
string <date>

The date on which the bulk payment will be made. All dates in the JSON payloads are represented in ISO 8601 date format. Time data should be excluded. All dates should be at least 2 days in the future from the current date.

required
object (FilePaymentData)
reference
string [ 1 .. 18 ] characters
object

Responses

Request samples

Content type
application/json
{
  • "provider": "ob-barclays-business",
  • "customerPaymentId": "0aa912e0-3dc8-4e2d-9af1-9d24c3eeb4fb",
  • "futurePaymentDate": "2022-10-05",
  • "paymentData": {
    },
  • "reference": "string",
  • "option": {
    }
}

Response samples

Content type
application/json; charset=utf-8
{
  • "result": {
    }
}

Bulk Payments

Create Bulk Payments

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "type": "string",
  • "status": "new_file_payment",
  • "comment": "string",
  • "data": {
    }
}

Get Bulk Payment

Authorizations:
path Parameters
id
required
string <uuid>
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{ }

Starling Transactions

Get Transactions

Authorizations:
path Parameters
consentId
required
string

ID of the consent created.

accountId
required
string

ID of the account.

categoryId
required
string

ID of the category.

query Parameters
transactionStartDate
string <date-time>

ID of the account.

transactionEndDate
string <date-time>

ID of the account.

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "Data": [
    ]
}

EU Single Payment Initiation

Create a Single Payment Initiation

Authorizations:
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Request Body schema: application/json
amount
required
string [ 4 .. 10 ] characters ^\d+\.\d{0,2}$

A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.

provider
required
string
Enum: "bg-ubb" "bg-raiffeisen" "bg-unicredit" "bg-postbank" "bg-dskbank"
paymentType
required
string
Enum: "domestic-credit-transfer" "sepa-credit-transfer"

domestic-credit-transfer is available for: bg-ubb, bg-raiffeisen, bg-unicredit, bg-postbank, bg-dskbank sepa-credit-transfer is available for: none

customerPaymentId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...
reference
string [ 1 .. 18 ] characters

Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction

remittanceInformation
string [ 4 .. 140 ] characters
required
object
required
object
object
object
currency
string^[A-Z]{3,3}$

A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".

Responses

Request samples

Content type
application/json
{
  • "amount": "0.01",
  • "provider": "bg-postbank",
  • "paymentType": "domestic-credit-transfer",
  • "customerPaymentId": "f929d718-1496-11eb-adc1-0242ac120002",
  • "reference": "Test Payment",
  • "remittanceInformation": "Payment done via Provider API",
  • "beneficiary": {
    },
  • "remitter": {
    },
  • "risk": {
    },
  • "option": {
    },
  • "currency": "BGN"
}

Response samples

Content type
application/json; charset=utf-8
{}

Get a Single Payment Information

Authorizations:
path Parameters
paymentId
required
string <uuid>

ID of the payment in Provider API database (it's not customerPaymentId)

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "id": "e95fe48b-b811-4852-901e-34e858cf69db",
  • "customerPaymentId": "f929d718-1496-11eb-adc1-0242ac120002",
  • "type": "domestic-credit-transfer",
  • "amount": "0.01",
  • "beneficiaryIban": "BG009BPBI000003",
  • "beneficiaryName": "Vasya Gladush",
  • "remitterIban": "BG009BPBI000001",
  • "status": "pending",
  • "completedAt": null,
  • "createdAt": "2022-07-14T21:28:41.077Z",
  • "updatedAt": "2022-07-14T21:30:00.369Z",
  • "referenceNumber": "Test Payment",
  • "psuId": "vasyagladush",
  • "psuIpAddress": "192.128.0.1",
  • "remittanceInformation": "Payment done via Provider API",
  • "currency": null,
  • "provider": {
    }
}

Webhook

Create a Webhook

Authorizations:
header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Request Body schema: application/json
consentId
required
string

Consent ID

url
required
string

Your webhook URL

event
required
string
Enum: "ACCOUNT_ACCESS_CONSENT" "ACCOUNT" "ACCOUNTS" "ACCOUNT_BALANCES" "ACCOUNT_TRANSACTION" "ACCOUNT_TRANSACTIONS" "DOMESTIC_STANDING_ACCESS_CONSENT"

Event

product
required
string
Enum: "ACCOUNTS" "DOMESTIC_STANDING_PAYMENTS"

Product. Note: you can use 'ACCOUNTS' product for UK providers and also EU providers

Responses

Request samples

Content type
application/json
{
  • "consentId": "string",
  • "url": "string",
  • "event": "ACCOUNT_ACCESS_CONSENT",
  • "product": "ACCOUNTS"
}

Response samples

Content type
application/json; charset=utf-8
{
  • "message": "Request is completed successfully."
}

Get Webhook

Authorizations:
path Parameters
consentId
required
string <uuid>

ID of the consent the webhook was registered with

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "consentId": "string",
  • "url": "string",
  • "event": "ACCOUNT_ACCESS_CONSENT",
  • "product": "ACCOUNTS"
}

Delete a Webhook

Authorizations:
path Parameters
consentId
required
string <uuid>

ID of the consent the webhook was registered with

header Parameters
client_id
required
string <uuid>

Client clientId.

client_secret
required
string <uuid>

Client clientSecret.

Responses

Response samples

Content type
application/json; charset=utf-8
{
  • "message": "Request is completed successfully."
}