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
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
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