Skip to content

IRIS (IrisPay) — API Reference

IrisPay API V6 — 104 endpoints across 10 areas. Production developer.irispay.bg · Sandbox developer.sandbox.irispay.bg. Interactive: the API page.

Account information (32)

GET /api/6/balance/{ibanId}

Gets the user's balance, use the ibanId from the user's IBAN accounts API

Param In Required
x-user-hash header True
ibanId path True

POST /api/6/bank/{bankHash}

Gives bank SCA details necessary for the frontends to draw inputs or make redirects

Param In Required
bankHash path True
bankFlowType query False
x-user-hash header True
User-Agent header False

GET /api/6/banks

Lists the banks

Param In Required
x-user-hash header True

POST /api/6/consent

Creates consent, start from here to add user's IBANs

Param In Required
x-user-hash header True
User-Agent header False

GET /api/6/consents/{ibanId}

Calls the bank for consents

Param In Required
ibanId path True
x-user-hash header True

DELETE /api/6/iban/{ibanId}

Deletes user's IBAN account

Param In Required
x-user-hash header True
ibanId path True

GET /api/6/ibans

Lists the user's IBAN accounts

Param In Required
x-user-hash header True
consent-details header False

GET /api/6/transactions/{ibanId}

Lists the user's transacations, use the ibanId from the user's IBAN accounts API

Param In Required
x-user-hash header True
ibanId path True
dateFrom query False
dateTo query False

GET /api/6/transactions/{ibanId}/{transactionId}

Returns transactions details by transactionId

Param In Required
x-user-hash header True
ibanId path True
transactionId path True

GET /api/7/balance/{ibanId}

Gets the user's balance, use the ibanId from the user's IBAN accounts API

Param In Required
x-user-hash header True
ibanId path True

POST /api/7/bank/{bankHash}

Gives bank SCA details necessary for the frontends to draw inputs or make redirects

Param In Required
bankHash path True
bankFlowType query False
x-user-hash header True
User-Agent header False

GET /api/7/banks

Lists the banks

Param In Required
x-user-hash header True
country query False

POST /api/7/consent

Creates consent, start from here to add user's IBANs

Param In Required
x-user-hash header True
User-Agent header False

GET /api/7/consents/{ibanId}

Calls the bank for consents

Param In Required
ibanId path True
x-user-hash header True

DELETE /api/7/iban/{ibanId}

Deletes user's IBAN account

Param In Required
x-user-hash header True
ibanId path True

GET /api/7/ibans

Lists the user's IBAN accounts

Param In Required
x-user-hash header True
consent-details header False

GET /api/7/transactions/{ibanId}

Lists the user's transacations, use the ibanId from the user's IBAN accounts API

Param In Required
x-user-hash header True
ibanId path True
dateFrom query False
dateTo query False

GET /api/7/transactions/{ibanId}/{transactionId}

Returns transactions details by transactionId

Param In Required
x-user-hash header True
ibanId path True
transactionId path True

GET /api/8/account-list

Lists the IBAN and owner name of the user's enumerated accounts (one-shot account-list consent)

Param In Required
x-user-hash header True

GET /api/8/balance/{ibanId}

Gets the user's balance, use the ibanId from the user's IBAN accounts API

Param In Required
x-user-hash header True
ibanId path True

POST /api/8/bank/{bankHash}

Gives bank SCA details necessary for the frontends to draw inputs or make redirects

Param In Required
bankHash path True
bankFlowType query False
x-user-hash header True
User-Agent header False

GET /api/8/banks

Lists the banks

Param In Required
x-user-hash header True
country query False

GET /api/8/banks/{bankHash}

Get bank by bank hash

Param In Required
x-user-hash header True
country query False
bankHash path True

POST /api/8/consent

Creates consent, start from here to add user's IBANs

Param In Required
x-user-hash header True
User-Agent header False

GET /api/8/consents/{ibanId}

Calls the bank for consents

Param In Required
ibanId path True
x-user-hash header True

DELETE /api/8/iban/{ibanId}

Deletes user's IBAN account

Param In Required
x-user-hash header True
ibanId path True

GET /api/8/ibans

Lists the user's IBAN accounts

Param In Required
x-user-hash header True
consent-details header False

GET /api/8/paged-transactions/{ibanId}

Lists the user's transacations with pagination based on the bank's pagination, use the ibanId from the user's IBAN accounts API. Currently available with UBB, Unicredit and Revolut

Param In Required
x-agent-hash header False
x-user-hash header True
ibanId path True
dateFrom query False
dateTo query False
nextPageUrl query False

GET /api/8/tokens

Lists the tokens

Param In Required
x-user-hash header True
country query False

GET /api/8/transactions/{ibanId}

Lists the user's transacations, use the ibanId from the user's IBAN accounts API

Param In Required
x-agent-hash header False
x-user-hash header True
ibanId path True
dateFrom query False
dateTo query False

GET /api/8/transactions/{ibanId}/{transactionId}

Single transaction details, get the transactionId from the transactions API

Param In Required
x-user-hash header True
ibanId path True
transactionId path True

POST /redirect/{app}/state/{state}

This endpoint should be called by the bank at the last step of the user's authorization Transcard send post request

Param In Required
app path True
state path True

Agents (23)

POST /api/6/createhook

*Registers a web hook. * You will be called back if there is a result about the adding IBAN or payment proess. Use the return web hook hash in the APIs for adding IBAN accounts, making payments or in the UI API.The state variable would be a unique string which we will append as a URL param when calling you.

GET /api/6/id/status

Check the KYC status of a user

Param In Required
x-user-hash header True

PUT /api/6/redirect

Adds redirect url to a registered hook Once a process of adding an IBAN or making payment has finished you can be redirected to a link you provide

Param In Required
hookhash query True
redirectUrl query True

POST /api/6/signup

Signs up a customer. You need to be IrisPay agent

POST /api/6/usertoken

Create a time-limited user token.

Param In Required
x-user-hash header True

POST /api/7/createhook

Registers a webhook to be executed after finishing a payment

GET /api/7/id/status

Check the KYC status of a user

Param In Required
x-user-hash header True

PUT /api/7/redirect

Adds redirect url to a registered hook Once a process of adding an IBAN or making payment has finished you can be redirected to a link you provide

Param In Required
hookhash query True
redirectUrl query True

POST /api/7/signup

Signs up a customer. You need to be IrisPay agent

POST /api/7/signup/agent

Signs up an agent

POST /api/7/usertoken

Create a time-limited user token.

Param In Required
x-user-hash header True

POST /api/8/agent/ais/email

Will send email with AIS link for user with active rights

Param In Required
x-agent-hash header False
x-user-hash header True

DELETE /api/8/agent/user

Mark user as deleted

Param In Required
x-agent-hash header True
x-user-hash header True

POST /api/8/agent/user/check

Check user hash by email

Param In Required
x-agent-hash header True

GET /api/8/agent/users

Lists the users registered by agent paginated

Param In Required
x-agent-hash header False
page query False
size query False
dateFrom query False
dateTo query False
text query False

GET /api/8/consent/iban/{iban}

Consent details

Param In Required
x-agent-hash header True
iban path True

POST /api/8/createhook

Registers a webhook to be executed after finishing a payment

GET /api/8/id/status

Check the KYC status of a user

Param In Required
x-user-hash header True

PUT /api/8/redirect

Adds redirect url to a registered hook Once a process of adding an IBAN or making payment has finished you can be redirected to a link you provide

Param In Required
hookhash query True
redirectUrl query True

POST /api/8/signup

Signs up a customer. You need to be IrisPay agent

POST /api/8/signup/agent

Signs up an agent

POST /api/8/usertoken

Create a time-limited user token.

Param In Required
x-user-hash header True

POST /api/9/createhook

Create hook

Param In Required
x-public-hash header False

Payment audit (1)

GET /api/9/audit-by-bank

Simple payment audits by bank (count and sum)

Param In Required
x-agent-hash header True
dateFrom query True
dateTo query True

Payment initiation (36)

POST /api/6/budget-request

Create budget payment request with budget payment details The requesting party should add some additional budget details in the request.The payment will be created and sent. The SCA will be initiated the same way as in the other create order method. The method will return a code, that can be used to check for payment status.

Param In Required
x-user-hash header True

POST /api/6/payment

After you've got the code from the payment request call, confirm the payment here

Param In Required
x-user-hash header True
User-Agent header False

PUT /api/6/payment

After you've got the code from the payment request call, confirm the payment here

Param In Required
x-user-hash header True
User-Agent header False

POST /api/6/payment/iban

Create payment transfer Creates payment transfer to IBAN. Check if the IBAN you are paying from has authorization by calling payment/ibans/{ibanId}. If you don't have authorization then call payment/sca/{ibanId} and follow the instructions. If you have authorization simply confirm by calling the payment api.If you need to be notified with a webhook, call the register webhook agent API and use the hookHash here.

Param In Required
x-user-hash header True

GET /api/6/payment/ibans/{ibanId}

Call this to check if you have authorization for making payments. If the flag is false, that you dont have and need to get one by calling the payment/sca/{ibanId} API.

Param In Required
x-user-hash header True
ibanId path True

POST /api/6/payment/sca/{ibanId}

*Returns details about how to get payment authorization. *

Param In Required
x-user-hash header True
ibanId path True

GET /api/6/payment/status

Check the payment status here by using your code

Param In Required
x-user-hash header True
code query True

POST /api/7/budget-request

Create budget payment request with budget payment details The requesting party should add some additional budget details in the request.The payment will be created and sent. The SCA will be initiated the same way as in the other create order method. The method will return a code, that can be used to check for payment status.

Param In Required
x-user-hash header True

POST /api/7/budget-request/no-iban

Initiates a budget payment and no adding ibans is required

Param In Required
x-user-hash header True
User-Agent header False

POST /api/7/payment

After you've got the code from the payment request call, confirm the payment here

Param In Required
x-user-hash header True
User-Agent header False

PUT /api/7/payment

After you've got the code from the payment request call, confirm the payment here

Param In Required
x-user-hash header True
User-Agent header False

POST /api/7/payment/direct

Create direct payment transfer Creates payment transfer to IBAN without consent.If you need to be notified with a webhook, call the register webhook agent API and use the hookHash here.

Param In Required
x-user-hash header True
User-Agent header False

POST /api/7/payment/iban

Create payment transfer Creates payment transfer to IBAN. Check if the IBAN you are paying from has authorization by calling payment/ibans/{ibanId}. If you don't have authorization then call payment/sca/{ibanId} and follow the instructions. If you have authorization simply confirm by calling the payment api.If you need to be notified with a webhook, call the register webhook agent API and use the hookHash here.

Param In Required
x-user-hash header True

GET /api/7/payment/ibans/{ibanId}

Call this to check if you have authorization for making payments. If the flag is false, that you dont have and need to get one by calling the payment/sca/{ibanId} API.

Param In Required
x-user-hash header True
ibanId path True

POST /api/7/payment/sca/{ibanId}

*Returns details about how to get payment authorization. *

Param In Required
x-user-hash header True
ibanId path True

GET /api/7/payment/status

Check the payment status here by using your code

Param In Required
x-user-hash header True
code query True

POST /api/7/payments

Gets list of payments sorted by given criteria

Param In Required
x-agent-hash header True

GET /api/7/status/{hookHash}

Gets the status of a single payment by hook hash

Param In Required
x-agent-hash header True
hookHash path True
lng query False

POST /api/8/budget-request

Create budget payment request with budget payment details The requesting party should add some additional budget details in the request.The payment will be created and sent. The SCA will be initiated the same way as in the other create order method. The method will return a code, that can be used to check for payment status.

Param In Required
x-user-hash header True

POST /api/8/budget-request/no-iban

Initiates a budget payment and no adding ibans is required

Param In Required
x-user-hash header True
User-Agent header False

POST /api/8/bulk-payments/budget-payment

Initiates a bulk budget payment The requesting party should add some additional budget details in the bulk entries. Accepted values for regulatoryReportType are: "1", "2", "3", "4", "5", "6", "9". 1 - Declaration, 2 - Inspection Act, 3 - Penalty Decree, 4 - advance payment, 5 - batch property number, 6 - enforced collection order, 9 - others.Payment category pattern: ^[0-9]{6}?$ . Example: 110000 - tax

Param In Required
x-user-hash header True
User-Agent header False

POST /api/8/bulk-payments/budget-request

Initiates a bulk budget payment with already added bank account id The requesting party should add some additional budget details in the bulk entries. Accepted values for regulatoryReportType are: "1", "2", "3", "4", "5", "6", "9". 1 - Declaration, 2 - Inspection Act, 3 - Penalty Decree, 4 - advance payment, 5 - batch property number, 6 - enforced collection order, 9 - others.Payment category pattern: ^[0-9]{6}?$ . Example: 110000 - tax

Param In Required
x-user-hash header True
User-Agent header False

POST /api/8/bulk-payments/payment

Initiates a bulk payment

Param In Required
x-user-hash header True
User-Agent header False

POST /api/8/bulk-payments/request

Initiates a bulk payment with already added bank account id

Param In Required
x-user-hash header True
User-Agent header False

GET /api/8/bulk-payments/status/{hookHash}

Gets the status of a bulk payment by hook hash

Param In Required
x-agent-hash header True
hookHash path True

POST /api/8/payment

After you've got the code from the payment request call, confirm the payment here

Param In Required
x-user-hash header True
User-Agent header False

PUT /api/8/payment

After you've got the code from the payment request call, confirm the payment here

Param In Required
x-user-hash header True
User-Agent header False

POST /api/8/payment/direct

Create direct payment transfer Creates payment transfer to IBAN without consent.If you need to be notified with a webhook, call the register webhook agent API and use the hookHash here.

Param In Required
x-user-hash header True
User-Agent header False

POST /api/8/payment/direct-initiate

Create and start a direct payment transfer, returning the SCA URL and SCA method Creates payment transfer to IBAN without consent. Then it calls the bank for executing it and waits for the SCA URL.If you need to be notified with a webhook, call the register webhook agent API and use the hookHash here.

Param In Required
x-user-hash header True
User-Agent header False

POST /api/8/payment/iban

Create payment transfer Creates payment transfer to IBAN. Check if the IBAN you are paying from has authorization by calling payment/ibans/{ibanId}. If you don't have authorization then call payment/sca/{ibanId} and follow the instructions. If you have authorization simply confirm by calling the payment api.If you need to be notified with a webhook, call the register webhook agent API and use the hookHash here.

Param In Required
x-user-hash header True

GET /api/8/payment/ibans/{ibanId}

Call this to check if you have authorization for making payments. If the flag is false, that you dont have and need to get one by calling the payment/sca/{ibanId} API.

Param In Required
x-user-hash header True
ibanId path True

POST /api/8/payment/sca/{ibanId}

*Returns details about how to get payment authorization. *

Param In Required
x-user-hash header True
ibanId path True

GET /api/8/payment/status

Check the payment status here by using your code

Param In Required
x-user-hash header True
code query True

PUT /api/8/payment/verify-sms

Confirm payment with sms

Param In Required
x-user-hash header True
User-Agent header False

POST /api/8/payments

Gets list of payments sorted by given criteria

Param In Required
x-agent-hash header True

GET /api/8/status/{hookHash}

Gets the status of a single payment by hook hash

Param In Required
x-agent-hash header True
hookHash path True
lng query False

Reports (5)

POST /api/8/bulk-payments/search

Gets list of bulk payments with their entries sorted by given criteria

POST /api/8/payments/search-last-updated

Gets list of payments filtered by given criteria (multiple statuses (CONFIRMED/FAILED/WAITING) and sorted by date of last status)

POST /api/8/reports/active-users

Gets active users report

Param In Required
x-agent-hash header True

POST /api/8/reports/active-users-details

Gets active users details report

Param In Required
x-agent-hash header True

GET /api/8/reports/bank-maintenance

Get current maintenance messages of banks

admin-cache-controller (1)

POST /api/8/cache/initial/{bankAccountId}

Param In Required
x-agent-hash header True
bankAccountId path True

api-v-6-controller (2)

GET /api/6/.well-known/jwks.json

GET /api/6/.well-known/jwks.json2

api-v-8-controller (1)

POST /api/8/kyc/update

Param In Required
x-agent-hash header True

c-gate-controller (2)

POST /api/cgate/consents-request

Param In Required
x-admin-hash header True
x-agent-hash header True

GET /api/cgate/consents-request/{userHash}

Param In Required
x-admin-hash header True
userHash path True
fulfilled query False

c-gate-ui-controller (1)

GET /api/cgate/ui/consents-request

Param In Required
x-user-hash header True