Before making a call to Premium API, you need to register your app at our Developer portal. This is where you get the ClientID that your application must send in the request as X-IBM-Client-Id. This is the key that grants your app access to the API.
However, this may not be enough. Your application needs to use mTLS to call most operations here. Thus, you not only need https but also a client certificate issued by us. The exception is two operations for FX rates that are accessible also without a client certificate.
Each bank client/user can issue several certificates. Each certificate can permit different sets of operations (http methods) on different bank accounts. All this must be configured in Internet Banking first by each bank client/user (bank clients need to look under Settings and do not forget to download the certificate at the last step). The certificate is downloaded in PKCS#12 format as *.p12 file and protected by a password chosen by the bank client/user. Yes, your app needs the password as well to get use of the *p12 file for establishing mTLS connection to the bank.
Client certificates issued in Internet Banking for bank clients/users have limited validity (e.g. 5 years). However, each year certificates are automatically blocked and bank client/user must unblock them in Internet Banking. It is possible to do it in advance and prolong the time before the certificate is blocked. Your app should be prepared for these scenarios and it should communicate such cases to your user in advance to provide seamless service and high user-experience of your app.
For testing purposes please download and use our test client certificate. The certificate password is Test12345678.
Rate Limiting
In production environment the request rate is limited according to your subscription plan. Therefore the consumer must be able to handle HTTP responses status 429 in case of exceeding these limits.
Response headers X-RateLimit-Limit-Second and X-RateLimit-Limit-Day show the actual limits configured for the specific operation. Response headers X-RateLimit-Remaining-Second and X-RateLimit-Remaining-Day are returned to help prevent the limits from being exceeded.
Notes
Be aware, that in certain error situations, API can return specific error structures along with 5xx status code, which is not explicitely defined below.
Quick Start Client
Feel free to download a simple Java client that gives you quick access to our API.
"x-headmatter:\n readable_by: []\nswagger: \"2.0\"\ninfo:\n version: 1.1.20240910\n title: Sandbox\n description: |\n Sandbox environment.\n\n ##### API Overview\n - Accounts list and balance\n - Transaction overview (also for saving accounts)\n - Payments import\n - Statement list and download\n - FX rates\n\n ##### Authentication\n Before making a call to Premium API, you need to register your app at our _Developer portal_. This is where you get the **ClientID** that your application must send in the request as `X-IBM-Client-Id`. This is the key that grants your app access to the API.\n\n However, this may not be enough. Your application needs to use mTLS to call most operations here. Thus, you not only need _https_ but also a client certificate issued by us. The exception is two operations for FX rates that are accessible also without a client certificate.\n\n Each bank client/user can issue several certificates. Each certificate can permit different sets of operations (http methods) on different bank accounts. All this must be configured in Internet Banking first by each bank client/user (bank clients need to look under _Settings_ and do not forget to download the certificate at the last step). The certificate is downloaded in **PKCS#12** format as **\\*.p12** file and protected by a password chosen by the bank client/user. Yes, your app needs the password as well to get use of the **\\*p12** file for establishing mTLS connection to the bank.\n\n Client certificates issued in Internet Banking for bank clients/users have limited validity (e.g. **5 years**). However, **each year** certificates are automatically blocked and bank client/user must unblock them in Internet Banking. It is possible to do it in advance and prolong the time before the certificate is blocked. Your app should be prepared for these scenarios and it should communicate such cases to your user in advance to provide seamless service and high user-experience of your app.\n\n For testing purposes please download and use our <a href=\"assets/test_cert.p12\" download> test client certificate</a>. The certificate password is <i>Test12345678</i>.\n\n ##### Rate Limiting\n In production environment the request rate is limited according to your subscription plan. Therefore the consumer must be able to handle HTTP responses status 429 in case of exceeding these limits.\n\n Response headers `X-RateLimit-Limit-Second` and `X-RateLimit-Limit-Day` show the actual limits configured for the specific operation. Response headers `X-RateLimit-Remaining-Second` and `X-RateLimit-Remaining-Day` are returned to help prevent the limits from being exceeded.\n\n ##### Notes\n Be aware, that in certain error situations, API can return specific error structures along with 5xx status code, which is not explicitely defined below.\n\n ##### Quick Start Client\n Feel free to download a <a href=\"assets/PremiumApiClient.java\" download>simple Java client</a> that gives you quick access to our API.\n x-ibm-name: rbczpremiumapi\nhost: \"api.rb.cz\"\nbasePath: /\nschemes:\n - https\npaths:\n \"/rbcz/premium/mock/accounts/{accountNumber}/balance\":\n get:\n description: >-\n Get balance for given accounts.\n operationId: getBalance\n produces:\n - application/json\n tags:\n - Get Account Balance\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: accountNumber\n in: path\n required: true\n type: string\n description: The number of account without prefix and bankCode\n responses:\n \"200\":\n description: Account with currencyFolders and balances.\n schema:\n description: Account with balances\n type: object\n properties:\n numberPart1:\n description: The prefix of the account number\n example: \"19\"\n type: string\n numberPart2:\n description: The account number without prefix\n example: \"6760653036\"\n type: string\n bankCode:\n description: The bank clearing code\n example: \"5500\"\n type: string\n currencyFolders:\n description: The available currency folders information.\n type: array\n items:\n type: object\n properties:\n currency:\n description: The currency of the currency folder\n example: CZK\n type: string\n status:\n description: \"The status of the currency folder (CATALOG: CURRENCYFOLDERSTATUS)\"\n example: ACTIVE\n type: string\n balances:\n description: the balances of the currencyFolder\n type: array\n items:\n type: object\n properties:\n balanceType:\n description: \"the balance type (CODEBOOK: AccountBalanceTypes)\"\n example: CLAB\n type: string\n currency:\n description: The currency of the balance\n type: string\n value:\n description: The balance amount\n example: 1000.5\n type: number\n format: double\n required:\n - balanceType\n - currency\n - value\n required:\n - currency\n - status\n required:\n - numberPart2\n - bankCode\n \"401\":\n description: Certificate's serial number is missing or certificate is in an invalid state.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - UNAUTHORISED\n error_description:\n type: string\n \"403\":\n description: Certficate is valid but user has no sufficient rights to access resource.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - INSUFFICIENT_RIGHTS\n error_description:\n type: string\n \"404\":\n description: Indicates that requested resource does not exist.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - ID_NOT_FOUND\n error_description:\n type: string\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\n \"/rbcz/premium/mock/accounts/{accountNumber}/{currencyCode}/transactions\":\n get:\n description: >-\n Get a list of posted transactions (including intraday). In addition,\n transactions must not be older than **90 days** - see request parameter\n `from`.\n\n\n The list is returned as a sequence of pages - see request parameter\n `page`. The request parameter/flag `lastPage` indicates whether the\n returned page is the last one or if there are more pages that you can\n iterate.\n\n\n When iterating pages of transactions, your app may need to implement \n some delay in order not to break the request rate limit.\n operationId: getTransactionList\n produces:\n - application/json\n tags:\n - Get Transaction List\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: accountNumber\n in: path\n required: true\n description: >-\n Account number for which to get list of transactions in national\n format without 0 padding.\n type: string\n pattern: \"[0-9]{1,10}\"\n maxLength: 10\n - name: currencyCode\n in: path\n required: true\n description: >-\n Currency code of the account in ISO-4217 standard (e.g. czk, eur,\n usd)\n type: string\n pattern: \"[A-Z]{1,3}\"\n maxLength: 3\n - name: from\n in: query\n required: true\n description: >-\n Defines date (and optionally time) from which transactions will be\n requested. If no time is specified then 00:00:00.0 (Central European \n Time) will be used.\n Example values - 2021-08-01 or 2021-08-01T10:00:00.0Z\n type: string\n format: date-time\n - name: to\n in: query\n required: true\n description: >-\n Defines date (and optionally time) until which transactions will be\n requested. If no time is specified then 23:59:59.999 (Central European \n Time) will be used.\n Example values - 2021-08-02 or 2021-08-02T14:00:00.0Z\n type: string\n format: date-time\n - name: page\n in: query\n description: Page number to be requested. The first page is 1.\n type: integer\n minimum: 1\n maximum: 99999\n responses:\n \"200\":\n description: \"\"\n schema:\n properties:\n lastPage:\n type: boolean\n description: Indication wheter the page is last - default false\n example: true\n transactions:\n description: \"An array of transactions.\"\n type: array\n items:\n type: object\n properties:\n entryReference:\n type: string\n description: Unique identification of the realized transaction.\n example: 3887196517\n amount:\n type: object\n properties:\n value:\n type: number\n format: double\n description: Amount of money\n example: -1668.59\n currency:\n type: string\n description: Currency code of the amount\n example: CZK\n required:\n - value\n - currency\n creditDebitIndication:\n type: string\n enum:\n - DBIT\n - CRDT\n example: DBIT\n bookingDate:\n type: string\n format: date-time\n description: Date of payment processing/posting by the bank.\n valueDate:\n type: string\n format: date-time\n description: >-\n Transaction date; value date; date which is used to\n count interest; e.g. date when money were withdrawn\n from ATM.\n bankTransactionCode:\n type: object\n properties:\n code:\n type: string\n description: >-\n Transaction code in ISO20022 camt.53 format\n (e.g. 10000101000 - Odchozi tuzemska platba).\n example: \"10000401000\"\n required:\n - code\n entryDetails:\n type: object\n properties:\n transactionDetails:\n type: object\n properties:\n references:\n type: object\n properties:\n endToEndIdentification:\n type: string\n description: >-\n Originator reference ID - End to End ID;\n The Originator's reference of the\n transaction\n example: EBGTF015477198\n instructedAmount:\n description: >-\n Original amount in original currency -\n before currency conversion.\n type: object\n properties:\n value:\n type: number\n format: double\n description: Amount of money\n example: 61\n currency:\n type: string\n description: Currency code of the amount\n example: EUR\n exchangeRate:\n type: number\n format: double\n example: 0.03656\n required:\n - value\n - currency\n chargeBearer:\n type: string\n enum:\n - DEBT\n - CRED\n - SHAR\n example: SHAR\n paymentCardNumber:\n type: string\n description: >-\n Masked payment card number, if the\n transaction is related to debit card.\n example: 547872XXXXXX9475\n relatedParties:\n type: object\n properties:\n counterParty:\n description: >-\n Information about counter party (debtor\n or creditor) - always the other side of\n the transaction.\n type: object\n properties:\n name:\n type: string\n description: Bank account name\n example: Firma Ltd.\n postalAddress:\n type: object\n properties:\n street:\n type: string\n description: Street or 2nd line of the address\n example: Na dlouh?m l?nu 35\n city:\n type: string\n description: City or 3nd line of the address\n example: Praha 6\n country:\n type: string\n description: Country code - 4th line of the address.\n example: CZ\n organisationIdentification:\n type: object\n properties:\n name:\n type: string\n example: Firma Ltd.\n bicOrBei:\n type: string\n description: SWIFT/BIC code of the bank.\n example: KOMBCZPP\n bankCode:\n type: string\n description: >-\n Proprietary bank code in local format\n (e.g. 5500) or in foreign format.\n example: \"0100\"\n postalAddress:\n type: object\n properties:\n street:\n type: string\n description: Street or 2nd line of the address\n example: Na dlouh?m l?nu 35\n city:\n type: string\n description: City or 3nd line of the address\n example: Praha 6\n shortAddress:\n type: string\n description: Short address\n example: \"Na dlouh?m l?nu 35, Praha, CZ\"\n country:\n type: string\n description: Country code - 4th line of the address.\n example: CZ\n account:\n type: object\n properties:\n iban:\n type: string\n description: >-\n IBAN code of the bank account if\n available\n example: CZ0801000000192000145399\n accountNumberPrefix:\n type: string\n description: >-\n Prefix part of the bank account number\n (only for czech accounts)\n example: 000019\n accountNumber:\n type: string\n description: >-\n Base part of the bank account number in\n czech fromat or in foreign format\n example: \"2000145399\"\n intermediaryInstitution:\n type: object\n properties:\n name:\n type: string\n example: \"Komer?n? banka, a.s.\"\n bicOrBei:\n type: string\n description: SWIFT/BIC code of the bank.\n example: KOMBCZPP\n bankCode:\n type: string\n description: >-\n Proprietary bank code in local format\n (e.g. 5500) or in foreign format.\n example: \"0100\"\n postalAddress:\n type: object\n properties:\n street:\n type: string\n description: Street or 2nd line of the address\n example: Na p??kop? 969/33\n city:\n type: string\n description: City or 3nd line of the address\n example: Praha 1\n shortAddress:\n type: string\n description: Short address\n example: \"Na p??kop? 969/33, Praha, CZ\"\n country:\n type: string\n description: Country code - 4th line of the address.\n example: CZ\n ultimateCounterParty:\n description: >-\n Ultimate debtor or Ultimate creditor -\n always the other end.\n type: object\n properties:\n name:\n type: string\n description: Bank account name\n example: CZ0801000000192000145399\n postalAddress:\n type: object\n properties:\n street:\n type: string\n description: Street or 2nd line of the address\n example: Na dlouh?m l?nu 35\n city:\n type: string\n description: City or 3nd line of the address\n example: Praha 6\n country:\n type: string\n description: Country code - 4th line of the address.\n example: CZ\n remittanceInformation:\n description: >-\n Information that allow match and pairing\n transactions or further identifies it.\n type: object\n properties:\n unstructured:\n type: string\n description: >-\n Information from or for counter party.\n Information for creditor.\n example: >-\n 61 EUR;FIRMA LTD;12345678 RADEK DVA\n RADEK TRI RADEK CTYRI\n creditorReferenceInformation:\n type: object\n properties:\n variable:\n type: string\n description: Variable symbol\n example: \"1234567890\"\n constant:\n type: string\n description: Constant symbol\n example: \"558\"\n specific:\n type: string\n description: Specific symbol\n example: \"1234567890\"\n originatorMessage:\n type: string\n description: >-\n Private description of the transaction.\n Only available to account holder.\n example: na?e platba\n required:\n - entryReference\n - amount\n - creditDebitIndication\n - bankTransactionCode\n minItems: 0\n \"204\":\n description: |\n Nonexisting page or empty content.\n \"400\":\n description: \"Bad request, validation error.\"\n schema:\n properties:\n error:\n type: string\n description: Invalid date. Parameter `from` must not be older than 90 days.\n enum:\n - DT01\n error_description:\n type: string\n \"401\":\n description: Certificate is invalid.\n schema:\n properties:\n error:\n type: string\n enum:\n - UNAUTHORISED\n error_description:\n type: string\n \"403\":\n description: No access rights to perform the operation.\n schema:\n properties:\n error:\n type: string\n enum:\n - INSUFFICIENT_RIGHTS\n error_description:\n type: string\n \"404\":\n description: \"\"\n schema:\n properties:\n error:\n type: string\n enum:\n - ID_NOT_FOUND\n error_description:\n type: string\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\n /rbcz/premium/mock/payments/batches:\n post:\n description: >-\n Importing batch payments in one of [supported\n formates](https://www.rb.cz/attachments/direct-banking/ekomunikator-datova-struktura.pdf)\n - see request parameter `Batch-Import-Format`.\n\n\n This is an API alternative to the manual import of batch payments through\n [Internet\n Banking](https://www.rb.cz/podnikatele/ucty-a-platebni-styk/prime-bankovnictvi/internetove-bankovnictvi/caste-dotazy/import-hromadnych-plateb).\n\n\n Imported payments are not immediately processed, they are just loaded into\n Internet Banking and they still must be authorized/certified in Internet\n Banking according to client settings of disposable rights and\n signatures.\n\n\n Once authorized/certified, uploaded payments will be processed in the\n Instant payments mode if the following conditions are met:\n\n 1. the batch has no more than 100 payments\n\n 2. no more than 10 batches per day were uploaded\n\n 3. individual payments meet the conditions for Instant payments - see\n [Instant\n Payments](https://www.rb.cz/informacni-servis/platebni-styk/tuzemske-platby/okamzite-platby)\n\n 4. on the weekend, only payments within our bank are processed as Instant payments\n\n\n The number of transactions in one request is limited to 15.000 (this can\n change without prior notice). The limit is not checked during the call, \n it is performed later and a possible error is provided in Internet Banking.\n operationId: importPayments\n produces:\n - application/json\n consumes:\n - text/plain\n tags:\n - Upload Payments\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: Batch-Import-Format\n in: header\n required: true\n description: Format of imported batch. For CCT format please use option SEPA-XML.\n type: string\n enum:\n - GEMINI-P11\n - GEMINI-P32\n - GEMINI-F84\n - ABO-KPC\n - SEPA-XML\n - CFD\n - CFU\n - CFA\n - name: Batch-Name\n in: header\n required: false\n description: >\n Batch name, if not present then will be generated in format\n `ImportApi_<DDMMYYYY>`. If the name is longer than 50 characters,\n it will be truncated\n type: string\n maxLength: 50\n - name: Batch-Combined-Payments\n in: header\n required: false\n description: >\n Optional header for combined payments. Payments inside the import file are considered\n as combined in case the header is present and its value is set to 'true'.\n type: boolean\n default: false\n - name: Batch-Autocorrect\n in: header\n required: false\n description: >\n Flag if valueDate should be autocorrected in the imported file or not. Autocorrection moved valueDate on first available valid \n (working) day. Beware that this may affect if the payment will be sent as instant or not since only payments with valueDate same as\n actual date (during sending of payment to bank) can be sent as instant.\n type: boolean\n default: true\n - name: request body\n required: true\n in: body\n schema:\n type: string\n description: >-\n Batch payment content in on of the supported formats - see\n parameter `Batch-Import-Format`\n example: INT00000120180914Test Banka...\n responses:\n \"200\":\n description: New batch with payments created\n schema:\n properties:\n batchFileId:\n description: ID of created batch file\n type: integer\n format: int64\n example: 1234\n \"400\":\n description: \"Bad request, validation error.\"\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - INVALID_BATCH_IMPORT_FORMAT\n - BATCH_CONTENT_INVALID\n - BATCH_ALREADY_IMPORTED\n description: >\n * INVALID_BATCH_IMPORT_FORMAT - Batch-Import-Format\n unsupported\n\n * BATCH_CONTENT_INVALID - Batch content doesn't match to\n declared Batch-Import-Format\n\n * BATCH_ALREADY_IMPORTED - Batch has already been imported\n (based on checksum)\n error_description:\n type: string\n \"401\":\n description: Certificate is invalid.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - UNAUTHORISED\n error_description:\n type: string\n \"403\":\n description: No access rights to perform the operation.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - INSUFFICIENT_RIGHTS\n error_description:\n type: string\n \"413\":\n description: Indicates that the request payload is too large\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - >-\n BATCH_CONTENT_SIZE_EXCEEDED - Content exceeds maximum of 200\n MB\n error_description:\n type: string\n \"415\":\n description: Unsupported media type\n schema:\n type: object\n properties:\n error:\n type: string\n error_description:\n type: string\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\n \"500\":\n description: Unexpected error.\n schema:\n type: object\n properties:\n error:\n type: string\n error_description:\n type: string\n \"/rbcz/premium/mock/payments/batches/{batchFileId}\":\n get:\n description: >-\n Getting details about state of processing of imported batch file and\n created batch transactions.\n\n\n All possible batch `status` values are: DRAFT, ERROR, FOR_SIGN, VERIFIED, PASSING_TO_BANK, PASSED, PASSED_TO_BANK_WITH_ERROR, UNDISCLOSED\n operationId: getBatchDetail\n produces:\n - application/json\n tags:\n - Get Batch Detail\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: batchFileId\n in: path\n required: true\n description: |\n Batch file id\n type: integer\n format: int64\n responses:\n \"200\":\n description: Batch payment detail.\n schema:\n properties:\n batchName:\n description: Batch name\n type: string\n example: Import_25102021\n batchFileStatus:\n description: Status of batch file import\n type: string\n enum:\n - DELETED\n - OK\n - UPLOADED\n - PROCESSING\n - ERROR\n example: OK\n createDate:\n description: The date when the batch was created\n type: string\n format: date\n example: \"2022-01-20\"\n batchItems:\n type: array\n items:\n properties:\n accountInfo:\n description: Account info detail\n type: object\n required:\n - accountId\n - accountNumber\n - mainCurrencyId\n properties:\n accountId:\n description: Account Id.\n type: integer\n format: int64\n example: 4\n accountNumberPrefix:\n description: Charged account number prefix\n type: string\n example: 000609\n accountNumber:\n description: Charged account number\n type: string\n example: 19\n mainCurrencyId:\n description: >-\n The currency folder identification (CATALOG:\n CURRENCIES)\n example: CZK\n type: string\n minLength: 3\n maxLength: 3\n numberOfPayments:\n description: Number of payments within the batch\n type: integer\n example: 1\n sumAmount:\n description: Sum amount\n type: number\n format: decimal\n example: 500\n sumAmountCurrencyId:\n description: \"The currency folder identification (CATALOG: CURRENCIES)\"\n example: CZK\n type: string\n minLength: 3\n maxLength: 3\n batchType:\n description: Batch transaction package payment type\n type: string\n enum:\n - DPO\n - DD\n - FPO\n - SEPA\n example: FPO\n status:\n description: Bacth transaction package status\n type: string\n enum:\n - DRAFT\n - ERROR\n - FOR_SIGN\n - VERIFIED\n - PASSING_TO_BANK\n - PASSED\n - PASSED_TO_BANK_WITH_ERROR\n - UNDISCLOSED\n example: PASSED\n assignedUserName:\n description: Name of user assigned to batch transaction package\n type: string\n example: Jon Doe\n lastChangeDateTime:\n description: >-\n Date and time of last change of batch transaction\n package\n type: string\n format: date-time\n example: \"2022-01-27T09:14:16+02:00\"\n \"400\":\n description: \"Bad request, validation error.\"\n schema:\n properties:\n error:\n type: string\n description: Invalid input.\n enum:\n - DT01\n error_description:\n type: string\n \"401\":\n description: Certificate is invalid.\n schema:\n properties:\n error:\n type: string\n enum:\n - UNAUTHORISED\n error_description:\n type: string\n \"403\":\n description: No access rights to perform the operation.\n schema:\n properties:\n error:\n type: string\n enum:\n - INSUFFICIENT_RIGHTS\n error_description:\n type: string\n \"404\":\n description: \"\"\n schema:\n properties:\n error:\n type: string\n enum:\n - ID_NOT_FOUND\n error_description:\n type: string\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\n \"/rbcz/premium/mock/accounts\":\n get:\n description: >-\n Get list of accounts for given certificate. First page is 1.\n tags:\n - Get Accounts\n operationId: getAccounts\n produces:\n - application/json\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: page\n description: Number of the requested page. Default is 1.\n in: query\n required: false\n type: integer\n format: int32\n - name: size\n description: Number of items on the page. Default is 15.\n in: query\n required: false\n type: integer\n format: int32\n responses:\n \"200\":\n description: \"\"\n schema:\n properties:\n accounts:\n description: \"An array of accounts.\"\n type: array\n items:\n type: object\n properties:\n accountId:\n type: integer\n description: The unique internal account id\n example: 3887\n accountName:\n description: The account name\n type: string\n friendlyName:\n description: The account nick name\n type: string\n accountNumber:\n description: The account number without prefix\n type: string\n example: 6760653036\n accountNumberPrefix:\n description: The account number prefix\n type: string\n iban:\n description: The account number in IBAN format\n type: string\n example: CZ1155000000006760653036\n bankCode:\n description: The bank clearing code\n type: string\n example: 5500\n bankBicCode:\n description: The bank BIC (SWIFT) code\n type: string\n example: RZBCCZPP\n mainCurrency:\n description: The main currency of the account\n type: string\n example: CZK\n accountTypeId:\n description: The account type\n type: string\n example: \"SAVINGS\"\n required:\n - accountId\n - accountNumber\n - bankCode\n page:\n description: actual returned page\n type: integer\n example: 1\n size:\n description: Number of items on the page\n type: integer\n example: 15\n first:\n description: true for first page\n type: boolean\n example: true\n last:\n description: true for last page\n type: boolean\n example: false\n totalPages:\n description: total number of pages\n type: integer\n example: 5\n totalSize:\n description: total number of items\n type: integer\n example: 30\n \"204\":\n description: |\n Nonexisting page or empty content.\n \"401\":\n description: Certificate is invalid.\n schema:\n properties:\n error:\n type: string\n enum:\n - UNAUTHORISED\n error_description:\n type: string\n \"403\":\n description: No access rights to perform the operation.\n schema:\n properties:\n error:\n type: string\n enum:\n - INSUFFICIENT_RIGHTS\n error_description:\n type: string\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\n \"/rbcz/premium/mock/accounts/statements\":\n post:\n description: >-\n Lists statements for all available accounts for which the client has appropriate access rights.\n tags:\n - Get Statement List\n operationId: getStatements\n produces:\n - application/json\n consumes:\n - application/json\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: page\n description: Number of the requested page. Default is 1.\n in: query\n required: false\n type: integer\n format: int32\n - name: size\n description: Number of items on the page. Default is 15.\n in: query\n required: false\n type: integer\n format: int32\n - name: request body\n required: true\n in: body\n schema:\n type: object\n description: Request values for list of a statements.\n required:\n - accountNumber\n properties:\n accountNumber:\n example: \"6761402079\"\n type: string\n currency:\n description: Currency of the requested currency folder.\n example: \"CZK\"\n type: string\n statementLine:\n description: Statement line identification.\n example: \"MT940\"\n type: string\n enum:\n - MAIN\n - ADDITIONAL\n - MT940\n dateFrom:\n description: Date limit from.\n example: \"2022-06-01\"\n type: string\n format: date\n dateTo:\n description: Date limit to.\n example: \"2022-11-10\"\n type: string\n format: date\n responses:\n \"200\":\n description: \"\"\n schema:\n properties:\n statements:\n description: \"An array of statements.\"\n type: array\n items:\n type: object\n properties:\n statementId:\n description: public id of the statement\n example: \"cdd84bca-a88d-4997-9673-7ea01406b0d4\"\n type: string\n accountId:\n description: account id\n type: integer\n example: 301\n statementNumber:\n description: number of the statement\n type: string\n example: 08/2015\n dateFrom:\n description: valid date from for statement\n type: string\n format: date\n example: \"2022-10-01\"\n dateTo:\n description: valid date to for statement\n type: string\n format: date\n example: \"2022-11-01\"\n currency:\n description: currency of the statement\n type: string\n example: \"CZK\"\n statementFormats:\n description: set of document available formats (always in upper case notation).\n type: array\n items:\n type: string\n example: \"PDF\"\n required:\n - statementId\n - accountId\n - statementNumber\n - dateFrom\n - dateTo\n - statementFormats\n page:\n description: Page number.\n type: integer\n format: int32\n example: 0\n size:\n description: Page size.\n type: integer\n format: int32\n example: 20\n first:\n description: Is this the first page?\n type: boolean\n example: true\n last:\n description: Is this the last page?\n type: boolean\n example: true\n totalPages:\n description: Total number of pages.\n type: integer\n format: int32\n example: 1\n totalSize:\n description: Total number of items.\n type: integer\n format: int32\n example: 2\n required:\n - statements\n - page\n - size\n - first\n - last\n - totalPages\n - totalSize\n \"204\":\n description: |\n Nonexisting page or empty content.\n \"400\":\n description: Bad request, validation error.\n schema:\n properties:\n error:\n type: string\n description: Invalid date.\n enum:\n - DT01\n error_description:\n type: string\n \"401\":\n description: Certificate is invalid.\n schema:\n properties:\n error:\n type: string\n enum:\n - UNAUTHORISED\n error_description:\n type: string\n \"403\":\n description: No access rights to perform the operation.\n schema:\n properties:\n error:\n type: string\n enum:\n - INSUFFICIENT_RIGHTS\n error_description:\n type: string\n \"404\":\n description: Indicates that requested resource does not exist.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - ID_NOT_FOUND\n error_description:\n type: string\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\n \"/rbcz/premium/mock/accounts/statements/download\":\n post:\n description: >-\n Download the selected statement.\n\n\n Returns one of the following `Content-type` header values depending on \n the downloaded document type: <code>application/pdf</code>, <code>application/xml</code>,\n <code>text/mt940</code>, <code>application/json</code> (in case of an error).\n tags:\n - Download Statement\n operationId: downloadStatement\n produces:\n - \"*/*\"\n consumes:\n - application/json\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: Accept-Language\n in: header\n required: true\n description: >-\n The Accept-Language request HTTP header is used to determine document \n language. Supported languages are `cs` and `en`.\n type: string\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: request body\n required: true\n in: body\n schema:\n type: object\n description: Request values for the statement download.\n properties:\n accountNumber:\n description: Number of the account without prefix and bank code.\n example: \"6761402079\"\n type: string\n currency:\n description: Currency of the requested currency folder.\n example: \"CZK\"\n type: string\n statementId:\n description: Public id of the statement.\n example: \"cdd84bca-a88d-4997-9673-7ea01406b0d4\"\n type: string\n statementFormat:\n description: The format of the statement.\n example: \"pdf\"\n type: string\n enum:\n - pdf\n - xml\n - MT940\n required:\n - accountNumber\n - statementId\n - statementFormat\n responses:\n \"200\":\n description: Document present and ready for download.\n schema:\n description: Statement file.\n type: string\n format: binary\n \"204\":\n description: Nonexisting page or empty content.\n \"400\":\n description: Bad request, validation error.\n schema:\n properties:\n error:\n type: string\n description: Invalid date.\n enum:\n - DT01\n error_description:\n type: string\n \"401\":\n description: Certificate is invalid.\n schema:\n properties:\n error:\n type: string\n enum:\n - UNAUTHORISED\n error_description:\n type: string\n \"403\":\n description: No access rights to perform the operation.\n schema:\n properties:\n error:\n type: string\n enum:\n - INSUFFICIENT_RIGHTS\n error_description:\n type: string\n \"404\":\n description: Indicates that requested resource does not exist.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - ID_NOT_FOUND\n error_description:\n type: string\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\n \"/rbcz/premium/mock/fxrates\":\n get:\n description: >-\n Returns foreign exchange rates for all available currencies.\n tags:\n - Get Fx Rates List\n operationId: getFxRatesList\n produces:\n - application/json\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: date\n description: >-\n The effective date for which the FX rates list is requested.\n Will default to **now** when not specified.\n in: query\n required: false\n type: string\n format: date\n responses:\n \"200\":\n description: Foreign exchange rates for all available currencies.\n schema:\n $ref: \"#/definitions/CurrencyListSimple\"\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\n \"/rbcz/premium/mock/fxrates/{currencyCode}\":\n get:\n description: >-\n Returns foreign exchange rates for the given currency code.\n tags:\n - Get Fx Rates\n operationId: getFxRates\n produces:\n - application/json\n parameters:\n - name: X-IBM-Client-Id\n in: header\n required: true\n description: >-\n ClientID obtained from Developer Portal - when you registered your\n app with us.\n type: string\n - name: X-Request-Id\n in: header\n required: true\n description: >-\n Unique request id provided by consumer application for reference and\n auditing.\n type: string\n pattern: '[a-zA-Z0-9\\-_:]{1,60}'\n maxLength: 60\n - name: PSU-IP-Address\n in: header\n description: >-\n IP address of a client - the end IP address of the client\n application (no server) in IPv4 or IPv6 format. If the bank client\n (your user) uses a browser by which he accesses your server app, we\n need to know the IP address of his browser. Always provide the\n closest IP address to the real end-user possible.\n type: string\n maxLength: 39\n - name: currencyCode\n in: path\n description: The foreign currency code in ISO-4217 format.\n required: true\n type: string\n minLength: 3\n maxLength: 3\n - name: date\n description: >-\n The effective date for which the FX rates are requested.\n Will default to **now** when not specified.\n in: query\n required: false\n type: string\n format: date\n responses:\n \"200\":\n description: Foreign exchange rates for the given currency.\n schema:\n $ref: \"#/definitions/CurrencyListSimple\"\n \"429\":\n description: User has sent too many requests in a given amount of time.\n schema:\n type: object\n properties:\n error:\n type: string\n enum:\n - TOO_MANY_REQUESTS\n error_description:\n type: string\ndefinitions:\n CurrencyListSimple:\n type: object\n required:\n - exchangeRateLists\n properties:\n exchangeRateLists:\n type: array\n items:\n $ref: \"#/definitions/ExchangeRateList\"\n ExchangeRateList:\n type: object\n required:\n - effectiveDateFrom\n - tradingDate\n - ordinalNumber\n - lastRates\n - exchangeRates\n properties:\n effectiveDateFrom:\n type: string\n format: date-time\n effectiveDateTo:\n type: string\n format: date-time\n tradingDate:\n type: string\n format: date-time\n ordinalNumber:\n type: integer\n format: int32\n lastRates:\n type: boolean\n exchangeRates:\n type: array\n items:\n $ref: \"#/definitions/ExchangeRate\"\n ExchangeRate:\n type: object\n required:\n - currencyFrom\n - currencyTo\n - exchangeRateBuy\n - exchangeRateBuyCash\n - exchangeRateCenter\n - exchangeRateCenterChange\n - exchangeRateSell\n - exchangeRateSellCash\n - exchangeRateSellCenter\n - exchangeRateSellCenterPrevious\n - quotationType\n - unitsFrom\n properties:\n countryFlagPath:\n type: string\n currencyFrom:\n type: string\n minLength: 3\n maxLength: 3\n currencyTo:\n type: string\n minLength: 3\n maxLength: 3\n exchangeRateBuy:\n type: number\n format: double\n exchangeRateBuyCash:\n type: number\n format: double\n exchangeRateCenter:\n type: number\n format: double\n exchangeRateCenterChange:\n type: number\n format: double\n exchangeRateSell:\n type: number\n format: double\n exchangeRateSellCash:\n type: number\n format: double\n exchangeRateSellCenter:\n type: number\n format: double\n exchangeRateSellCenterPrevious:\n type: number\n format: double\n exchangeRateEcbRate:\n type: number\n format: double\n exchangeRateEcbVariation:\n type: number\n format: double\n fixedCountryCode:\n type: string\n fixedCountryName:\n type: string\n quotationType:\n type: string\n unitsFrom:\n type: integer\n format: int32\n variableCountryCode:\n type: string\n variableCountryName:\n type: string\n"