Key points of this lesson, in order.
API Analysis and Interface Specifications
What you will learn
Your objective. By the end of this lesson, you will be able to explain API analysis and interface specifications. An application programming interface, or API, is how one system asks another system to do something, and in payments the most common API is the payment initiation API, which lets a channel such as internet banking ask.
Why it matters. The interface specification is the contract between the two systems, and the business analyst reads it to confirm that it covers every field, every validation and every error the business needs.
Chapter objective: Learner applies business analysis techniques to a payments project, writing requirements, user stories, acceptance criteria, and a traceability matrix for a real payment feature. Learner applies this skill in realistic banking scenarios, with clear examples and correct terminology throughout.
Key learning points
- Application programming interface
- Request: message calling system sends
- Response: message API sends back
- Error codes
- Overlooked specification parts
- Practical check the analyst performs
Key terms
Purpose code: A code that states the commercial reason for a payment, such as supplier payment, salary or goods. Purpose codes are taken from an ISO external code list and support regulatory reporting, screening...
Payment hub: A central system in a bank that receives payment instructions from all channels, validates them, applies screening and routing rules, and sends them to the correct clearing system or correspondent.
Idempotency: The property that repeating the same request has the same effect as sending it once. In payments, an idempotency key lets a client safely retry a request after a timeout without creating a duplicate...
Clearing and settlement timeline showing API Analysis and Interface Specifications.
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.
- 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
A stakeholder changes a requirement halfway through the build: the payment must now support a new currency. What should the BA do first?
Takeaway and next step
What to remember
Any field that is transformed, truncated or dropped along the way is flagged as a defect in the interface document before development starts.
Call the API described in this lesson with a valid request, then with a missing field, and compare the responses.
Builds on "Writing Jira User Stories for Payments".
Transcript and full text
Show transcript
An application programming interface, or API, is how one system asks another system to do something, and in payments the most common API is the payment initiation API, which lets a channel such as internet banking ask the payment hub to send a payment. The interface specification is the contract between the two systems, and the business analyst reads it to confirm that it covers every field, every validation and every error the business needs. A specification that looks complete to a developer can still be missing a business rule, and that gap is the analyst's job to find. The request is the message the calling system sends, and the analyst checks each field in it. A payment initiation request typically carries a debtor account number, a creditor name, a creditor account number or IBAN, an amount, a currency, a value date, a remittance reference, and an end-to-end identification that tracks the payment through the whole chain. The analyst checks that every mandatory business field has a matching request field, that the field lengths match the downstream message format, and that optional fields such as the purpose code are present where compliance requires them. The response is the message the API sends back, and it must tell the caller exactly what happened. A successful response returns a payment status such as Accepted, a unique payment identification, and the time the payment was accepted. A rejected response returns an error code and a human readable message. The analyst checks that the response covers all the states the business needs, including Accepted, Rejected, Pending and Queued, because a channel that cannot tell a customer why a payment is pending will generate calls to the contact centre. Error codes are where interface specifications most often fall short. A good specification defines a code for each failure. For example, 4001 for an invalid account number, 4002 for an amount above the permitted limit, 4003 for a missing mandatory field, and 5001 for a downstream system timeout. Each code needs a description, the condition that triggers it, and the action the caller should take, such as asking the customer to correct the input or retrying later. The analyst also checks that errors are returned in a consistent format, so the channel can display them reliably. The analyst also checks the non-functional parts of the specification, which are easy to overlook. These include the maximum number of requests per second the API will accept, the timeout after which the caller should treat the request as failed, the authentication method, and whether the API is idempotent, meaning that sending the same request twice does not create two payments. Idempotency is critical in payments. If a customer clicks submit twice, or a network retry resends the request, the system must recognise the duplicate and return the original result instead of debiting the account twice. A practical check the analyst performs is a field-by-field trace from the channel to the final payment message. Take a payment of 75,000 rupees from a savings account to a supplier's account. The analyst follows the debtor account from the API request, through the payment hub, into the core banking debit, and out to the clearing message, confirming that the account number, amount and currency are carried correctly at every step. Any field that is transformed, truncated or dropped along the way is flagged as a defect in the interface document before development starts.
An application programming interface, or API, is how one system asks another system to do something, and in payments the most common API is the payment initiation API, which lets a channel such as internet banking ask the payment hub to send a payment. The interface specification is the contract between the two systems, and the business analyst reads it to confirm that it covers every field, every validation and every error the business needs. A specification that looks complete to a developer can still be missing a business rule, and that gap is the analyst's job to find.
The request is the message the calling system sends, and the analyst checks each field in it. A payment initiation request typically carries a debtor account number, a creditor name, a creditor account number or IBAN, an amount, a currency, a value date, a remittance reference, and an end-to-end identification that tracks the payment through the whole chain. The analyst checks that every mandatory business field has a matching request field, that the field lengths match the downstream message format, and that optional fields such as the purpose code are present where compliance requires them.
The response is the message the API sends back, and it must tell the caller exactly what happened. A successful response returns a payment status such as Accepted, a unique payment identification, and the time the payment was accepted. A rejected response returns an error code and a human readable message. The analyst checks that the response covers all the states the business needs, including Accepted, Rejected, Pending and Queued, because a channel that cannot tell a customer why a payment is pending will generate calls to the contact centre.
Error codes are where interface specifications most often fall short. A good specification defines a code for each failure. For example, 4001 for an invalid account number, 4002 for an amount above the permitted limit, 4003 for a missing mandatory field, and 5001 for a downstream system timeout. Each code needs a description, the condition that triggers it, and the action the caller should take, such as asking the customer to correct the input or retrying later. The analyst also checks that errors are returned in a consistent format, so the channel can display them reliably.
The analyst also checks the non-functional parts of the specification, which are easy to overlook. These include the maximum number of requests per second the API will accept, the timeout after which the caller should treat the request as failed, the authentication method, and whether the API is idempotent, meaning that sending the same request twice does not create two payments. Idempotency is critical in payments. If a customer clicks submit twice, or a network retry resends the request, the system must recognise the duplicate and return the original result instead of debiting the account twice.
A practical check the analyst performs is a field-by-field trace from the channel to the final payment message. Take a payment of 75,000 rupees from a savings account to a supplier's account. The analyst follows the debtor account from the API request, through the payment hub, into the core banking debit, and out to the clearing message, confirming that the account number, amount and currency are carried correctly at every step. Any field that is transformed, truncated or dropped along the way is flagged as a defect in the interface document before development starts.
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.