From 67a583c9a7db2be43753a52b4331104602aa67a6 Mon Sep 17 00:00:00 2001 From: Alessandro Digilio Date: Thu, 12 Mar 2026 12:01:52 +0100 Subject: [PATCH 1/5] =?UTF-8?q?docs(ais):=20=F0=9F=93=9D=20align=20balance?= =?UTF-8?q?=20schema=20with=20dynamic=20fields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openapi.json | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/openapi.json b/openapi.json index 84e5369..22d177d 100644 --- a/openapi.json +++ b/openapi.json @@ -2531,7 +2531,7 @@ ], "get": { "summary": "List account balances", - "description": "Returns the latest balances for the accounts granted by the consent. For one-off consents balances are reported as of authorization time; for recurring consents they reflect the retrieval time.", + "description": "Returns the latest balances for the accounts granted by the consent. Each item contains fixed metadata plus dynamic numeric fields keyed by normalized bank balance type. For one-off consents balances are reported as of authorization time; for recurring consents they reflect the retrieval time.", "operationId": "listAisConsentBalances", "tags": [ "AIS" @@ -4265,31 +4265,27 @@ "accountId": { "type": "string" }, - "asOf": { + "iban": { + "type": "string" + }, + "date": { "type": "string", "format": "date-time" }, - "current": { - "type": "number", - "format": "double" - }, - "available": { - "type": "number", - "format": "double" - }, - "creditLimit": { - "type": "number", - "format": "double" - }, "currency": { "type": "string", "description": "ISO 4217 currency code.", "example": "EUR" } }, + "additionalProperties": { + "type": "number", + "format": "double", + "description": "Balance amount keyed by normalized bank balance type (for example closingBooked or interimAvailable)." + }, "required": [ "accountId", - "asOf", + "date", "currency" ] }, @@ -4422,4 +4418,4 @@ } } } -} \ No newline at end of file +} From c0d2a42c4e8b8c6ecadca9df7ea173b62cb1b647 Mon Sep 17 00:00:00 2001 From: Alessandro Digilio Date: Thu, 12 Mar 2026 15:04:46 +0100 Subject: [PATCH 2/5] =?UTF-8?q?docs(ais):=20=F0=9F=93=9D=20remove=20accoun?= =?UTF-8?q?tId=20from=20AIS=20schemas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openapi.json | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/openapi.json b/openapi.json index 22d177d..c538139 100644 --- a/openapi.json +++ b/openapi.json @@ -2592,7 +2592,7 @@ "name": "accountId", "in": "query", "required": false, - "description": "Filter by account identifier when the consent covers multiple accounts.", + "description": "Legacy account filter. Pass the IBAN of the account to scope the transaction list.", "schema": { "type": "string" } @@ -4210,10 +4210,6 @@ "AisAccount": { "type": "object", "properties": { - "accountId": { - "type": "string", - "description": "Identifier of the account as provided by the ASPSP." - }, "iban": { "type": "string", "description": "IBAN when available." @@ -4229,7 +4225,6 @@ } }, "required": [ - "accountId", "currency" ] }, @@ -4262,9 +4257,6 @@ "AisBalance": { "type": "object", "properties": { - "accountId": { - "type": "string" - }, "iban": { "type": "string" }, @@ -4284,7 +4276,6 @@ "description": "Balance amount keyed by normalized bank balance type (for example closingBooked or interimAvailable)." }, "required": [ - "accountId", "date", "currency" ] @@ -4349,7 +4340,7 @@ "type": "string", "description": "Stable identifier of the transaction." }, - "accountId": { + "iban": { "type": "string" }, "bookingDate": { @@ -4380,7 +4371,6 @@ }, "required": [ "transactionId", - "accountId", "bookingDate", "amount", "currency" From e713803c1dc260d2789075e88f62c731c77b92a8 Mon Sep 17 00:00:00 2001 From: Alessandro Digilio Date: Thu, 12 Mar 2026 16:37:23 +0100 Subject: [PATCH 3/5] =?UTF-8?q?docs(ais):=20=F0=9F=93=9D=20document=20know?= =?UTF-8?q?n=20balance=20fields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openapi.json | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/openapi.json b/openapi.json index c538139..897ba02 100644 --- a/openapi.json +++ b/openapi.json @@ -4222,6 +4222,42 @@ "type": "string", "description": "ISO 4217 currency code.", "example": "EUR" + }, + "closingBooked": { + "type": "number", + "format": "double" + }, + "interimBooked": { + "type": "number", + "format": "double" + }, + "openingBooked": { + "type": "number", + "format": "double" + }, + "interimAvailable": { + "type": "number", + "format": "double" + }, + "forwardAvailable": { + "type": "number", + "format": "double" + }, + "creditLimit": { + "type": "number", + "format": "double" + }, + "expected": { + "type": "number", + "format": "double" + }, + "available": { + "type": "number", + "format": "double" + }, + "booked": { + "type": "number", + "format": "double" } }, "required": [ From 4e1ab499f98fb849d4c8960de0943c32f3df8a39 Mon Sep 17 00:00:00 2001 From: Alessandro Digilio Date: Thu, 12 Mar 2026 16:44:53 +0100 Subject: [PATCH 4/5] =?UTF-8?q?docs(ais):=20=F0=9F=93=9D=20add=20explicit?= =?UTF-8?q?=20balance=20examples?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openapi.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/openapi.json b/openapi.json index 897ba02..fc2f542 100644 --- a/openapi.json +++ b/openapi.json @@ -4292,6 +4292,7 @@ }, "AisBalance": { "type": "object", + "description": "AIS balance payload. Fixed metadata fields are always present; numeric balance fields depend on what the bank exposes and may vary by provider.", "properties": { "iban": { "type": "string" @@ -4304,6 +4305,18 @@ "type": "string", "description": "ISO 4217 currency code.", "example": "EUR" + }, + "closingBooked": { + "type": "number", + "format": "double" + }, + "interimAvailable": { + "type": "number", + "format": "double" + }, + "expected": { + "type": "number", + "format": "double" } }, "additionalProperties": { @@ -4311,6 +4324,14 @@ "format": "double", "description": "Balance amount keyed by normalized bank balance type (for example closingBooked or interimAvailable)." }, + "example": { + "iban": "IT60X0542811101000000123456", + "date": "2026-03-12T14:15:22Z", + "currency": "EUR", + "closingBooked": 5174.72, + "interimAvailable": 5200, + "expected": -262.01 + }, "required": [ "date", "currency" From 003c06ad7309daef37de23d1a07bbbf943a82911 Mon Sep 17 00:00:00 2001 From: Alessandro Digilio Date: Thu, 12 Mar 2026 17:09:02 +0100 Subject: [PATCH 5/5] =?UTF-8?q?docs(ais):=20=F0=9F=93=9D=20clarify=20iban?= =?UTF-8?q?=20requirement=20in=20schemas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openapi.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openapi.json b/openapi.json index fc2f542..cc9d802 100644 --- a/openapi.json +++ b/openapi.json @@ -4261,6 +4261,7 @@ } }, "required": [ + "iban", "currency" ] }, @@ -4333,6 +4334,7 @@ "expected": -262.01 }, "required": [ + "iban", "date", "currency" ] @@ -4428,6 +4430,7 @@ }, "required": [ "transactionId", + "iban", "bookingDate", "amount", "currency"