hardDesignCase StudyMidSeniorStaffLead
Design the account-information API a third party will call on behalf of your customers. Where does consent live, and what does it constrain?
6 min readUpdated 2026-08-15
Answer
Short answer
Consent is a first-class server-side resource with an account set, a permission set and an expiry, revocable from either side, and every data read is authorised against it rather than against a token's scope; authentication stays at the bank, and adoption is won on stable error semantics.
Open banking APIs should make customer access visible to operations as well as developers. Open banking failures need customer-safe status and recovery paths.
Was this answer helpful?
Likely follow-ups
- The customer revokes consent while a batch job of yours is halfway through a data pull. What does the third party see?
- How do you distinguish a customer-initiated refresh from unattended background polling, and why does the difference matter?
- What do you return when one of five consented accounts has since been closed?
- How would you version this API so a change that adds a field cannot break an existing integration?
Related questions
- Two clients open the same record, both edit it, and the second save silently overwrites the first. How would you use ETags to turn that lost update into something the client can see and handle?mediumAlso on api-design4 min
- A third party initiates a payment from your customer's account and the money does not arrive. Design the flow so it is clear what the third party was told and who answers to the customer.hardAlso on strong-customer-authentication6 min
- The same domain has to be exposed to a mobile app, a partner integration and internal service-to-service traffic. Where does GraphQL fit, where does gRPC, and where does neither?hardAlso on api-design7 min
- How do you design the error contract for an API that other teams have to program against?hardAlso on api-design6 min