Skip to main content

Readiness Test Cases - Account & Payment Services

This page lists all test cases executed by the bLink Readiness Check against a Service Provider's API implementation. Each test validates a specific aspect of the API behavior against the respective API specification.

How tests are organized

Tests are grouped by endpoint resource (e.g. Accounts, Balance, Transactions, Diagnostics, ISO 20022 Statements & Reports). The Readiness Check executes both positive tests (valid requests and expected payloads) and negative tests (invalid input and expected error handling).

The Syntax Readiness Check covers only a subset of the test scenarios listed on this page. The full range of scenarios is only covered by the Extended Readiness Check.

In addition to status codes, content attributes in the response payload are validated against specific rules per test. The detailed assertions can be looked up in the Readiness Report, where non-conforming attributes are highlighted in red.

AIS v6

Accounts

Test IDTest ScenarioExpected StatusExpected Content
AIS-V6-ACCTS-01GET /accounts without parameters200List structure and required attributes valid
AIS-V6-ACCTS-02GET /accounts with limit=1200Cursor pagination via X-Next-Cursor until empty
AIS-V6-ACCTS-03GET /accounts with limit=100200Cursor pagination via X-Next-Cursor until empty
AIS-V6-ACCTS-04GET /accounts with invalid cursor (SIX123)400Problem type /problems/INVALID_PAYLOAD
Test IDTest ScenarioExpected StatusExpected Content
AIS-V6-ACCT-01GET /accounts/{validAccountId}200Object structure and required attributes valid
AIS-V6-ACCT-02GET /accounts/{nonExistingAccountId}403 / 404Problem type /problems/INSUFFICIENT_PRIVILEGES
AIS-V6-ACCT-03GET /accounts/{unauthorizedAccountId}403 / 404Problem type /problems/INSUFFICIENT_PRIVILEGES or EXPIRED_TOKEN

Accounts - Balance

Test IDTest ScenarioExpected StatusExpected Content
AIS-V6-BAL-01GET /balance without parameters200balanceType: ITBD
AIS-V6-BAL-02GET /balance with date=sameDay200 / 202balanceType: ITBD, date: today
AIS-V6-BAL-03GET /balance with date=previousWorkingDay200 / 202balanceType: CLBD or status 202 if not finalized
AIS-V6-BAL-04GET /balance with date=previous7Days200 / 204If 200: balanceType: CLBD, date matches request
AIS-V6-BAL-05GET /balance with date=previousYear200 / 204If 200: balanceType: CLBD, date matches request
AIS-V6-BAL-06GET /balance with date=previous2Year200 / 204If 200: balanceType: CLBD, date matches request
AIS-V6-BAL-07GET /balance with date=previous5Year200 / 204If 200: balanceType: CLBD, date matches request
AIS-V6-BAL-08GET /balance with date=nextDay (future date)202 / 400Problem type /problems/INVALID_PAYLOAD or MALFORMED_PAYLOAD
AIS-V6-BAL-09GET /balance for {nonExistingAccountId}403 / 404Problem type /problems/INSUFFICIENT_PRIVILEGES
AIS-V6-BAL-10GET /balance for {unauthorizedAccountId}403 / 404Problem type /problems/INSUFFICIENT_PRIVILEGES

Accounts - Transactions

Test IDTest ScenarioExpected StatusExpected Content
AIS-V6-TRAN-01GET /transactions without date, entryStatus=both200List structure and required attributes valid
AIS-V6-TRAN-02GET /transactions without date, entryStatus=booked200Only booked entries returned, required attributes valid
AIS-V6-TRAN-03GET /transactions without date, entryStatus=pending200Only pending entries returned, required attributes valid
AIS-V6-TRAN-04GET /transactions with dateFrom=sameDay, dateTo=sameDay202Request accepted, day not yet finalized
AIS-V6-TRAN-05GET /transactions for last 2 years, limit=1000200Cursor pagination via X-Next-Cursor until empty
AIS-V6-TRAN-06GET /transactions for last 2 years, limit=1200Cursor pagination via X-Next-Cursor until empty
AIS-V6-TRAN-07GET /transactions for last 6 years, limit=100200Cursor pagination via X-Next-Cursor until empty
AIS-V6-TRAN-08GET /transactions for range out of supported history, limit=100200 / 204Empty list or 204
AIS-V6-TRAN-09GET /transactions with invalid cursor (SIX123)400 / 404Problem type /problems/INVALID_PAYLOAD
AIS-V6-TRAN-10GET /transactions for {nonExistingAccountId}403 / 404Problem type /problems/INSUFFICIENT_PRIVILEGES
AIS-V6-TRAN-11GET /transactions for {unauthorizedAccountId}403 / 404Problem type /problems/INSUFFICIENT_PRIVILEGES
AIS-V6-TRAN-12Request invalid endpoint (e.g. /transactions({test}))404Resource not found

Accounts - AccountId cross-version validation

Test IDTest ScenarioExpected StatusExpected Content
AIS-V6-ACCTID-01GET /accounts for AIS v5 and AIS v6 and validate AccountID consistency200accountId values returned are identical across both API versions

Diagnostics

Test IDTest ScenarioExpected StatusExpected Content
AIS-V6-DIAG-01GET /healthcheck with different headers200receivedHeaders reflects X-Correlation-ID and X-CorAPI-Target-ID
AIS-V6-DIAG-02GET /healthcheck with different headers200receivedHeaders reflects request headers; authorization header is null
AIS-V6-DIAG-03POST /healthcheck405Problem type /problems/WRONG_METHOD

ISO 20022 Statements & Reports

Test IDTest ScenarioExpected StatusExpected Content
AIS-V6-ISO-00GET /statements without parameters200List structure and required attributes valid
AIS-V6-ISO-01GET /statements with dateFrom=previous2Year, dateTo=yesterday, limit=1200Cursor pagination via X-Next-Cursor until empty
AIS-V6-ISO-02GET /statements with dateFrom=previous2Year, dateTo=sameDay, limit=1200Cursor pagination via X-Next-Cursor until empty
AIS-V6-ISO-03GET /statements without date parameters, limit=100200Cursor pagination via X-Next-Cursor until empty
AIS-V6-ISO-04GET /statements with dateFrom=sameDay, dateTo=sameDay, limit=10200Cursor pagination via X-Next-Cursor until empty
AIS-V6-ISO-05GET /statements with invalid cursor (SIX123)400 / 404Problem type for invalid cursor
AIS-V6-ISO-07GET /statements/{validReportId}200Statement conforms to schema camt.053.001.08
AIS-V6-ISO-08GET /statements/{invalidReportId}404Problem type /problems/RESOURCE_DOES_NOT_EXIST
AIS-V6-ISO-09GET /reports without parameters200List structure and required attributes valid
AIS-V6-ISO-10GET /reports/{validReportId}200Report conforms to schema camt.052.001.08

PSS v6

Consents

Test IDTest ScenarioExpected StatusExpected Content
PSS-V6-CONS-01GET /consents without parameters200List structure and required attributes valid
PSS-V6-CONS-02GET /consents with limit=1200Cursor pagination via X-Next-Cursor until empty
PSS-V6-CONS-03GET /consents with limit=100200Cursor pagination via X-Next-Cursor until empty
PSS-V6-CONS-04GET /consents with invalid cursor (SIX123)400 / 404Problem type /problems/INVALID_PAYLOAD or /problems/RESOURCE_DOES_NOT_EXIST
PSS-V6-CONS-05GET /consents with invalid token401Problem type /problems/INVALID_TOKEN; error detail in WWW-Authenticate header (not null)

Diagnostics

Test IDTest ScenarioExpected StatusExpected Content
PSS-V6-DIAG-01GET /healthcheck with different headers200receivedHeaders reflects X-Correlation-ID and X-CorAPI-Target-ID
PSS-V6-DIAG-02GET /healthcheck with different headers200receivedHeaders reflects request headers; authorization header is null
PSS-V6-DIAG-03POST /healthcheck with different headers200receivedHeaders reflects X-Correlation-ID and X-CorAPI-Target-ID
PSS-V6-DIAG-04POST /healthcheck with different headers200receivedHeaders reflects X-Correlation-ID, X-CorAPI-Target-ID and x-psu-ip-address

Payments (ISO20022 / XML)

Test IDTest ScenarioExpected StatusExpected Content
PSS-V6-ISO-01POST /iso20022/payments, type D with SCOR reference, endToEndId=XML-DV1-001, executionDate=previousWorkingDay → GET /status201 → 200submissionId in body and Location header; submission status ACCP, ACTC, ACWC, ACSC or RCVD
PSS-V6-ISO-02POST /iso20022/payments, bulk type D with combined QRR+SCOR references, endToEndId=XML-DV1-003 and XML-DV1-004, executionDate=sameDay → GET /status201 → 200submissionId returned; submission status ACCP, ACTC, ACWC, ACSC or RCVD
PSS-V6-ISO-03POST /iso20022/payments, type D with QRR reference, endToEndId=XML-DV1-002, executionDate=previousWorkingDay → GET /status201 → 200submissionId returned; submission status ACCP, ACTC, ACWC, ACSC or RCVD
PSS-V6-ISO-04POST /iso20022/payments, type S (SEPA), endToEndId=XML-S01-001, executionDate=previousWorkingDay → GET /status201 → 200submissionId returned; submission status ACCP, ACTC, ACWC, ACSC or RCVD
PSS-V6-ISO-05POST /iso20022/payments with invalid payload400Problem type /problems/INVALID_PAYLOAD
PSS-V6-ISO-06POST /iso20022/payments with invalid debtorAccount → if 201, GET /status403 or 201 → 200If 403: rejected at submission. If 201: GET /status returns statusCode: RJCT
PSS-V6-ISO-07GET /iso20022/payments/{invalidSubmissionId}/status (e.g. SixTest_*)404Problem type /problems/RESOURCE_DOES_NOT_EXIST

Payments (JSON)

Test IDTest ScenarioExpected StatusExpected Content
PSS-V6-PAYM-01POST /payments, type D with SCOR reference, endToEndId=JSON-DV1-001, executionDate=previousWorkingDay → GET /status201 → 200submissionId in body and Location header; submission status ACCP or RCVD
PSS-V6-PAYM-02POST /payments, bulk type D with combined QRR+SCOR references, endToEndId=JSON-DV1-003 and JSON-DV1-004, executionDate=sameDay → GET /status201 → 200submissionId returned; submission status ACCP or RCVD
PSS-V6-PAYM-03POST /payments, type D with QRR reference, endToEndId=JSON-DV1-002, executionDate=previousWorkingDay → GET /status201 → 200submissionId returned; submission status ACCP or RCVD
PSS-V6-PAYM-04POST /payments, type S (SEPA), endToEndId=JSON-S01-001, executionDate=previousWorkingDay → GET /status201 → 200submissionId returned; submission status ACCP or RCVD
PSS-V6-PAYM-05POST /payments, max allowed characters, endToEndId=JSON-MAX-001, executionDate=previousWorkingDay → GET /status201 → 200submissionId returned; submission status ACCP or RCVD
PSS-V6-PAYM-06POST /payments with invalid payload400Problem type /problems/INVALID_PAYLOAD
PSS-V6-PAYM-07POST /payments with invalid or expired token401 / 403Problem type /problems/INVALID_TOKEN, EXPIRED_TOKEN or INSUFFICIENT_PRIVILEGES
PSS-V6-PAYM-08POST /payments with invalid debtorAccount → if 201, GET /status403 or 201 → 200If 403: rejected at submission. If 201: GET /status returns statusCode: RJCT
PSS-V6-PAYM-09GET /payments/{invalidSubmissionId}/status (e.g. SixTest_*)404Problem type /problems/RESOURCE_DOES_NOT_EXIST

Enhanced Validation - Account & Payment Services

How tests are organized

The Enhanced Validation verifies that payments submitted via PSS are processed correctly by the Service Provider and that the submitted attributes are returned as intended via the AIS endpoints.

Tests are grouped by submission format:

  • JSON Tests submit payments via POST /payments and retrieve them via GET /accounts/{accountId}/transactions (JSON response).
  • XML Tests submit payments via POST /iso20022/payments and retrieve them via GET /iso20022/statements/{reportId} (camt.053.001.08 response).

Each test uses the endToEndId from the corresponding PSS submission (e.g. JSON-DV1-001, XML-S01-001) to look up the transaction on the validation date and verifies that all submitted attributes appear correctly mapped in the AIS payload.

JSON Tests

Test IDTest ScenarioExpected StatusExpected Content
AIS/PSS-V6-JSON-001Lookup transaction with endToEndId=JSON-DV1-001 (Type D, SCOR, with postal address)200Submitted PSS attributes match returned AIS attributes per JSON mapping.
AIS/PSS-V6-JSON-002Lookup transaction with endToEndId=JSON-DV1-002 (Type D, QRR, with postal address)200Submitted PSS attributes match returned AIS attributes per JSON mapping.
AIS/PSS-V6-JSON-003+004Lookup transactions with endToEndId=JSON-DV1-003 and JSON-DV1-004 (bulk submission, mixed references)200Submitted PSS attributes match returned AIS attributes for both payments per JSON mapping.
AIS/PSS-V6-JSON-005Lookup transaction with endToEndId=JSON-S01-001 (Type S, SEPA EUR with currency exchange)200Submitted PSS attributes match returned AIS attributes per SEPA JSON mapping.
AIS/PSS-V6-JSON-006Lookup transaction with endToEndId=JSON-Max-001 (Type D, SCOR, maximum allowed field lengths)200Submitted PSS attributes match returned AIS attributes per JSON mapping.

Cross-Format Validation

Test IDTest ScenarioExpected StatusExpected Content
AIS/PSS-V6-MATCH-001Retrieve the same transaction via GET /accounts/{accountId}/transactions (JSON) and GET /iso20022/statements/{reportId} (camt.053 XML) using endToEndId=JSON-DV1-001, and compare common attribute values between both formats200Common attribute values are identical between the JSON and XML response for the same transaction

XML Tests

Test IDTest ScenarioExpected StatusExpected Content
AIS/PSS-V6-XML-001Lookup transaction with endToEndId=XML-DV1-001 (Type D, SCOR via Cd, no postal address)200Submitted PSS attributes match returned AIS camt.053 attributes per XML mapping.
AIS/PSS-V6-XML-002Lookup transaction with endToEndId=XML-DV1-002 (Type D, with postal address, Prtry reference code)200Submitted PSS attributes match returned AIS camt.053 attributes per XML mapping.
AIS/PSS-V6-XML-003+004Lookup transactions with endToEndId=XML-DV1-003 and XML-DV1-004 (bulk submission, mixed references)200Submitted PSS attributes match returned AIS camt.053 attributes for both payments per XML mapping.
AIS/PSS-V6-XML-005Lookup transaction with endToEndId=XML-S01-001 (Type S, SEPA EUR with currency exchange)200Submitted PSS attributes match returned AIS camt.053 attributes per SEPA XML mapping.