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