Payments Training Hub
Request: {
  "debtor_name": "Northgate Trading Ltd",
  "debtor_account": "GB29NWBK60161331926819",
  "debtor_agent_bic": "NWBKGB2L",
  "creditor_name": "Tanaka Trading Pte Ltd",
  "creditor_address": {
    "street": "1 Harbourfront Avenue",
    "town": "Singapore",
    "postcode": "098633",
    "country": "SG"
  },
  "creditor_account": {
    "bank_name": "DBS Bank Ltd, Singapore",
    "bank_code": "7171",
    "branch_code": "001",
    "account_number": "1234567",
    "note": "Singapore has no IBAN. Singapore accounts are identified by bank code + branch code + account number, not by IBAN."
  },
  "cre
Response: {
  "payment_id": "PAY-20261105-8841",
  "status": "ACCP",
  "status_description": "Accepted for processing: technical validation and customer profile checks passed. Settlement has not started.",
  "uetr": "4f8a2c1e-7b3d-4e9a-8c2f-1a5d6e7f8b90",
  "end_to_end_id": "INV-8841",
  "value_date": "2026-11-05",
  "created_at": "2026-11-05T09:12:00Z",
  "request_id": "REQ-20261105-0001",
  "estimated_charges": {
    "amount": 42.0,
    "currency": "USD",
    "breakdown": [
      {
        "description": "First correspondent charge",
        "amount": 20.0
      },
      {
        "description": "Seco

Creates a new customer credit transfer instruction. The caller supplies debtor, creditor, amount, currency and value date, and the API returns a payment identification that can be used to track the payment. The response

0:00 / 2:02 Step 1 of 6

From Files and SWIFT to Real Time APIs

API Banking and Open Banking, Lesson 1 of 9, Narration 2:02, D10 APIs and integration

SWIFTAPI

What you will learn

Your objective. By the end of this lesson, you will be able to explain from files and SWIFT to real time APIs. For most of banking history, payments moved through files and messages that were exchanged in batches.

Why it matters. For a business analyst, the API shift changes the nature of the work.

Chapter objective: Learner explains API banking and open banking, including consent, authentication, and third-party access, and writes API requirements for a payment initiation use case. Learner demonstrates this skill using realistic banking examples, explaining each step clearly and using correct terminology throughout.

Key learning points

  • Payments moved through files and messages
  • Worked when payments
  • Application programming interface
  • Request: usually in JSON format
  • Instead of writing requirements for screens
  • Chapter covers each of those

Key terms

SWIFT: The Society for Worldwide Interbank Financial Telecommunication, a member owned cooperative that provides secure messaging services for financial institutions.

API: Application programming interface, a set of rules that lets one software system call another system to request data or trigger an action.

API request and response viewer showing From Files and SWIFT to Real Time APIs.

Practise this lesson

Exercise

Write the request and the expected response for the API call described in this lesson.

Use the API resources, operations and fields named in this lesson.

  1. What to do. Write the JSON request with the required fields, the success response, and one error response with its error code.

Correct result. A correct request has all mandatory fields, a valid idempotency key, and the right resource and operation. The success response confirms acceptance, and the error response names the field or rule that failed.

Why. An API contract is a promise between two systems. If the request is wrong, the API must reject it cleanly, not fail silently.

Check your understanding

Practice question

In open banking, how does a third party provider access a customer account with consent?

Takeaway and next step

What to remember

This is what makes embedded finance possible, where a payment happens inside a non banking app, such as an e commerce checkout or a ride hailing app, and the customer never sees the bank at all.

Call the API described in this lesson with a valid request, then with a missing field, and compare the responses.

Open the API Playground →

Builds on "System design deep dive: building a payment hub".

Transcript and full text

Show transcript

For most of banking history, payments moved through files and messages that were exchanged in batches. A corporate customer would send a file of payments at the end of the day, the bank would process it overnight, and the customer would get a report the next morning. SWIFT messages moved between banks in a similar store and forward way, reliable but not instant. This worked when payments were planned in advance, but it fits poorly with a world where a customer expects to pay from a phone and see the result immediately, and where a business wants to pay a supplier from inside its own accounting software without logging into a bank portal. The shift to APIs is the banking industry's answer to that expectation. An application programming interface, or API, is a defined way for one software system to ask another system to do something, and to get a structured answer back. In payments, an API lets a corporate treasury system ask a bank to initiate a payment, check an account balance, or get the status of a payment, without any human involvement and without a file transfer. The request and the response are usually in JSON format, sent over HTTPS, and the whole round trip takes seconds. This is what makes embedded finance possible, where a payment happens inside a non banking app, such as an e commerce checkout or a ride hailing app, and the customer never sees the bank at all. For a business analyst, the API shift changes the nature of the work. Instead of writing requirements for screens and files, the BA writes requirements for API resources, operations, request and response fields, error codes and status transitions. The BA must think about the developer who will consume the API, because a badly designed API is hard to use and produces support calls and integration errors. Good API requirements cover the happy path, the error paths, the limits, the security model and the test environment, because a corporate developer needs all of those to build a reliable integration. This chapter covers each of those areas in turn. A worked example shows the shift from files to APIs. A corporate customer pays 500 suppliers every Friday. In the file world, the treasury system generates a pain.001 file with 500 payment instructions, uploads it to the bank portal, and waits for the bank to process it overnight. The customer learns the result the next morning, when the bank returns a pain.002 status report. If one payment in the file is wrong, the whole file may be rejected, or the one payment may be rejected and the other 499 processed, and the customer must read the pain.002 to find out which. In the API world, the treasury system calls the bank API once per payment, receives an immediate response for each, and knows within seconds whether each payment was accepted. If one payment is wrong, only that one is rejected, and the response says why. The API is faster, more precise, and easier to reconcile, which is why corporate customers are moving to it. For a business analyst, the requirement is to define the migration path: which customers move first, how the file and API channels coexist during the transition, and when the file channel is retired. A failure scenario tests the coexistence. During the transition, a corporate customer sends the same 500 payments by file and by API, because its treasury system was misconfigured to use both channels. The bank receives 1,000 payment instructions for 500 payments. The hub must detect the duplicates: it matches the file instructions and the API instructions by end to end identification, finds that 500 are duplicates, and rejects the second copy of each with a clear reason. If the hub does not detect the duplicates, the suppliers are paid twice, and the customer must recover the duplicate payments. The defence is the end to end identification: every payment instruction, whether by file or by API, must carry a unique end to end identifier, and the hub must check it before processing. Last reviewed 7 November 2026. Further reading: ISO 20022 pain.001 and pain.002 message definitions; Berlin Group NextGenPSD2 API framework. Take a corporate treasurer who pays 500 suppliers every Friday. In the old world, the treasurer exports a file from the accounting system, uploads it to the bank portal, waits for the bank to process it overnight, and downloads a report on Monday. In the API world, the accounting system calls the bank's payment initiation API 500 times, each call returns a payment reference and a status within seconds, and the treasurer sees the results in the accounting system the same day. The difference is not just speed, it is that the payment is now part of the treasurer's own workflow, not a separate task in a separate system. That is why corporates adopt APIs, and why banks that offer only files lose corporate business. When an API is down, the corporate cannot pay, and the failure is visible immediately. Suppose the bank's API gateway returns errors for 20 minutes on a Friday afternoon, and 200 payment requests fail. The corporate system must know which payments were created and which were not, so it retries only the failed ones, using idempotency keys to avoid duplicates. The bank must publish a status page, notify affected clients, and provide a fallback, usually a file upload, for urgent payments. A BA should write the outage requirement as a service level: the API must be available 99.9 percent of the time, must respond within 2 seconds for 95 percent of calls, and must tell the client within 5 minutes when it is degraded. API requirements are different from screen requirements, and the BA must write them differently. Instead of screens and fields, the BA writes resources, operations, request and response bodies, error codes and status transitions. Each endpoint needs a purpose, a version, an authentication method, a rate limit, and a test environment. The BA should also define the developer journey: how a corporate signs up, gets credentials, tests in the sandbox, and goes live. A bank that makes onboarding hard will have an API nobody uses, however good the technology is.

For most of banking history, payments moved through files and messages that were exchanged in batches. A corporate customer would send a file of payments at the end of the day, the bank would process it overnight, and the customer would get a report the next morning. SWIFT messages moved between banks in a similar store and forward way, reliable but not instant. This worked when payments were planned in advance, but it fits poorly with a world where a customer expects to pay from a phone and see the result immediately, and where a business wants to pay a supplier from inside its own accounting software without logging into a bank portal. The shift to APIs is the banking industry's answer to that expectation.

An application programming interface, or API, is a defined way for one software system to ask another system to do something, and to get a structured answer back. In payments, an API lets a corporate treasury system ask a bank to initiate a payment, check an account balance, or get the status of a payment, without any human involvement and without a file transfer. The request and the response are usually in JSON format, sent over HTTPS, and the whole round trip takes seconds. This is what makes embedded finance possible, where a payment happens inside a non banking app, such as an e commerce checkout or a ride hailing app, and the customer never sees the bank at all.

For a business analyst, the API shift changes the nature of the work. Instead of writing requirements for screens and files, the BA writes requirements for API resources, operations, request and response fields, error codes and status transitions. The BA must think about the developer who will consume the API, because a badly designed API is hard to use and produces support calls and integration errors. Good API requirements cover the happy path, the error paths, the limits, the security model and the test environment, because a corporate developer needs all of those to build a reliable integration. This chapter covers each of those areas in turn.

A worked example shows the shift from files to APIs. A corporate customer pays 500 suppliers every Friday. In the file world, the treasury system generates a pain.001 file with 500 payment instructions, uploads it to the bank portal, and waits for the bank to process it overnight. The customer learns the result the next morning, when the bank returns a pain.002 status report. If one payment in the file is wrong, the whole file may be rejected, or the one payment may be rejected and the other 499 processed, and the customer must read the pain.002 to find out which. In the API world, the treasury system calls the bank API once per payment, receives an immediate response for each, and knows within seconds whether each payment was accepted. If one payment is wrong, only that one is rejected, and the response says why. The API is faster, more precise, and easier to reconcile, which is why corporate customers are moving to it. For a business analyst, the requirement is to define the migration path: which customers move first, how the file and API channels coexist during the transition, and when the file channel is retired.

A failure scenario tests the coexistence. During the transition, a corporate customer sends the same 500 payments by file and by API, because its treasury system was misconfigured to use both channels. The bank receives 1,000 payment instructions for 500 payments. The hub must detect the duplicates: it matches the file instructions and the API instructions by end to end identification, finds that 500 are duplicates, and rejects the second copy of each with a clear reason. If the hub does not detect the duplicates, the suppliers are paid twice, and the customer must recover the duplicate payments. The defence is the end to end identification: every payment instruction, whether by file or by API, must carry a unique end to end identifier, and the hub must check it before processing. Last reviewed 7 November 2026. Further reading: ISO 20022 pain.001 and pain.002 message definitions; Berlin Group NextGenPSD2 API framework.

Take a corporate treasurer who pays 500 suppliers every Friday. In the old world, the treasurer exports a file from the accounting system, uploads it to the bank portal, waits for the bank to process it overnight, and downloads a report on Monday. In the API world, the accounting system calls the bank's payment initiation API 500 times, each call returns a payment reference and a status within seconds, and the treasurer sees the results in the accounting system the same day. The difference is not just speed, it is that the payment is now part of the treasurer's own workflow, not a separate task in a separate system. That is why corporates adopt APIs, and why banks that offer only files lose corporate business.

When an API is down, the corporate cannot pay, and the failure is visible immediately. Suppose the bank's API gateway returns errors for 20 minutes on a Friday afternoon, and 200 payment requests fail. The corporate system must know which payments were created and which were not, so it retries only the failed ones, using idempotency keys to avoid duplicates. The bank must publish a status page, notify affected clients, and provide a fallback, usually a file upload, for urgent payments. A BA should write the outage requirement as a service level: the API must be available 99.9 percent of the time, must respond within 2 seconds for 95 percent of calls, and must tell the client within 5 minutes when it is degraded.

API requirements are different from screen requirements, and the BA must write them differently. Instead of screens and fields, the BA writes resources, operations, request and response bodies, error codes and status transitions. Each endpoint needs a purpose, a version, an authentication method, a rate limit, and a test environment. The BA should also define the developer journey: how a corporate signs up, gets credentials, tests in the sandbox, and goes live. A bank that makes onboarding hard will have an API nobody uses, however good the technology is.

Full lesson text (all scenes)

Completing a lesson updates your progress dashboard on the homepage.

Scene timestamps are estimated by allocating the narration text proportionally across the real audio length. The audio playback position is the source of truth: pause freezes the visual, seeking restores the correct scene, replay restarts the scene animation.